Control.Monad.Error
data ErrorT e m a

Example 1: Custom Error Data Type

Example 2: Using ErrorT Monad Transformer