diff --git a/compactable.cabal b/compactable.cabal
--- a/compactable.cabal
+++ b/compactable.cabal
@@ -1,5 +1,5 @@
 name:                compactable
-version:             0.1.2.3
+version:             0.1.2.4
 synopsis:            A typeclass for structures which can be catMaybed, filtered, and partitioned.
 description:         This provides polymorphic implementations for filter, compact (catMaybes), and separate. It allows for higher performance implementations to be used in place of defaults for all data structures, and endeavors to centerally document those implementations. Compactable aims to be as general and unconstrained as possible, providing instances for non-Functors like Set, as well as some Contravariants (though not published here). Compactable fully subsumes Data.Witherable, offers more laws, and is more general.
 license:             BSD3
@@ -11,7 +11,13 @@
 build-type:          Simple
 extra-source-files:  ChangeLog.md
 cabal-version:       >=1.10
-tested-with:         GHC == 8.6.1, GHC == 8.4.4, GHC == 8.2.2, GHC == 8.0.2
+tested-with:         GHC == 9.0.1
+                   , GHC == 8.10.4
+                   , GHC == 8.8.4
+                   , GHC == 8.6.1
+                   , GHC == 8.4.4
+                   , GHC == 8.2.2
+                   , GHC == 8.0.2
 
 source-repository head
   type: git
@@ -25,7 +31,7 @@
                        -Wincomplete-uni-patterns
                        -Wredundant-constraints
 
-  build-depends:       base         >= 4.9    && < 4.13
+  build-depends:       base         >= 4.9    && < 4.16
                      , containers   >= 0.5.7  && < 0.7
                      , transformers >= 0.5.2  && < 0.6
                      , vector       >= 0.11   && < 0.13
diff --git a/src/Control/Compactable.hs b/src/Control/Compactable.hs
--- a/src/Control/Compactable.hs
+++ b/src/Control/Compactable.hs
@@ -185,6 +185,8 @@
 -}
 
 class Compactable (f :: * -> *) where
+    {-# MINIMAL compact | separate #-}
+
     compact :: f (Maybe a) -> f a
     default compact :: Functor f => f (Maybe a) -> f a
     compact = snd . separate . fmap (\case Just x -> Right x; _ -> Left ())
