SE-0192 — Non-Exhaustive Enums

I disagree; in general you should attempt to propagate the failure up. The Swift error model considers Errors to be non-fatal. You don't necessarily have to react to them at all (you could have an empty catch block, and try? doesn't even tell you which error occurred).

If CloudKit encountered an unrecoverable logic error, it should be calling preconditionFailure. In general it isn't necessary for your App to die every time the user enters a tunnel and loses their network connection.

But these are the kind of case-by-case decisions that people are going to have to decide for themselves.