diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,13 @@
 # Changes
 
+## Next
+
+-
+
+## 0.9.4.7.0
+
+- Set support for GHC 9.4.7
+
 ## 0.9.2.8.0
 
 - Support for GHC 9.2.8
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -339,33 +339,17 @@
 Currently, no. Only one version of GHC is supported and that is the one
 that can be tested with `./scripts/test/test_plugin.sh`.
 
-# GHC Plugin Development FAQs
-
-## Why is the GHC.Interface using slightly different types than the GHC.Plugin module?
-
-Mostly for backward-compatibility and for historical reasons. Types like [BareSpec][] used to be type alias
-rather than `newtype`s, and things were slightly renamed to reflect better purpose when the support for the
-plugin was added. While doing so we also added a compatibility layer in the form of some `optics` that can be used
-to map back and forth (sometimes in a partial way) between old and new data structures. When in doubt,
-**consider the GHC.Plugin as the single source of truth, and prefer whichever data structure the latter is
-using**.
-
 [GHC.API]:             liquidhaskell-boot/src-ghc/Liquid/GHC/API.hs
 [Plugin]:              liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs
 [GHC.Plugin]:          liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs
 [GHC.Interface]:       liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Interface.hs
 [SpecFinder]:          liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin/SpecFinder.hs
-[BareSpec]:            liquidhaskell-boot/src/Language/Haskell/Liquid/Types/Specs.hs#L362
 [LiftedSpec]:          liquidhaskell-boot/src/Language/Haskell/Liquid/Types/Specs.hs#L559
 [TargetSrc]:           liquidhaskell-boot/src/Language/Haskell/Liquid/Types/Specs.hs#L158
-[Ghc monad]:           https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:Ghc
-[HscEnv]:              https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:HscEnv
-[DynFlags]:            https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:DynFlags
-[GhcMonad]:            https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC.html#t:GhcMonad
 [typechecking phase]:  liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs#L211-L226
 [ghcide]:              https://github.com/haskell/ghcide
 [findRelevantSpecs]:   liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin/SpecFinder.hs#L65
-[core binds]:          https://hackage.haskell.org/package/ghc-9.2.8/docs/GHC-Core.html#t:CoreBind
+[core binds]:          https://hackage.haskell.org/package/ghc-9.4.7/docs/GHC-Core.html#t:CoreBind
 [configureGhcTargets]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Interface.hs#L254
 [processTargetModule]: liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Interface.hs#L483
 [processModule]:       liquidhaskell-boot/src/Language/Haskell/Liquid/GHC/Plugin.hs#L509
diff --git a/liquidhaskell.cabal b/liquidhaskell.cabal
--- a/liquidhaskell.cabal
+++ b/liquidhaskell.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               liquidhaskell
-version:            0.9.2.8.0
+version:            0.9.4.7.0
 synopsis:           Liquid Types for Haskell
 description:        Liquid Types for Haskell.
 license:            BSD-3-Clause
@@ -11,7 +11,7 @@
 category:           Language
 homepage:           https://github.com/ucsd-progsys/liquidhaskell
 build-type:         Custom
-tested-with:        GHC == 9.2.8
+tested-with:        GHC == 9.4.7
 extra-doc-files: CHANGES.md
                  README.md
 
@@ -57,6 +57,7 @@
                       GHC.IO.Handle_LHAssumptions
                       GHC.List_LHAssumptions
                       GHC.Num_LHAssumptions
+                      GHC.Num.Integer_LHAssumptions
                       GHC.Maybe_LHAssumptions
                       GHC.Ptr_LHAssumptions
                       GHC.Real_LHAssumptions
@@ -77,9 +78,10 @@
   hs-source-dirs:     src
 
   build-depends:      base                 >= 4.11.1.0 && < 5,
-                      liquidhaskell-boot   == 0.9.2.8.0,
-                      bytestring           == 0.11.4.0,
-                      containers           == 0.6.5.1,
+                      liquidhaskell-boot   == 0.9.4.7.0,
+                      bytestring           == 0.11.5.2,
+                      containers           == 0.6.7,
+                      ghc-bignum,
                       ghc-prim
   default-language:   Haskell98
   ghc-options:        -Wall -fplugin=LiquidHaskellBoot
diff --git a/src/GHC/Num/Integer_LHAssumptions.hs b/src/GHC/Num/Integer_LHAssumptions.hs
new file mode 100644
--- /dev/null
+++ b/src/GHC/Num/Integer_LHAssumptions.hs
@@ -0,0 +1,12 @@
+{-# LANGUAGE MagicHash #-}
+{-# OPTIONS_GHC -Wno-unused-imports #-}
+module GHC.Num.Integer_LHAssumptions() where
+
+import GHC.Types
+import GHC.Num.Integer
+import GHC.Types_LHAssumptions()
+
+
+{-@
+assume GHC.Num.Integer.IS :: x:GHC.Prim.Int# -> {v: GHC.Num.Integer | v = (x :: int) }
+@-}
diff --git a/src/GHC/Types_LHAssumptions.hs b/src/GHC/Types_LHAssumptions.hs
--- a/src/GHC/Types_LHAssumptions.hs
+++ b/src/GHC/Types_LHAssumptions.hs
@@ -16,6 +16,7 @@
 embed GHC.Prim.Float#   as real
 embed GHC.Types.Word    as int
 embed GHC.Prim.Word#    as int
+embed GHC.Prim.Word64#  as int
 embed GHC.Types.Int     as int
 embed GHC.Prim.Int#     as int
 embed GHC.Types.Bool    as bool
diff --git a/src/Prelude_LHAssumptions.hs b/src/Prelude_LHAssumptions.hs
--- a/src/Prelude_LHAssumptions.hs
+++ b/src/Prelude_LHAssumptions.hs
@@ -4,6 +4,7 @@
 import GHC.Float_LHAssumptions()
 import GHC.Maybe_LHAssumptions()
 import GHC.Num_LHAssumptions()
+import GHC.Num.Integer_LHAssumptions()
 import GHC.Real_LHAssumptions()
 import Liquid.Prelude.Real_LHAssumptions()
 import Liquid.Prelude.Totality_LHAssumptions()
