MonadError, the errorful Monad transformer
Utilities for working simply with mainly IO-threaded programs.
There's a test failure here due to the prelude change (I should do something about the line number display there, it is fairly useless.)
Still, I'm not sure this should be in base - it's probably better in contrib for now, because I would rather not encourage monad transformers for this sort of thing. Of course people might want to do things that way, which is fine, and it's understandable if people want to do things in a way which is familiar from Haskell, but I'm shortly going to add an error+state+IO type which I've been finding works quite nicely.
(I know we have State and Trans in base too. Should we?)