See haskell/core-libraries-committee#21. The important thing about GEq is that it is doing term and type equality. Likewise GCompare is doing value ordering.
This will be easier after #21, as the quantified constraints bring the plain H98 classes "in scope", so we can less awkwardly write laws clarifying the situation.
(That PR is in turn blocked on haskell/core-libraries-committee#10, but the current plain H98 class instances for Sum and Product are too pointlessly restrictive for this to work.)
See haskell/core-libraries-committee#21. The important thing about
GEqis that it is doing term and type equality. LikewiseGCompareis doing value ordering.This will be easier after #21, as the quantified constraints bring the plain H98 classes "in scope", so we can less awkwardly write laws clarifying the situation.
(That PR is in turn blocked on haskell/core-libraries-committee#10, but the current plain H98 class instances for
SumandProductare too pointlessly restrictive for this to work.)