-import PrimOp ( PrimOp(..), CCall(..), CCallTarget(..) )
-import DataCon ( DataCon, splitProductType_maybe, dataConSourceArity, dataConWrapId )
-import CallConv
-import Type ( isUnLiftedType, splitAlgTyConApp_maybe, mkFunTys,
- splitTyConApp_maybe, tyVarsOfType, mkForAllTys,
- isNewType, repType, isUnLiftedType, mkFunTy, mkTyConApp,
- Type
+import ForeignCall ( ForeignCall(..), CCallSpec(..), CCallTarget(..), Safety, CCallConv(..) )
+import DataCon ( splitProductType_maybe, dataConSourceArity, dataConWrapId )
+import ForeignCall ( ForeignCall, CCallTarget(..) )
+
+import TcType ( Type, isUnLiftedType, mkFunTys, mkFunTy,
+ tyVarsOfType, mkForAllTys, mkTyConApp,
+ isBoolTy, isUnitTy, isPrimitiveType,
+ tcSplitTyConApp_maybe