[Haskell-cafe] Parsec-like parser combinator that handles left recursion?