Clojure solutions to exercises from the book Structure and Interpretation of Computer Program