Instead of constructing the magic intersection type, compare sets of upper bounds instead as javac does, modulo the substitution
Instead of constructing the magic intersection type, compare sets of upper bounds instead as javac does, modulo the substitution