\begin{code}
module TcSplice where
-import HsSyn ( HsSplice, HsBracket, HsExpr, LHsExpr, LHsDecl )
+import HsSyn ( HsSplice, HsBracket, HsQuasiQuote,
+ HsExpr, HsType, LHsExpr, LPat, LHsDecl )
import Name ( Name )
import RdrName ( RdrName )
import TcRnTypes( TcM, TcId )
-import TcType ( BoxyRhoType )
+import TcType ( BoxyRhoType, TcKind )
+import Annotations ( Annotation, CoreAnnTarget )
+import qualified Language.Haskell.TH as TH
tcSpliceExpr :: HsSplice Name
-> BoxyRhoType
-> TcM (HsExpr TcId)
+kcSpliceType :: HsSplice Name
+ -> TcM (HsType Name, TcKind)
+
tcBracket :: HsBracket Name
-> BoxyRhoType
-> TcM (LHsExpr TcId)
tcSpliceDecls :: LHsExpr Name -> TcM [LHsDecl RdrName]
+
+lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
+
+runQuasiQuoteExpr :: HsQuasiQuote Name.Name -> TcM (LHsExpr RdrName)
+runQuasiQuotePat :: HsQuasiQuote Name -> TcM (LPat RdrName)
+runAnnotation :: CoreAnnTarget -> LHsExpr Name -> TcM Annotation
\end{code}