Note [WantedInv]
Why is WantedInv important? Consider this implication, where
the constraint (C alpha[3]) disobeys WantedInv:
forall[2] a. blah => (C alpha[3])
(forall[3] b. alpha[3] ~ b)
We can unify alpha:=b in the inner implication, because 'alpha' is
touchable; but then 'b' has escaped its scope into the outer implication. References 0
This Note does not link to any other.
Referenced by 1
- TcLevel invariants GHC.Tc.Utils.TcType