-
Simon Peyton Jones authored
See long comment with Simplify.tcSimplifyRuleLhs. Here's the key example: RULE "g" forall x y z. g (x == y) (y == z) = ... Here, the two dictionaries are *identical*, but we do NOT WANT to generate the rule RULE forall x::a, y::a, z::a, d1::Eq a f ((==) d1 x y) ((>) d1 y z) = ... Instead we want RULE forall x::a, y::a, z::a, d1::Eq a, d2:Eq a f ((==) d1 x y) ((>) d2 y z) = ...
5a8a219c