C++ implementations of Clojure's persistent data structures