module Control.Monad.Failure.Class where class Monad m => MonadFailure f m where { fail :: f -> m a; }; class MonadFailure f m => MonadSalvage f m where { save :: (f -> m a) -> m a -> m a; };