Problem 32 replaced direct recursion with Clojure's recur