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.