Summary of exported operations:

 ```mapExceptT :: (a (Either b c) -> d (Either e f)) -> ExceptT b a c -> ExceptT e d f``` ```withExceptT :: Monad a => (b -> c) -> ExceptT b a d -> ExceptT c a d``` ```except :: Monad a => Either b c -> ExceptT b a c``` ```runExcept :: ExceptT a Identity b -> Either a b``` ```mapExcept :: (Either a b -> Either c d) -> ExceptT a Identity b -> ExceptT c Identity d``` ```withExcept :: (a -> b) -> ExceptT a Identity c -> ExceptT b Identity c``` ```throwE :: Monad a => b -> ExceptT b a c``` ```catchE :: Monad a => ExceptT b a c -> (b -> ExceptT d a c) -> ExceptT d a c```

Exported datatypes:

`newtype` ExceptT

Constructor:

• ```ExceptT :: (b (Either a c)) -> ExceptT a b c```

Fields:

• ```runExceptT :: (b (Either a c))```

Except

Type synonym: `Except a = ExceptT a Identity`

Exported operations:

 ```mapExceptT :: (a (Either b c) -> d (Either e f)) -> ExceptT b a c -> ExceptT e d f```
 ```withExceptT :: Monad a => (b -> c) -> ExceptT b a d -> ExceptT c a d```
 ```except :: Monad a => Either b c -> ExceptT b a c```
 ```runExcept :: ExceptT a Identity b -> Either a b```    Further infos: solution complete, i.e., able to compute all solutions
 ```mapExcept :: (Either a b -> Either c d) -> ExceptT a Identity b -> ExceptT c Identity d```
 ```withExcept :: (a -> b) -> ExceptT a Identity c -> ExceptT b Identity c```
 ```throwE :: Monad a => b -> ExceptT b a c```
 ```catchE :: Monad a => ExceptT b a c -> (b -> ExceptT d a c) -> ExceptT d a c```