But suppose you also have a conformance constraint, and you know that $T0 must conform to some protocol, say BinaryInteger:
Int conv $T0
$T0 conforms BinaryInteger
Well, existential types cannot conform to protocols in Swift, so we can rule out the possibility that $T0 is existential. It might still be Optional<Int> or AnyHashable, perhaps, but those don't conform to BinaryInteger either.
So now, we can "prove" that $T0's domain contains exactly one type, and so we can bind $T0 to Int.
What if you end up in a situation where you're looking at this?
Int conv $T0
$T0 conforms Sequence
Well, Int doesn't conform to Sequence, and neither does Optional<Int> or AnyHashable, so we've made a conflicting set of overload choices; we just haven't realized it yet, because the domain of $T0 is the empty set.
Now we _do_ realize it, and bind Int to $T0 anyway; this fails the conformance constraint, and in some cases, it fails it much sooner than it would have otherwise, reducing wasted time spent in dead ends.