I have such an implementation and would be happy to contribute it. It doesn't have the same API as anything else, but that should be easy to fix. I haven't optimized it, but its algorithmic complexity should be fine. It also supports copy-on-write mutation like Clojure's. There's also an analogous sets implementation.