Allows the forward to be rerun if needed. Returning an `Enum` member indicating the checkpointing schedule status (forward, reverse, and exhausted) would cover this case.