Predicate type for TypedError.is with codes, computed from the
argument's type E rather than the class's wide instance type I.
Same-class union members keep their own (narrow) instantiation, which is
what lets the false branch of is subtract a matched member from a
distributed union — like === narrowing on a discriminant — instead of
comparing every member against the wide class type and removing nothing.
Falls back to the class-based AtCode for unknown and other
non-member inputs; members of other TypedError classes never match.
Predicate type for TypedError.is with codes, computed from the argument's type
Erather than the class's wide instance typeI. Same-class union members keep their own (narrow) instantiation, which is what lets the false branch ofissubtract a matched member from a distributed union — like===narrowing on a discriminant — instead of comparing every member against the wide class type and removing nothing. Falls back to the class-based AtCode forunknownand other non-member inputs; members of otherTypedErrorclasses never match.