Haskell-style lazy parser combinators
