great new examples showing how to use monad transformers to build a parser library supporting errors, state, and backtracking