diff --git a/popkey.cabal b/popkey.cabal
--- a/popkey.cabal
+++ b/popkey.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                popkey
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Static key-value storage backed by poppy
 description:         Static key-value storage backed by poppy.
 homepage:            https://github.com/identicalsnowflake/popkey
@@ -25,16 +25,16 @@
       PopKey.Internal2
       PopKey.Internal3
   -- other-modules:
-  build-depends: base >= 4.12.0.0 && < 5
+  build-depends: base >= 4.16.0.0 && < 5
                , bitvec >= 1.0.2.0 && < 2.0.0.0
-               , bytestring >= 0.10.10.0 && < 0.11
+               , bytestring >= 0.10.10.0 && < 0.12
                , containers >= 0.6.2.1 && < 0.7
                , hw-bits >= 0.7.1.5
                , hw-prim >= 0.6.3.0
                , hw-rankselect >= 0.13.4.0 && < 0.14
                , hw-rankselect-base >= 0.3.4.0
                , store >= 0.7.2 && < 0.8
-               , text >= 1.2.4.0 && < 1.3
+               , text >= 1.2.4.0
                , vector >= 0.12.1.2 && < 0.13
   hs-source-dirs: src
   ghc-options: -Wall -Wextra
@@ -69,7 +69,7 @@
                , hspec >= 2 && < 3
                , popkey
                , store
-               , QuickCheck >= 2.13.2 && < 2.14
+               , QuickCheck >= 2.13.2 && < 2.15
   build-tool-depends: hspec-discover:hspec-discover
   default-language: Haskell2010
   default-extensions: BlockArguments
diff --git a/src/PopKey/Encoding.hs b/src/PopKey/Encoding.hs
--- a/src/PopKey/Encoding.hs
+++ b/src/PopKey/Encoding.hs
@@ -396,7 +396,6 @@
 instance PopKeyEncoding a => PopKeyEncoding (Max a)
 instance PopKeyEncoding a => PopKeyEncoding (First a)
 instance PopKeyEncoding a => PopKeyEncoding (Last a)
-instance PopKeyEncoding a => PopKeyEncoding (Option a)
 instance PopKeyEncoding a => PopKeyEncoding (Identity a)
 instance PopKeyEncoding a => PopKeyEncoding (Sum a)
 instance PopKeyEncoding a => PopKeyEncoding (Product a)
diff --git a/src/PopKey/Internal3.hs b/src/PopKey/Internal3.hs
--- a/src/PopKey/Internal3.hs
+++ b/src/PopKey/Internal3.hs
@@ -27,8 +27,8 @@
 -- before serialization. the Functor instance should still be observably-valid from the safe public API,
 -- at least modulo bottoms and the fact that mapping the identity will cause performance artefacts.
 data PopKey k v where
-  PopKeyInt :: forall s v . Bool -> F s PKPrim -> (F' s BS.ByteString -> v) -> PopKey Int v
-  PopKeyAny :: forall s k v . Bool -> F s PKPrim -> (F' s BS.ByteString -> v) -> F (Shape k) PKPrim -> PopKey k v
+  PopKeyInt :: forall s v . Bool -> !(F s PKPrim) -> (F' s BS.ByteString -> v) -> PopKey Int v
+  PopKeyAny :: forall s k v . Bool -> !(F s PKPrim) -> (F' s BS.ByteString -> v) -> !(F (Shape k) PKPrim) -> PopKey k v
 
 instance Functor (PopKey k) where
   {-# INLINE fmap #-}
