Algorithms in Clojure