GCompare

Type class for comparable GADT-like structures. When 2 things are equal, must return a witness that their parameter types are equal as well (GEQ).
Type class for comparable GADT-like structures. When 2 things are equal, must return a witness that their parameter types are equal as well (GEQ).
Generic comparison: an alternative to "deriving Ord"
Generic compare.
instance Ord MyType where
compare = gcompare
compare implemented by using compare between all of the components, lexicographically. First compares constructors.
Valid definition for compare in terms of Sorting.