Fix orphan instances of MonadErrors & misc

The current setup is a bit odd and unexplained, just having the instances
together makes more sense.

Cabal test still works even though I moved the instance.