diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,4 +1,8 @@
-# Version history for ral
+# Version history for ral-lens
+
+## 0.2.1
+
+- Support GHC-8.6.5...9.10.1
 
 ## 0.2
 
diff --git a/ral-lens.cabal b/ral-lens.cabal
--- a/ral-lens.cabal
+++ b/ral-lens.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               ral-lens
-version:            0.2
+version:            0.2.1
 synopsis:           Length-indexed random access lists: lens utilities.
 category:           Data, Dependent Types, Singletons, Lens
 description:
@@ -17,15 +17,15 @@
 build-type:         Simple
 extra-source-files: ChangeLog.md
 tested-with:
-  GHC ==7.8.4
-   || ==7.10.3
-   || ==8.0.2
-   || ==8.2.2
-   || ==8.4.4
-   || ==8.6.5
+  GHC ==8.6.5
    || ==8.8.4
-   || ==8.10.4
-   || ==9.0.1
+   || ==8.10.7
+   || ==9.0.2
+   || ==9.2.8
+   || ==9.4.8
+   || ==9.6.5
+   || ==9.8.2
+   || ==9.10.1
 
 source-repository head
   type:     git
@@ -45,13 +45,12 @@
     Data.RAVec.Tree.Lens
 
   build-depends:
-    , base  >=4.7   && <4.16
-    , bin   ^>=0.1
-    , fin   ^>=0.2
-    , lens  >=4.16  && <5.1
-    , ral   ^>=0.2
+    , base  >=4.12.0.0 && <4.21
+    , bin   ^>=0.1.4
+    , fin   ^>=0.3.1
+    , lens  ^>=5.2.2   || ^>=5.3.2
+    , ral   ^>=0.2.1
 
 -- dump-core
--- if impl(ghc >= 8.0)
 --  build-depends: dump-core
 --  ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html
diff --git a/src/Data/RAList/Lens.hs b/src/Data/RAList/Lens.hs
--- a/src/Data/RAList/Lens.hs
+++ b/src/Data/RAList/Lens.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
@@ -28,17 +27,6 @@
 -------------------------------------------------------------------------------
 -- Instances
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_lens(5,0,0)
-instance L.FunctorWithIndex Int RAList where
-    imap = imap
-
-instance L.FoldableWithIndex Int RAList where
-    ifoldMap = ifoldMap
-
-instance L.TraversableWithIndex Int RAList where
-    itraverse = itraverse
-#endif
 
 instance L.Each (RAList a) (RAList b) a b
 
diff --git a/src/Data/RAList/NonEmpty/Lens.hs b/src/Data/RAList/NonEmpty/Lens.hs
--- a/src/Data/RAList/NonEmpty/Lens.hs
+++ b/src/Data/RAList/NonEmpty/Lens.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
@@ -49,17 +48,6 @@
 -------------------------------------------------------------------------------
 -- Instances
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_lens(5,0,0)
-instance L.FunctorWithIndex Int NERAList where
-    imap = imap
-
-instance L.FoldableWithIndex Int NERAList where
-    ifoldMap = ifoldMap
-
-instance L.TraversableWithIndex Int NERAList where
-    itraverse = itraverse
-#endif
 
 instance L.Each (NERAList a) (NERAList b) a b
 
diff --git a/src/Data/RAVec/Lens.hs b/src/Data/RAVec/Lens.hs
--- a/src/Data/RAVec/Lens.hs
+++ b/src/Data/RAVec/Lens.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
@@ -39,18 +38,6 @@
 -------------------------------------------------------------------------------
 -- Instances
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_lens(5,0,0)
-instance L.FunctorWithIndex (Pos b) (RAVec b) where
-    imap = imap
-
-instance L.FoldableWithIndex (Pos b) (RAVec b) where
-    ifoldMap = ifoldMap
-    ifoldr   = ifoldr
-
-instance L.TraversableWithIndex (Pos b) (RAVec b) where
-    itraverse = itraverse
-#endif
 
 instance L.Each (RAVec n a) (RAVec n b) a b where
     each = traverse
diff --git a/src/Data/RAVec/NonEmpty/Lens.hs b/src/Data/RAVec/NonEmpty/Lens.hs
--- a/src/Data/RAVec/NonEmpty/Lens.hs
+++ b/src/Data/RAVec/NonEmpty/Lens.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
@@ -39,28 +38,6 @@
 -------------------------------------------------------------------------------
 -- Instances
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_lens(5,0,0)
-instance L.FunctorWithIndex (PosP b) (NERAVec b) where
-    imap = imap
-
-instance L.FunctorWithIndex (PosP' n b) (NERAVec' n b) where
-    imap = imap'
-
-instance L.FoldableWithIndex (PosP b) (NERAVec b) where
-    ifoldMap = ifoldMap
-    ifoldr   = ifoldr
-
-instance L.FoldableWithIndex (PosP' n b) (NERAVec' n b) where
-    ifoldMap = ifoldMap'
-    ifoldr   = ifoldr'
-
-instance L.TraversableWithIndex (PosP b) (NERAVec b) where
-    itraverse = itraverse
-
-instance L.TraversableWithIndex (PosP' n b) (NERAVec' n b) where
-    itraverse = itraverse'
-#endif
 
 instance L.Each (NERAVec n a) (NERAVec n b) a b where
     each = traverse
diff --git a/src/Data/RAVec/Tree/DF/Lens.hs b/src/Data/RAVec/Tree/DF/Lens.hs
--- a/src/Data/RAVec/Tree/DF/Lens.hs
+++ b/src/Data/RAVec/Tree/DF/Lens.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
@@ -42,19 +41,6 @@
 -------------------------------------------------------------------------------
 -- Instances
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_lens(5,0,0)
-instance N.SNatI n => L.FunctorWithIndex (Wrd n) (Tree n) where
-    imap = imap
-
-instance N.SNatI n => L.FoldableWithIndex (Wrd n) (Tree n) where
-    ifoldMap = ifoldMap
-    ifoldr   = ifoldr
-    ifoldl   = ifoldl
-
-instance N.SNatI n => L.TraversableWithIndex (Wrd n) (Tree n) where
-    itraverse = itraverse
-#endif
 
 instance N.SNatI n => L.Each (Tree n a) (Tree n b) a b
 
diff --git a/src/Data/RAVec/Tree/Lens.hs b/src/Data/RAVec/Tree/Lens.hs
--- a/src/Data/RAVec/Tree/Lens.hs
+++ b/src/Data/RAVec/Tree/Lens.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
@@ -41,19 +40,6 @@
 -------------------------------------------------------------------------------
 -- Instances
 -------------------------------------------------------------------------------
-
-#if !MIN_VERSION_lens(5,0,0)
-instance L.FunctorWithIndex (Wrd n) (Tree n) where
-    imap = imap
-
-instance L.FoldableWithIndex (Wrd n) (Tree n) where
-    ifoldMap = ifoldMap
-    ifoldr   = ifoldr
-    ifoldl   = ifoldl
-
-instance L.TraversableWithIndex (Wrd n) (Tree n) where
-    itraverse = itraverse
-#endif
 
 instance L.Each (Tree n a) (Tree n b) a b
 
