{-# LANGUAGE DataKinds #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE MultiParamTypeClasses #-} module Control.Monad.Trans.Error.Class (MonadTransError (..)) where import Control.Monad.Raise.Class import Control.Monad.Trans.Class import Data.Kind import Data.WorldPeace class MonadTrans (t sourceErrs) => MonadTransError t (sourceErrs :: [Type]) m where onRaise :: (OpenUnion (Errors (t sourceErrs m)) -> t targetErrs m a) -> t sourceErrs m a -> t targetErrs m a