"Restore" isn't involved in our use cases. The only reason I mentioned the "restore" functionality in the first place is because my proof-of-concept patch deliberately leaves that broken because it's non-core functionality, that also will need modifying to make it work in the new way if we proceed that way. I don't expect it to be particularly difficult to fix; no more difficult than modifying the main update functionality. I wish I hadn't mentioned the possibility that we might choose to ignore this minor sub feature, it's just distracting us from discussing the main functionality.
Understanding the current issue about pristines and updates can be achieved while completely ignoring "restore". - Julian