Working towards a Clojure implementation.