Give up on trying to define formal rules for #596 and just try detect
the undecidability by attempting to canonicalize the intersection of all
supertypes.