snow provides decently detailed errors, exposed as the Error enum,
to allow developers to react to errors in a more actionable way.
With that said, security vulnerabilities can be introduced by passing
along detailed failure information to an attacker. While an effort was
made to not make any particularly foolish choices in this regard, we strongly
recommend you don’t dump the Debug output to a user, for example.
This enum is intentionally non-exhasutive to allow new error types to be
introduced without causing a breaking API change.
snow may eventually add a feature flag and enum variant to only return
an “unspecified” error for those who would prefer safety over observability.
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.