The ContinueT monad transformer allows multi-suspension and reentry at multiple points.