clojure rrecursions draft