diff --git a/insert-ordered-containers.cabal b/insert-ordered-containers.cabal
--- a/insert-ordered-containers.cabal
+++ b/insert-ordered-containers.cabal
@@ -1,5 +1,5 @@
 name:               insert-ordered-containers
-version:            0.2.3
+version:            0.2.3.1
 synopsis:
   Associative containers retaining insertion order for traversals.
 
@@ -17,7 +17,9 @@
 license-file:       LICENSE
 build-type:         Simple
 cabal-version:      >=1.10
-tested-with:        GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1
+tested-with:
+  GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.1
+
 extra-source-files:
   CHANGELOG.md
   README.md
@@ -32,12 +34,12 @@
   ghc-options:      -Wall
   build-depends:
       aeson                 >=1.4.2.0 && <1.5
-    , base                  >=4.9     && <4.14
+    , base                  >=4.9     && <4.15
     , base-compat           >=0.10.5  && <0.12
     , hashable              >=1.2.6.1 && <1.4
-    , lens                  >=4.17    && <4.19
-    , optics-core           >=0.2     && <0.3
-    , optics-extra          >=0.2     && <0.3
+    , lens                  >=4.17    && <4.20
+    , optics-core           >=0.2     && <0.4
+    , optics-extra          >=0.2     && <0.4
     , semigroupoids         >=5.3.2   && <5.4
     , semigroups            >=0.18.5  && <0.20
     , text                  >=1.2.3.0 && <1.3
@@ -65,7 +67,7 @@
     , hashable
     , insert-ordered-containers
     , lens
-    , QuickCheck                 >=2.13.2   && <2.14
+    , QuickCheck                 >=2.13.2   && <2.15
     , semigroupoids
     , semigroups
     , tasty                      >=0.10.1.2 && <1.3
diff --git a/src/Data/HashSet/InsOrd.hs b/src/Data/HashSet/InsOrd.hs
--- a/src/Data/HashSet/InsOrd.hs
+++ b/src/Data/HashSet/InsOrd.hs
@@ -70,8 +70,8 @@
 import           Data.HashSet        (HashSet)
 import qualified Data.HashSet        as HashSet
 
-import qualified GHC.Exts as Exts
 import qualified Data.Foldable
+import qualified GHC.Exts      as Exts
 
 import Data.HashMap.InsOrd.Internal
 
@@ -175,7 +175,13 @@
 
 instance (Eq k, Hashable k) => Optics.Ixed (InsOrdHashSet k) where
     ix k = Optics.atraversalVL $ \point f (InsOrdHashSet i m) ->
-      InsOrdHashSet i <$> Optics.toAtraversalVL (Optics.ix k) point (\j -> j <$ f ()) m
+      InsOrdHashSet i <$>
+#if MIN_VERSION_optics_core(0,3,0)
+          Optics.atraverseOf
+#else
+          Optics.toAtraversalVL
+#endif
+          (Optics.ix k) point (\j -> j <$ f ()) m
     {-# INLINE ix #-}
 
 instance (Eq k, Hashable k) => Optics.At (InsOrdHashSet k) where
