info = noCafIdInfo `setUnfoldingInfo` mkCompulsoryUnfolding rhs
- ty = mkForAllTys [openAlphaTyVar,openBetaTyVar]
- (mkFunTy openAlphaTy openBetaTy)
- [x] = mkTemplateLocals [openAlphaTy]
- rhs = mkLams [openAlphaTyVar,openBetaTyVar,x] $
- Cast (Var x) (mkUnsafeCoercion openAlphaTy openBetaTy)
+ ty = mkForAllTys [argAlphaTyVar,openBetaTyVar]
+ (mkFunTy argAlphaTy openBetaTy)
+ [x] = mkTemplateLocals [argAlphaTy]
+ rhs = mkLams [argAlphaTyVar,openBetaTyVar,x] $
+ Cast (Var x) (mkUnsafeCoercion argAlphaTy openBetaTy)
------------------------------------------------
nullAddrId :: Id
alphaTyVars, betaTyVars, alphaTyVar, betaTyVar, gammaTyVar, deltaTyVar,
alphaTy, betaTy, gammaTy, deltaTy,
openAlphaTy, openBetaTy, openAlphaTyVar, openBetaTyVar, openAlphaTyVars,
+ argAlphaTy, argAlphaTyVar,
primTyCons,
openAlphaTy, openBetaTy :: Type
openAlphaTy = mkTyVarTy openAlphaTyVar
-openBetaTy = mkTyVarTy openBetaTyVar
+openBetaTy = mkTyVarTy openBetaTyVar
+
+argAlphaTyVar :: TyVar
+(argAlphaTyVar : _) = tyVarList argTypeKind
+argAlphaTy :: Type
+argAlphaTy = mkTyVarTy argAlphaTyVar
\end{code}