Some Clojure solutions to 'Structure and Interpretation of Computer Programs'