Improve CtIrredStatus
In GHC.Tc.Types.Constraint
we have
data CtIrredStatus
= InsolubleCIS -- this constraint will never be solved
| BlockedCIS -- this constraint is blocked on a coercion hole
-- The hole will appear in the ctEvPred of the constraint with this status
-- See Note [Equalities with incompatible kinds] in "GHC.Tc.Solver.Canonical"
-- Wrinkle (4a)
| OtherCIS
Idea: record in the status the reason that the thing is irreducible, then the error-reporting machinery would not need to reconstruct it.
Await !4149 (closed) landing