diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+## 0.2.7 [2023.08.09]
+---------------------
+* Drop GHC 7.10 support and require GHC 8.0 or later to build.
+* Make the examples build warnings-free with GHC 9.8.
+
 ## 0.2.6 [2022.05.18]
 ---------------------
 * Make the `IncCounterExperiment` benchmark compile with GHC 9.4.
diff --git a/examples/MoveString.hs b/examples/MoveString.hs
--- a/examples/MoveString.hs
+++ b/examples/MoveString.hs
@@ -5,7 +5,9 @@
 import Control.Concurrent.RCU.MODE
 import Control.Concurrent.RCU.Class
 import Control.Monad (forM, forM_, replicateM)
-import Data.List (group, intercalate)
+import qualified Data.Foldable as F
+import Data.List (intercalate)
+import qualified Data.List.NonEmpty as NE
 import Prelude hiding (read)
 
 data List s a = Nil | Cons a (SRef s (List s a))
@@ -54,7 +56,7 @@
   newSRef $ Cons 'A' c4
 
 compactShow :: (Show a, Eq a) => [a] -> String
-compactShow xs = intercalate ", " $ map (\xs' -> show (length xs') ++ " x " ++ show (head xs')) $ group xs
+compactShow xs = intercalate ", " $ map (\xs' -> show (F.length xs') ++ " x " ++ show (NE.head xs')) $ NE.group xs
 
 main :: IO ()
 main = do
diff --git a/rcu.cabal b/rcu.cabal
--- a/rcu.cabal
+++ b/rcu.cabal
@@ -1,6 +1,6 @@
 name:          rcu
 category:      Data
-version:       0.2.6
+version:       0.2.7
 license:       BSD3
 cabal-version: 1.22
 license-file:  LICENSE
@@ -11,15 +11,16 @@
 bug-reports:   http://github.com/ekmett/rcu/issues
 copyright:     Copyright (C) 2015 Edward A. Kmett, Theodore Rhys Cooper
 build-type:    Simple
-tested-with:   GHC == 7.10.3
-             , GHC == 8.0.2
+tested-with:   GHC == 8.0.2
              , GHC == 8.2.2
              , GHC == 8.4.4
              , GHC == 8.6.5
              , GHC == 8.8.4
              , GHC == 8.10.7
              , GHC == 9.0.2
-             , GHC == 9.2.2
+             , GHC == 9.2.8
+             , GHC == 9.4.5
+             , GHC == 9.6.2
 synopsis:      Read-Copy-Update for Haskell
 description:   Read-Copy-Update for Haskell.
 
@@ -47,7 +48,7 @@
 library
   build-depends:
     atomic-primops >= 0.8,
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     fail == 4.9.*,
     ghc-prim >= 0.3,
     parallel >= 3.2 && < 3.3,
@@ -126,7 +127,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=QSBR -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -153,7 +154,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=GC -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -180,7 +181,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=QSBR -DBENCHMARKS -DUNBOUND
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -207,7 +208,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=GC -DBENCHMARKS -DUNBOUND
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -234,7 +235,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=QSBR -DBENCHMARKS -DUNBOUND
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -261,7 +262,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=GC -DBENCHMARKS -DUNBOUND
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -288,7 +289,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=QSBR -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -315,7 +316,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=GC -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -342,7 +343,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=QSBR -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -369,7 +370,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=GC -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -396,7 +397,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=QSBR -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
@@ -423,7 +424,7 @@
   type: exitcode-stdio-1.0
   cpp-options: -DMODE=GC -DBENCHMARKS
   build-depends:
-    base >= 4.8 && < 5,
+    base >= 4.9 && < 5,
     containers >= 0.5,
     deepseq >= 1.4.1,
     ghc-prim >= 0.3,
