diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -14,6 +14,9 @@
 
 # Changelog
 
+* 4.1.0.0
+  - Removed `zilch`.
+
 * 4.0.0.0
   - Renamed `prefix` to `consMany` and `postfix` to `snocMany`.
 
diff --git a/data-diverse.cabal b/data-diverse.cabal
--- a/data-diverse.cabal
+++ b/data-diverse.cabal
@@ -1,5 +1,5 @@
 name:                data-diverse
-version:             4.0.0.0
+version:             4.1.0.0
 synopsis:            Extensible records and polymorphic variants.
 description:         "Data.Diverse.Many" is an extensible record for any size encoded efficiently as (Seq Any).
                      "Data.Diverse.Which" is a polymorphic variant of possibilities encoded as (Int, Any).
diff --git a/src/Data/Diverse/Which.hs b/src/Data/Diverse/Which.hs
--- a/src/Data/Diverse/Which.hs
+++ b/src/Data/Diverse/Which.hs
@@ -7,7 +7,6 @@
       -- ** Construction
     , impossible
     , impossible'
-    , zilch
     , pick
     , pick0
     , pickOnly
diff --git a/src/Data/Diverse/Which/Internal.hs b/src/Data/Diverse/Which/Internal.hs
--- a/src/Data/Diverse/Which/Internal.hs
+++ b/src/Data/Diverse/Which/Internal.hs
@@ -28,7 +28,6 @@
       -- ** Construction
     , impossible
     , impossible'
-    , zilch
     , pick
     , pick0
     , pickOnly
@@ -187,10 +186,6 @@
 -- This allows you to convert it back to 'Void' or @Which '[]@
 impossible' :: Which '[Void] -> a
 impossible' a = case a of {}
-
--- | Monoid that is always 'mempty'
-zilch :: Monoid (t (Which '[])) => t (Which '[])
-zilch = mempty
 
 -- | Lift a value into a 'Which' of possibly other types @xs@.
 -- @xs@ can be inferred or specified with TypeApplications.
