Way too long, and unhelpful, error message
GHC is repeating this nice ~140 line mdo-expression, twice, leading to annoying scrolling:
The error message
Frisby.hs:142:5: Couldn't match expected type `[Char]' with actual type `()' Expected type: P s0 [Char] Actual type: P s0 ()
could also be more helpful, it appears to always point to the last binding statement of the block.
NB: The code is probably *very* incorrect, I just hand-translated it from another grammar format and was hunting down errors when coming across this one.