diff --git a/liquid-bytestring.cabal b/liquid-bytestring.cabal
--- a/liquid-bytestring.cabal
+++ b/liquid-bytestring.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.24
 name:               liquid-bytestring
-version:            0.10.10.0
+version:            0.10.12.1
 synopsis:           LiquidHaskell specs for the bytestring package
 description:        LiquidHaskell specs for the bytestring package.
 license:            BSD3
@@ -20,7 +20,7 @@
                       src/Data/ByteString/Lazy/Char8.spec
 
 custom-setup
-  setup-depends: Cabal, base, liquidhaskell
+  setup-depends: Cabal<4, base<5, liquidhaskell
 
 library
   exposed-modules:    Data.ByteString
@@ -48,8 +48,8 @@
 
   hs-source-dirs:     src
   build-depends:      liquid-base          < 5
-                    , bytestring           >= 0.10.10.0 && < 0.11
-                    , liquidhaskell        >= 0.8.10.1
+                    , bytestring           >= 0.10.12.1 && < 0.11
+                    , liquidhaskell        >= 0.9.0.2
   default-language:   Haskell2010
   default-extensions: PackageImports
   if impl(ghc >= 8.10)
diff --git a/src/Data/ByteString.hs b/src/Data/ByteString.hs
--- a/src/Data/ByteString.hs
+++ b/src/Data/ByteString.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE Trustworthy #-}
 module Data.ByteString ( module Exports ) where
 
 import Data.String
diff --git a/src/Data/ByteString/Char8.hs b/src/Data/ByteString/Char8.hs
--- a/src/Data/ByteString/Char8.hs
+++ b/src/Data/ByteString/Char8.hs
@@ -1,6 +1,31 @@
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE Trustworthy #-}
 module Data.ByteString.Char8 ( module Exports ) where
 
 import Data.Int
-import Data.ByteString
 import GHC.IO.Handle
+
+
+#ifdef MIN_VERSION_bytestring
+#if MIN_VERSION_bytestring(0,10,12)
+
+-- bytestring >= 0.10.12.0 is now exporting 'partition' as part of 'Data.ByteString.Char8', which means
+-- that we have to use CPP here to refine its type, or we would get a failure like in test \"T1078\".
+
+import Data.ByteString hiding (partition)
+
+{-@
+
+assume partition :: (Char -> GHC.Types.Bool)
+                 -> i : Data.ByteString.ByteString
+                 -> ( { l : Data.ByteString.ByteString | bslen l <= bslen i }
+                    , { r : Data.ByteString.ByteString | bslen r <= bslen i }
+                    )
+@-}
+
+#else
+import Data.ByteString
+#endif
+#endif
+
 import "bytestring" Data.ByteString.Char8 as Exports
diff --git a/src/Data/ByteString/Char8.spec b/src/Data/ByteString/Char8.spec
--- a/src/Data/ByteString/Char8.spec
+++ b/src/Data/ByteString/Char8.spec
@@ -393,10 +393,3 @@
     :: GHC.IO.Handle
     -> n : { n : Int | 0 <= n }
     -> IO { bs : Data.ByteString.ByteString | bslen bs <= n }
-
-// assume partition
-    // :: (Char -> GHC.Types.Bool)
-    // -> i : Data.ByteString.ByteString
-    // -> ( { l : Data.ByteString.ByteString | bslen l <= bslen i }
-       // , { r : Data.ByteString.ByteString | bslen r <= bslen i }
-       // )
