Hrm, with that formulation couldn't we have a checkpoint but not an in-memory one? Shouldn't we fall back to on-disk in that case?