Of course, one can run Common Lisp on the JVM and one can integrate CL with the JVM; one can add immutable persistent data structures to CL (but all the mutable stuff would still be available under the covers). I imagine that it&#x27;d be easier to add that stuff to CL than it would be to create a new language from scratch.<p>I honestly don&#x27;t know how hard it would be to add software transactional memory and asynchronous agents to CL. I don&#x27;t think it would be bad, but perhaps the end result would be so unlike CL that it wouldn&#x27;t be pleasant to work in.