So I decided to use Clojure, Graalvm, and the official nrepl client library. Graal is choking on the the use of locking
here: https://github.com/nrepl/nrepl/blob/master/src/clojure/nrepl/transport.clj#L102
This seems to be an issue with how Clojure generates bytecode, and I'm going to poke that issue, but I was wondering about serializing access with an agent. Is that good, bad, terrible idea?