notSimple inst_tys
= vcat [ptext SLIT("because the instance type(s)"),
nest 2 (ppr inst_tys),
- ptext SLIT("is not a simple type of form (T a b c)")]
+ ptext SLIT("is not a simple type of form (T a1 ... an)")]
notGeneric tycon
= vcat [ptext SLIT("because the instance type constructor") <+> quotes (ppr tycon) <+>
where
(first_ty : _) = tys
- head_shape_msg = parens (text "The instance type must be of form (T a b c)" $$
- text "where T is not a synonym, and a,b,c are distinct type variables")
+ head_shape_msg = parens (text "The instance type must be of form (T a1 ... an)" $$
+ text "where T is not a synonym, and a1 ... an are distinct type variables")
-- For now, I only allow tau-types (not polytypes) in
-- the head of an instance decl.
nest 2 $ ptext SLIT("but") <+> quotes (ppr con) <+> ptext SLIT("does")]
newtypePredError con
- = sep [ptext SLIT("A newtype constructor must have a return type of form T a b c"),
+ = sep [ptext SLIT("A newtype constructor must have a return type of form T a1 ... an"),
nest 2 $ ptext SLIT("but") <+> quotes (ppr con) <+> ptext SLIT("does not")]
newtypeFieldErr con_name n_flds