Systems may fail during startup, which can leave you in a state where a port is in use, but you have no handle to that partially-started system in order to close it.
While I have experienced this so I know what you're refering to, I've come to believe that this only happens in hand-rolled setups which don't properly exclude the "system" var from the refresh paths.
For example a Component system should live here, not in user.clj.
Perhaps this observation can help refine that passage of the README.
https://github.com/juxt/clip/tree/v0.23.0#system-as-data says:
While I have experienced this so I know what you're refering to, I've come to believe that this only happens in hand-rolled setups which don't properly exclude the "system" var from the refresh paths.
For example a Component system should live here, not in user.clj.
Perhaps this observation can help refine that passage of the README.
Cheers - V