where
coArity = length tvs
- rule args = (substTyWith tvs tys $ -- with sigma = [tys/tvs]
- TyConApp family instTys, -- sigma (F ts)
- TyConApp rep_tycon (mkTyVarTys tvs), -- :=: R tys
- rest) -- surplus arguments
+ rule args = (substTyWith tvs tys $ -- with sigma = [tys/tvs],
+ TyConApp family instTys, -- sigma (F ts)
+ TyConApp rep_tycon tys, -- :=: R tys
+ rest) -- surplus arguments
where
tys = take coArity args
rest = drop coArity args