/// It is not possible to distinguish between these cases in the v3 data format.
case HMACMismatch = 1
/// Unrecognized data format. Usually this means the data is corrupt.
case UnknownHeader = 2
/// `final()` was called before sufficient data was passed to `updateWithData()`
case MessageTooShort
/// Memory allocation failure. This should never happen.
case MemoryFailure
/// A password-based decryptor was used on a key-based ciphertext, or vice-versa.
case InvalidCredentialType
These error codes should be in the documentation: