{-# LANGUAGE FlexibleInstances      #-}
{-# LANGUAGE FunctionalDependencies #-}
module HaskellCI.MonadErr where

import HaskellCI.Prelude

-- | 'MonadErr' is 'MonadError' without @catch@
class Monad m => MonadErr e m | m -> e where
    throwErr :: e -> m a

instance MonadErr e (Either e) where
    throwErr :: e -> Either e a
throwErr = e -> Either e a
forall e a. e -> Either e a
Left