Control.Monad.Trans.Fix
data
FixT
m a
data
Progress
fixpoint
once
fixOfMaybe
progress