Added comments. Clojure version still not working because a class cast exception :(