Dear Cafe,

MonadFail.fail takes String.
I wasn't able to find MonadFail for custom error type.
Is there any proposals to base?

Let's say Data.Text, which gains popularity with OverloadedStrings extensions.

class MonadFail m where
  fail :: String -> m a

Why not ?
class MonadFail m where
  fail :: (forall s. IsString s => s) -> m a

class MonadFailWith m s where
  fail :: s -> m a







--

Best regards,
Daniil Iaitskov