A quick dive in the "restore" code path led me to: - commit a small refactoring (r1898847 on trunk) to deduplicate the code, which should be useful if we need to do anything like adding callbacks to it; - observe that if we disable "restore", 10 tests fail (4 update tests and 6 others).
It may be that the effort of adjusting test expectations and other fall-outs (like documentation updates) might not be smaller than the effort of implementing the callback. I will leave off looking further at the "restore" for now, and do some further investigation in the main update code path. - Julian