A monad transformer and class that allows recording
the results of monadic actions and replay them later.
Inspired by the logging implementation in the transient
package by Alberto G. Corona. Related packages:
https://hackage.haskell.org/package/transient
https://hackage.haskell.org/package/Workflow