--Note pprinting of list terms is not lazy
doList p (Term{subTerms=[h,t]}) = do
let elems = h : getListTerms t
--Note pprinting of list terms is not lazy
doList p (Term{subTerms=[h,t]}) = do
let elems = h : getListTerms t
- | null (dataConExTyVars dc) && null (dataConEqTheta dc) = dataConInstArgTys dc args
- | otherwise = dataConRepArgTys dc
+ | isVanillaDataCon dc = dataConInstArgTys dc args
+ | otherwise = dataConRepArgTys dc