Fixes a number of problems with Clojure semantics and syntax and fills in some missing functionality