Hal Daume III writes: | The docs claim this instance exists, but it doesn't seem to. | Moreoever, such an instance doesn't make sense to me. The following is from Control.Monad.Error. instance MonadPlus IO where mzero = ioError (userError "mzero") m `mplus` n = m `catch` \_ -> n HTH. Tom