Error.Is dereferenced after the type assertion without
checking for nil, so errors.Is(err, (*Error)(nil)) panicked.
A typed-nil target now simply doesn't match.
Note: Calling errors.Is with a nil *Error target is
unusual and is usually a mistake by the caller. So I'm
pitching this purely a small, hardening fix. 👍