there is sufficient to have only one "post-action" checkpoint.
typical usage will be like

1. task created
2. checkpoint
3. some business-logic
4. some io
5. checkpoint
6. some business logic
7. some sleep with checkpoint
8. some business logic
9. some more io
10. checkpoint
etc.


with pre- and post- checkpints there will be

1. task created
2. checkpoint
3. some business-logic
4. checkpoint <-- *this checkpoint is superfluous as we can resume from checkpoint at line 2 with no difference*
5. some io
6. checkpoint
7. some business logic
8. some sleep with checkpoint
9. some business logic
10. checkpoint <-- *this checkpoint is superfluous too as we can resume from checkpoint at line 8 with no difference*
11. some more io
12. checkpoint