Sure:
newtype IOMayfail a = IOMayfail {runIOMayfail :: MaybeT IO a}
instance Monad IOMayfail where
return = IOMayfail . return
IOMayfail m >>= f = IOMayfail $ m >>= runIOMayfail . f
fail = whatever you like
Matthias Görgens wrote on 25.06.2009 17:28:
> Thanks. Can I add something like fail?