Parsing in Clojure via a Backtracking State Monad | Hacker News Reader