Parsers are what now?! Even to a Haskeller —proficient in the magics of functors and monads— the term of relative monads might be foreign; let's thus motivate their existence. Recently I've been thinking about how parsing expression grammar specifies very little about how syntax errors are to be reported or aggregated. Declaration ← Function / Struct / Module Function ← "fn" Name "(" ... Struct ←