buildTy = mkSigmaTy [alphaTyVar] [] (mkFunTys [build_ty] (mkListTy alphaTy))
where
build_ty = mkSigmaTy [betaTyVar] []
- (mkFunTys [alphaTy, mkFunTys [betaTy] betaTy, betaTy] betaTy)
+ (mkFunTys [mkFunTys [alphaTy, betaTy] betaTy, betaTy] betaTy)
\end{code}
@mkBuild@ is sugar for building a build!
augmentTy = mkSigmaTy [alphaTyVar] [] (mkFunTys [aug_ty, mkListTy alphaTy] (mkListTy alphaTy))
where
aug_ty = mkSigmaTy [betaTyVar] []
- (mkFunTys [alphaTy, mkFunTys [betaTy] betaTy, betaTy] betaTy)
+ (mkFunTys [mkFunTys [alphaTy, betaTy] betaTy, betaTy] betaTy)
\end{code}
\begin{code}
where
foldrTy =
mkSigmaTy [alphaTyVar, betaTyVar] []
- (mkFunTys [alphaTy, mkFunTys [betaTy] betaTy, betaTy, mkListTy alphaTy] betaTy)
+ (mkFunTys [mkFunTys [alphaTy, betaTy] betaTy, betaTy, mkListTy alphaTy] betaTy)
idInfo = (((((noIdInfo
`addInfo_UF` mkMagicUnfolding foldrIdKey)
where
foldlTy =
mkSigmaTy [alphaTyVar, betaTyVar] []
- (mkFunTys [alphaTy, mkFunTys [betaTy] betaTy, alphaTy, mkListTy betaTy] alphaTy)
+ (mkFunTys [mkFunTys [alphaTy, betaTy] alphaTy, alphaTy, mkListTy betaTy] alphaTy)
idInfo = (((((noIdInfo
`addInfo_UF` mkMagicUnfolding foldlIdKey)