Checkpoint; trying to be too clever in avoiding interim variables