Structure and Interpretation of Computer Programs (SICP) solutions in Clojure