Use Control.Monad.Except if mtl >= 2.2.1