First working version. Still untyped clojure