diff --git a/src/Data/Prodder.hs b/src/Data/Prodder.hs
--- a/src/Data/Prodder.hs
+++ b/src/Data/Prodder.hs
@@ -105,7 +105,7 @@
   pure x
 
 -- | Appends two 'ProdBuilder's.
-appendB :: ProdBuilder xs -> ProdBuilder ys -> ProdBuilder (Append xs ys)
+appendB :: ProdBuilder xs -> ProdBuilder ys -> ProdBuilder (xs <> ys)
 appendB (UnsafeProdBuilder b) (UnsafeProdBuilder b') = UnsafeProdBuilder \ref v -> do
   b ref v
   b' ref v
@@ -116,11 +116,6 @@
 
 type role Prod representational
 
--- | A type family for appending two type level lists.
-type family Append xs ys where
-  Append (x ': xs) ys = x ': Append xs ys
-  Append '[] ys = ys
-
 -- | A type family for computing the index of a type in a list of types.
 type family IndexIn (x :: k) (xs :: [k]) where
   IndexIn x (x ': xs) = 0
@@ -179,7 +174,6 @@
 -- inference and less piping around of constraints.
 dropFirst :: forall x xs. Prod (x ': xs) -> Prod xs
 dropFirst (UnsafeProd v) = UnsafeProd $ V.slice 1 (V.length v - 1) v
-
 
 type family (<>) (xs :: [k]) (ys :: [k]) :: [k] where
   '[] <> ys = ys
diff --git a/summer.cabal b/summer.cabal
--- a/summer.cabal
+++ b/summer.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                summer
-version:             0.3.1.0
+version:             0.3.1.1
 synopsis:            An implementation of extensible products and sums
 description:         An implementation of extensible products and sums.
 license:             MIT
