import TcUnify
 import TcIface
 import TcType
+import TypeRep ( ecKind )
 import {- Kind parts of -} Type
 import Var
 import VarSet
     return (HsPArrTy ty', liftedTypeKind)
 
 kc_hs_type (HsModalBoxType ecn ty) = do
+    kc_check_hs_type (HsTyVar ecn) (EK ecKind EkUnk)
     ty' <- kcLiftedType ty
     return (HsModalBoxType ecn ty', liftedTypeKind)
 
     return (mkPArrTy tau_ty)
 
 ds_type (HsModalBoxType ecn ty) = do
-    ecn' <- ds_app (HsTyVar ecn) []
     tau_ty <- dsHsType ty
     checkWiredInTyCon hetMetCodeTypeTyCon
-    return (mkHetMetCodeTypeTy (tcGetTyVar "totally bogus, dude" ecn') tau_ty)
-
+    return (mkHetMetCodeTypeTy (mkTyVar ecn ecKind) tau_ty)
 
 ds_type (HsTupleTy boxity tys) = do
     tau_tys <- dsHsTypes tys