[Haskell] Monadic parser combinators with logging