> REPL-oriented development usually requires tons of from-scratch restarts.

I heard that. I've read Clojure developers keeping the same REPL running for days and avoiding this problem, but I'd always be worried about the state of the global namespace not being what I thought it was. And this is especially true during development / exploration.

The only time I need to restart is when I load new libraries but you can use https://github.com/clj-commons/pomegranate