ExceptT package:essence-of-live-coding

A monad transformer that adds exceptions to other monads. ExceptT constructs a monad parameterized over two things:
  • e - The exception type.
  • m - The inner monad.
The return function yields a computation that produces the given value, while >>= sequences two subcomputations, exiting on the first exception.
Map the unwrapped computation using the given function.
The inverse of ExceptT.
Transform any exceptions thrown by the computation using the given function.