diff --git a/microlens.cabal b/microlens.cabal
--- a/microlens.cabal
+++ b/microlens.cabal
@@ -1,5 +1,5 @@
 name:                microlens
-version:             0.4.13.0
+version:             0.4.13.1
 synopsis:            A tiny lens library with no dependencies
 description:
   NOTE: If you're writing an app, you probably want <http://hackage.haskell.org/package/microlens-platform microlens-platform> – it has the most features. <http://hackage.haskell.org/package/microlens microlens> is intended more for library writers who want a tiny lens library (after all, lenses are pretty useful for everything, not just for updating records!).
@@ -50,8 +50,9 @@
                      GHC==8.6.5
                      GHC==8.8.4
                      GHC==8.10.7
-                     GHC==9.0.1
-                     GHC==9.2.1
+                     GHC==9.0.2
+                     GHC==9.2.5
+                     GHC==9.4.3
 
 source-repository head
   type:                git
@@ -80,3 +81,4 @@
 
   hs-source-dirs:      src
   default-language:    Haskell2010
+  default-extensions:  TypeOperators
diff --git a/src/Lens/Micro/Internal.hs b/src/Lens/Micro/Internal.hs
--- a/src/Lens/Micro/Internal.hs
+++ b/src/Lens/Micro/Internal.hs
@@ -90,6 +90,7 @@
 -- We don't depend on the call-stack package because building an extra
 -- package is likely slower than adding several lines of code here.
 #if MIN_VERSION_base(4,9,0)
+import Data.Kind (Type)
 import GHC.Stack (HasCallStack)
 #elif MIN_VERSION_base(4,8,1)
 import qualified GHC.Stack as GHC
@@ -238,9 +239,13 @@
 
 -- NOTE: when adding new instances of 'Each', update the docs for 'each'.
 
+#if MIN_VERSION_base(4,9,0)
+type family Index (s :: Type) :: Type
+type family IxValue (m :: Type) :: Type
+#else
 type family Index (s :: *) :: *
-
 type family IxValue (m :: *) :: *
+#endif
 
 type instance Index   (e -> a) = e
 type instance IxValue (e -> a) = a
