Set the checkpoint size before calling the checkpoint update function,
doesn't change anything but simplifies the code path.
Add some diagnostic code to confirm the checkpoint array looks like we
expect it to look.
Add another case, it's possible to delete fake checkpoints.