import VarSet
import VarEnv
import TysWiredIn
-import TysPrim( intPrimTy )
+import TysPrim( intPrimTy, ecKind )
import PrimOp( tagToEnumKey )
import PrelNames
import Module
; expr' <- updHetMetLevel (\old_lev -> (fresh_ec_name:old_lev))
$ tcPolyExpr e elt_ty
; unifyType (TyVarTy fresh_ec_name) inferred_name
- ; return $ mkHsWrapCoI coi (HsHetMetBrak (TyVarTy fresh_ec_name) expr') }
+ ; return $ mkHsWrapCo coi (HsHetMetBrak (TyVarTy fresh_ec_name) expr') }
tcExpr (HsHetMetEsc _ _ e) res_ty =
do { cur_level <- getHetMetLevel
; expr' <- updHetMetLevel (\old_lev -> tail old_lev)
$ tcExpr (unLoc e) (mkTyConApp hetMetCodeTypeTyCon [(TyVarTy $ head cur_level),res_ty])
; ty' <- zonkTcType res_ty
- ; return $ mkHsWrapCoI (ACo res_ty) (HsHetMetEsc (TyVarTy $ head cur_level) ty' (noLoc expr')) }
+ ; return $ HsHetMetEsc (TyVarTy $ head cur_level) ty' (noLoc expr') }
tcExpr (HsHetMetCSP _ e) res_ty =
do { cur_level <- getHetMetLevel
; expr' <- updHetMetLevel (\old_lev -> tail old_lev)
$ tcExpr (unLoc e) res_ty
- ; return $ mkHsWrapCoI (ACo res_ty) (HsHetMetCSP (TyVarTy $ head cur_level) (noLoc expr')) }
+ ; return $ HsHetMetCSP (TyVarTy $ head cur_level) (noLoc expr') }
tcExpr (HsApp e1 e2) res_ty = tcApp e1 [e2] res_ty