This is a very nice insight on how things might evolve in the current nRepl world: https://github.com/thheller/shadow-cljs/issues/6
So they are going down the modal|switching route
ouch: > You theoretically could use an “official” Clojure protocol library as an interface rather than a set of nREPL messages, but I think this stuff is still murky enough that there will be significant churn unless someone implements all the editors needs in one big very attractive library.