diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for lens-witherable
 
+## 0.1.0.2 -- 2022-11-16
+
+* Discovered cabal mixins. No longer using CPP, but now requiring GHC 8.2 or newer
+
 ## 0.1.0.1 -- 2022-11-14
 
 * Add support for older versions of dependencies with cabal flags and CPP.
diff --git a/lens-witherable.cabal b/lens-witherable.cabal
--- a/lens-witherable.cabal
+++ b/lens-witherable.cabal
@@ -1,6 +1,6 @@
 cabal-version:        2.4
 name:                 lens-witherable
-version:              0.1.0.1
+version:              0.1.0.2
 synopsis:             lens-compatible tools for working with witherable
 copyright:            Copyright (C) 2021-2022 Carl Howells
 license:              MIT
@@ -25,12 +25,12 @@
     hs-source-dirs:   src
 
     if flag(top-level-witherable)
-       cpp-options:   -DTOP_LEVEL_WITHERABLE
-       build-depends: witherable >= 0.4 && < 0.5,
-                      base >=4.9 && <5,
+       build-depends: witherable >=0.4 && <0.5,
+                      base >=4.10 && <5,
     else
-       build-depends: witherable >= 0 && < 0.5,
-                      base >=4.8 && <4.16
+       build-depends: witherable >=0 && <0.5,
+                      base >=4.10 && <4.16
+       mixins:        witherable (Data.Witherable as Witherable)
 
 
 flag top-level-witherable
diff --git a/src/Witherable/Lens.hs b/src/Witherable/Lens.hs
--- a/src/Witherable/Lens.hs
+++ b/src/Witherable/Lens.hs
@@ -1,4 +1,3 @@
-{-# Language CPP #-}
 {-|
 Module      : Witherable.Lens
 Description : Tools for using the Witherable interface with lens
@@ -12,11 +11,7 @@
 
 import Data.Functor.Identity (Identity(runIdentity))
 
-#ifdef TOP_LEVEL_WITHERABLE
 import Witherable (Witherable(wither))
-#else
-import Data.Witherable (Witherable(wither))
-#endif
 
 import Witherable.Lens.Withering
 
