finally package:exception-transformers

Run a computation and always perform a second, final computation even if an exception is raised. If a short-circuiting monad transformer such as ErrorT or MaybeT is used to transform a MonadException monad, then the implementation of finally for the transformed monad must guarantee that the final action is also always performed when any short-circuiting occurs.