diff --git a/dataframe-th.cabal b/dataframe-th.cabal
--- a/dataframe-th.cabal
+++ b/dataframe-th.cabal
@@ -1,7 +1,6 @@
 cabal-version:      3.4
 name:               dataframe-th
-version:            2.1.0.0
-
+version:            2.2.0.0
 synopsis:           Record-based Template Haskell splices for the dataframe ecosystem.
 description:
     The IO-agnostic part of the @dataframe@ TH machinery — splices that
@@ -35,9 +34,9 @@
     other-modules:      DataFrame.Internal.Schema.TH
     build-depends:      base >= 4 && < 5,
                         containers >= 0.6.7 && < 0.10,
-                        dataframe-core >= 2.1 && < 2.2,
-                        dataframe-operations >= 2.1 && < 2.2,
-                        dataframe-parsing >= 2.1 && < 2.2,
+                        dataframe-core >= 2.2 && < 2.3,
+                        dataframe-operations >= 2.2 && < 2.3,
+                        dataframe-parsing >= 2.2 && < 2.3,
                         template-haskell >= 2.0 && < 3,
                         text >= 2.1 && < 3,
                         vector >= 0.13 && < 0.15
diff --git a/src/DataFrame/Typed/TH/Records.hs b/src/DataFrame/Typed/TH/Records.hs
--- a/src/DataFrame/Typed/TH/Records.hs
+++ b/src/DataFrame/Typed/TH/Records.hs
@@ -26,7 +26,6 @@
 
     -- * Re-export for TH splices
     TypedDataFrame,
-    Column,
 
     -- * Shared helpers (used by sibling TH modules)
     getSchemaInfo,
@@ -51,7 +50,7 @@
     requireColumn,
     toColumns,
  )
-import DataFrame.Typed.Types (Column, TypedDataFrame)
+import DataFrame.Typed.Types (TypedDataFrame)
 import DataFrame.Typed.Util (camelToSnake)
 
 {- | Derive an untyped 'DataFrame.Schema.Schema' value plus per-column 'Expr'
@@ -90,7 +89,7 @@
 mkColumnType (name, tyStr) = do
     ty <- parseTypeString tyStr
     let nameLit = LitT (StrTyLit (T.unpack name))
-    pure $ ConT ''Column `AppT` nameLit `AppT` ty
+    pure $ PromotedTupleT 2 `AppT` nameLit `AppT` ty
 
 parseTypeString :: String -> Q Type
 parseTypeString "Int" = pure $ ConT ''Int
@@ -161,7 +160,7 @@
             Just s -> mkName s
             Nothing -> mkName (nameBase tyName ++ "Schema")
     let columnTypes =
-            [ ConT ''Column `AppT` LitT (StrTyLit colName) `AppT` ty
+            [ PromotedTupleT 2 `AppT` LitT (StrTyLit colName) `AppT` ty
             | (colName, _, ty) <- fields
             ]
         schemaType =
