Is this a sensible monad for mutable state in Clojure?
I've been experimenting with monads in Clojure and came up with the following code, where a monadic value/state pair is represented by a mutable Clojure deftype object. Since the object is mutable, an advantage would seem to be that you can write monadic code without needing to construct new result objects all the time. However, I'm pr...