- ; let (dicts, non_dicts) = partition isDict irreds
- -- Exclude implication consraints
- ; addNoInstanceErrs non_dicts -- I'm not sure if these can really happen
+ -- Insist that the context of a derived instance declaration
+ -- consists of constraints of form (C a b), where a,b are
+ -- type variables
+ -- NB: the caller will further check the tv_dicts for
+ -- legal instance-declaration form
+ ; let (tv_dicts, non_tv_dicts) = partition isTyVarDict irreds
+ ; addNoInstanceErrs non_tv_dicts