- classSCTheta :: [PredType], -- Immediate superclasses, and the
- classSCSels :: [Id], -- corresponding selector functions
- -- to extract them from a dictionary
- -- of this class
-
+ -- Superclasses: eg: (F a ~ b, F b ~ G a, Eq a, Show b)
+ -- We need value-level selectors for the dictionary
+ -- superclasses, but not for the equality superclasses
+ classSCTheta :: [PredType], -- Immediate superclasses,
+ --- *with equalities first*
+ classSCNEqs :: Int, -- How many equalities
+ classSCSels :: [Id], -- Selector functions to extract the
+ -- *dictionary* superclasses from a
+ -- dictionary of this class
+ -- Associated types