Big tidy-up of deriving code
[ghc-hetmet.git] / compiler / basicTypes / DataCon.lhs
index b2e166b..0fb7fae 100644 (file)
@@ -309,6 +309,7 @@ data DataCon
                                        -- and *including* existential dictionaries
 
        dcRepStrictness :: [StrictnessMark],    -- One for each *representation* argument       
+               -- See also Note [Data-con worker strictness] in MkId.lhs
 
        dcRepType   :: Type,    -- Type of the constructor
                                --      forall a x y. (a:=:(x,y), Ord x) => x -> y -> MkT a
@@ -618,7 +619,7 @@ dataConUserType  (MkData { dcUnivTyVars = univ_tvs,
     mkFunTys (mkPredTys theta) $
     mkFunTys arg_tys $
     case tyConFamInst_maybe tycon of
-      Nothing             -> mkTyConApp tycon (map (substTyVar subst) univ_tvs)
+      Nothing             -> mkTyConApp tycon (substTyVars subst univ_tvs)
       Just (ftc, insttys) -> mkTyConApp ftc insttys        -- data instance
   where
     subst = mkTopTvSubst eq_spec