Solve 4clojure #120, albeit in a verbose way