title: When is recordZoneWithIDWasPurgedBlock and recordZoneWithIDWasDeletedBlock called?
body: <p><code>CKFetchDatabaseChangesOperation</code> has <code>recordZoneWithIDWasPurgedBlock</code> and <code>recordZoneWithIDWasDeletedBlock</code> blocks. My assumption is that when the user deletes all iCloud data associated to an app the purge block is called, and when I manually delete a zone then the delete block is called.</p>
  
  <p>However in my experience of a few weeks with CloudKit neither have ever been called, I have tried many methods to trigger either block but it never happens. Instead these scenarios seem to be handled through errors in the <code>CKFetchRecordZoneChangesOperation</code> I later make. I get a <code>CKError.Code.changeTokenExpired</code> if the zone has been deleted and a <code>CKError.Code.userDeletedZone</code> if the user deletes iCloud data themselves.</p>
  
  <p>Handling these scenarios through errors is fine and manageable for me but leaves me wondering when are these blocks ever called? Should I be handling them the same way I handle the errors for deleted/purged zones?</p>