Clojure implementation.