sicp exercise in clojure