diff --git a/sexp-grammar.cabal b/sexp-grammar.cabal
--- a/sexp-grammar.cabal
+++ b/sexp-grammar.cabal
@@ -1,5 +1,5 @@
 name:                sexp-grammar
-version:             2.3.4.0
+version:             2.3.4.1
 license:             BSD3
 license-file:        LICENSE
 author:              Yevhen Smolanka, Sergey Vinokurov
@@ -14,7 +14,7 @@
 description:
   Serialisation to and deserialisation from S-expressions derived from
   a single grammar definition.
-tested-with:   GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.1
+tested-with:   GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.1, GHC == 9.2.5
 
 source-repository head
   type: git
@@ -49,7 +49,7 @@
     , data-fix           >=0.3   && <0.4
     , deepseq            >=1.4.3 && <2.0
     , invertible-grammar >=0.1.3 && <0.2
-    , prettyprinter      >=1     && <1.8
+    , prettyprinter      >=1.7   && <1.8
     , recursion-schemes  >=5.2   && <5.3
     , scientific         >=0.3.3 && <0.4
     , semigroups         >=0.16  && <0.21
diff --git a/src/Language/Sexp/Encode.hs b/src/Language/Sexp/Encode.hs
--- a/src/Language/Sexp/Encode.hs
+++ b/src/Language/Sexp/Encode.hs
@@ -20,10 +20,6 @@
 import Data.ByteString.Lazy.Builder.ASCII
 #endif
 
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
-
 import Language.Sexp.Types
 import Language.Sexp.Token (escape)
 
diff --git a/src/Language/Sexp/Pretty.hs b/src/Language/Sexp/Pretty.hs
--- a/src/Language/Sexp/Pretty.hs
+++ b/src/Language/Sexp/Pretty.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP               #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE OverloadedStrings #-}
@@ -14,16 +13,9 @@
 import Data.Scientific
 import qualified Data.Text.Lazy as TL
 import Data.Text.Lazy.Encoding (encodeUtf8)
-
-#if MIN_VERSION_prettyprinter(1,7,0)
 import Prettyprinter
 import Prettyprinter.Internal (unsafeTextWithoutNewlines)
 import qualified Prettyprinter.Render.Text as Render
-#else
-import Data.Text.Prettyprint.Doc
-import Data.Text.Prettyprint.Doc.Internal (unsafeTextWithoutNewlines)
-import qualified Data.Text.Prettyprint.Doc.Render.Text as Render
-#endif
 
 import Language.Sexp.Types
 import Language.Sexp.Token (escape)
diff --git a/src/Language/Sexp/Token.hs b/src/Language/Sexp/Token.hs
--- a/src/Language/Sexp/Token.hs
+++ b/src/Language/Sexp/Token.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP               #-}
 {-# LANGUAGE DeriveFunctor     #-}
 {-# LANGUAGE OverloadedStrings #-}
 
@@ -10,17 +9,9 @@
   ) where
 
 import Data.Scientific
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
 import Data.Text (Text)
 import qualified Data.Text.Lazy as TL
-
-#if MIN_VERSION_prettyprinter(1,7,0)
 import Prettyprinter
-#else
-import Data.Text.Prettyprint.Doc
-#endif
 
 import Language.Sexp.Types (Prefix(..))
 
diff --git a/src/Language/Sexp/Types.hs b/src/Language/Sexp/Types.hs
--- a/src/Language/Sexp/Types.hs
+++ b/src/Language/Sexp/Types.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE DeriveFoldable      #-}
 {-# LANGUAGE DeriveFunctor       #-}
 {-# LANGUAGE DeriveGeneric       #-}
@@ -31,12 +30,8 @@
 import Data.Functor.Foldable (cata)
 import Data.Scientific (Scientific)
 import Data.Text (Text)
-#if !MIN_VERSION_prettyprinter(1,7,0)
-import Data.Text.Prettyprint.Doc (Pretty (..), colon)
-#else
-import Prettyprinter (Pretty (..), colon)
-#endif
 import GHC.Generics
+import Prettyprinter (Pretty (..), colon)
 
 ----------------------------------------------------------------------
 -- Positions
@@ -139,8 +134,3 @@
     BracketListF as -> liftRnf f as
     BraceListF as -> liftRnf f as
     ModifiedF q a -> rnf q `seq` f a
-
-#if !MIN_VERSION_deepseq(1,4,3)
-instance NFData1 (Compose (LocatedBy Position) SexpF) where
-  liftRnf f (Compose (p :< a)) = rnf p `seq` liftRnf f a
-#endif
diff --git a/src/Language/SexpGrammar/Base.hs b/src/Language/SexpGrammar/Base.hs
--- a/src/Language/SexpGrammar/Base.hs
+++ b/src/Language/SexpGrammar/Base.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP               #-}
 {-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RankNTypes        #-}
@@ -49,9 +48,6 @@
 import qualified Data.Text as TS
 import qualified Data.Text.Lazy as TL
 import qualified Data.Text.Lazy.Encoding as TL
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
 
 import Language.Sexp.Located
 
diff --git a/src/Language/SexpGrammar/Class.hs b/src/Language/SexpGrammar/Class.hs
--- a/src/Language/SexpGrammar/Class.hs
+++ b/src/Language/SexpGrammar/Class.hs
@@ -1,7 +1,6 @@
-{-# LANGUAGE CPP               #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RankNTypes        #-}
-{-# LANGUAGE Trustworthy       #-}
+{-# LANGUAGE Safe              #-}
 {-# LANGUAGE TypeOperators     #-}
 
 module Language.SexpGrammar.Class
@@ -22,10 +21,6 @@
 import Data.Text (Text)
 import qualified Data.Map as Map
 import qualified Data.Set as Set
-
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
 
 import Language.Sexp.Located
 import Language.SexpGrammar.Base
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE DeriveGeneric         #-}
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
@@ -18,10 +17,6 @@
 
 import Prelude hiding ((.), id)
 
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 710
-import Control.Applicative
-#endif
-
 import Control.Category
 import qualified Data.ByteString.Lazy.Char8 as B8
 import Data.Char
@@ -31,11 +26,7 @@
 import qualified Data.Text as TS
 import Data.Text.Encoding (encodeUtf8)
 
-#if MIN_VERSION_prettyprinter(1,7,0)
 import Prettyprinter (Pretty, pretty)
-#else
-import Data.Text.Prettyprint.Doc (Pretty, pretty)
-#endif
 
 import GHC.Generics
 import Test.QuickCheck ()
