Elegant parsing in Clojure