diff --git a/exon.cabal b/exon.cabal
--- a/exon.cabal
+++ b/exon.cabal
@@ -1,11 +1,11 @@
 cabal-version: 2.2
 
--- This file has been generated from package.yaml by hpack version 0.36.0.
+-- This file has been generated from package.yaml by hpack version 0.36.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:           exon
-version:        1.7.0.0
+version:        1.7.1.0
 synopsis:       Customizable quasiquote interpolation
 description:    See https://hackage.haskell.org/package/exon/docs/Exon.html
 category:       String
@@ -82,11 +82,11 @@
       NoFieldSelectors
   ghc-options: -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages
   build-depends:
-      base >=4.16.4.0 && <4.20
-    , ghc >=9.2.8 && <9.9
+      base >=4.16.4.0 && <5
+    , ghc >=9.2.8 && <9.11
     , incipit-base >=0.5.0.0 && <0.7
     , parsec >=3.1.15.0 && <3.2
-    , template-haskell >=2.18.0.0 && <2.22
+    , template-haskell >=2.18.0.0 && <2.23
   mixins:
       base hiding (Prelude)
     , incipit-base (IncipitBase as Prelude)
@@ -144,13 +144,13 @@
       NoFieldSelectors
   ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages
   build-depends:
-      base >=4.16.4.0 && <4.20
+      base >=4.16.4.0 && <5
     , exon
-    , hedgehog >=1.1 && <1.5
+    , hedgehog >=1.1 && <1.6
     , incipit-base >=0.5.0.0 && <0.7
-    , tasty >=1.4.0.3 && <1.5
+    , tasty >=1.4.0.3 && <1.6
     , tasty-hedgehog >=1.1.0.0 && <1.5
-    , template-haskell >=2.18.0.0 && <2.22
+    , template-haskell >=2.18.0.0 && <2.23
   mixins:
       base hiding (Prelude)
     , incipit-base (IncipitBase as Prelude)
@@ -200,7 +200,7 @@
       NoFieldSelectors
   ghc-options: -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages
   build-depends:
-      base >=4.16.4.0 && <4.20
+      base >=4.16.4.0 && <5
     , criterion >=1.5.11.0 && <1.7
     , exon
     , incipit-base >=0.5.0.0 && <0.7
diff --git a/lib/Exon/Haskell/Translate.hs b/lib/Exon/Haskell/Translate.hs
--- a/lib/Exon/Haskell/Translate.hs
+++ b/lib/Exon/Haskell/Translate.hs
@@ -21,13 +21,13 @@
 import qualified GHC.Unit.Module as Module
 import GHC.Utils.Outputable (ppr)
 import qualified Language.Haskell.TH.Syntax as TH
+
+import qualified Exon.Haskell.Settings as Settings
+
 #if MIN_VERSION_ghc(9,6,0)
 import Language.Haskell.Syntax.Basic (FieldLabelString (..))
 #endif
 
-import qualified Exon.Haskell.Settings as Settings
-
--- TODO: why this disapears in GHC >= 9.2?
 fl_value = rationalFromFractionalLit
 
 
@@ -48,6 +48,14 @@
 toLit (HsRat _ f _) = TH.FloatPrimL (fl_value f)
 toLit (HsFloatPrim _ f) = TH.FloatPrimL (fl_value f)
 toLit (HsDoublePrim _ f) = TH.DoublePrimL (fl_value f)
+#if MIN_VERSION_ghc(9,8,0)
+toLit (HsInt8Prim _ i) = TH.IntegerL i
+toLit (HsInt16Prim _ i) = TH.IntegerL i
+toLit (HsInt32Prim _ i) = TH.IntegerL i
+toLit (HsWord8Prim _ i) = TH.WordPrimL i
+toLit (HsWord16Prim _ i) = TH.WordPrimL i
+toLit (HsWord32Prim _ i) = TH.WordPrimL i
+#endif
 
 toLit' :: OverLitVal -> TH.Lit
 toLit' (HsIntegral i) = TH.IntegerL (il_value i)
@@ -98,7 +106,9 @@
 toExp d (Expr.HsApp _ e1 e2)
   = TH.AppE (toExp d . unLoc $ e1) (toExp d . unLoc $ e2)
 
-#if MIN_VERSION_ghc(9,6,0)
+#if MIN_VERSION_ghc(9,10,0)
+toExp d (Expr.HsAppType _ e HsWC {hswc_body}) = TH.AppTypeE (toExp d . unLoc $ e) (toType . unLoc $ hswc_body)
+#elif MIN_VERSION_ghc(9,6,0)
 toExp d (Expr.HsAppType _ e _ HsWC {hswc_body}) = TH.AppTypeE (toExp d . unLoc $ e) (toType . unLoc $ hswc_body)
 #else
 toExp d (Expr.HsAppType _ e HsWC {hswc_body}) = TH.AppTypeE (toExp d . unLoc $ e) (toType . unLoc $ hswc_body)
@@ -113,7 +123,9 @@
   = TH.AppE (TH.VarE 'negate) (toExp d . unLoc $ e)
 
 -- NOTE: for lambda, there is only one match
-#if MIN_VERSION_ghc(9,6,0)
+#if MIN_VERSION_ghc(9,10,0)
+toExp d (Expr.HsLam _ _ (Expr.MG _ (unLoc -> (map unLoc -> [Expr.Match _ _ (map unLoc -> ps) (Expr.GRHSs _ [unLoc -> Expr.GRHS _ _ (unLoc -> e)] _)]))))
+#elif MIN_VERSION_ghc(9,6,0)
 toExp d (Expr.HsLam _ (Expr.MG _ (unLoc -> (map unLoc -> [Expr.Match _ _ (map unLoc -> ps) (Expr.GRHSs _ [unLoc -> Expr.GRHS _ _ (unLoc -> e)] _)]))))
 #else
 toExp d (Expr.HsLam _ (Expr.MG _ (unLoc -> (map unLoc -> [Expr.Match _ _ (map unLoc -> ps) (Expr.GRHSs _ [unLoc -> Expr.GRHS _ _ (unLoc -> e)] _)])) _))
@@ -142,7 +154,9 @@
     tupArgs = fmap ((fmap (toExp d)) . toTupArg) args
 
 -- toExp (Expr.List _ xs)                        = TH.ListE (fmap toExp xs)
-#if MIN_VERSION_ghc(9, 4, 0)
+#if MIN_VERSION_ghc(9,10,0)
+toExp d (Expr.HsPar _ e)
+#elif MIN_VERSION_ghc(9,4,0)
 toExp d (Expr.HsPar _ _ e _)
 #else
 toExp d (Expr.HsPar _ e)
