Solving sicp exercises in clojure.