diff --git a/polysemy-optics.cabal b/polysemy-optics.cabal
--- a/polysemy-optics.cabal
+++ b/polysemy-optics.cabal
@@ -1,7 +1,7 @@
 cabal-version:         1.22
 
 name:                  polysemy-optics
-version:               0.1.0.1
+version:               0.1.0.2
 synopsis:              Optics for Polysemy.
 description:
   Optics for interfacing with Reader, State, and Writer effects in Polysemy.
@@ -10,7 +10,7 @@
 license-file:          LICENSE
 author:                Nicholas Coltharp
 maintainer:            coltharp@pdx.edu
-copyright:             2020 Nicholas Coltharp
+copyright:             2022 Nicholas Coltharp
 category:              Optics, Lenses
 build-type:            Simple
 extra-source-files:    CHANGELOG.md
@@ -23,10 +23,10 @@
                        , Optics.Polysemy.Writer
   reexported-modules:    Optics
                        , Optics.State.Operators
-  build-depends:         base         >=4.12 && <4.15
-                       , optics       >=0.1  && <0.4
-                       , polysemy     >=0.4  && <1.5
-                       , polysemy-zoo >=0.6  && <0.8
+  build-depends:         base         >=4.12 && <4.17
+                       , optics       >=0.1  && <0.5
+                       , polysemy     >=0.4  && <1.8
+                       , polysemy-zoo >=0.6  && <0.9
   hs-source-dirs:        src
   default-language:      Haskell2010
   default-extensions:    BlockArguments
diff --git a/src/Optics/Polysemy/State.hs b/src/Optics/Polysemy/State.hs
--- a/src/Optics/Polysemy/State.hs
+++ b/src/Optics/Polysemy/State.hs
@@ -23,6 +23,10 @@
   , zoomMaybe
   ) where
 
+import Data.Maybe
+  ( fromMaybe
+  )
+
 import Optics
   ( A_Getter
   , A_Lens
@@ -138,9 +142,9 @@
 
 zoomMaybe :: (Is k An_AffineTraversal, Member (State s) effs) => Optic' k is s a -> Sem (State a ': effs) c -> Sem effs (Maybe c)
 zoomMaybe o m = preuse o' >>= traverse \a ->
-  ( interpret \case
-      Get    -> maybe a id <$> preuse o'
+  interpret \case
+      Get    -> fromMaybe a <$> preuse o'
       Put a' -> assign o' a'
-  ) m
+  m
   where o' = castOptic @An_AffineTraversal o
 {-# INLINE zoomMaybe #-}
