…to override it.
The primary goal here is to make the client actually exit when the nREPL server is in a separate process, which was broken. This is also significantly safer, especially for scenarios where you have a remote nREPL server that you *don't* actually want to kill when you're just trying to bail out of your REPL session. It seems counter-intuitive to have (exit) on the client kill the server. We also now allow paren-less exit and quit - perhaps a bit magical, but this will be nice for noobs. The tradeoff is that this makes exit & quit pretty static. Redefining them is still possible, but calling (exit) or (quit) will quit, regardless of any new definitions on the execution side. That's less than ideal, but I prefer that to the existing behavior.