diff --git a/patches/ghc-tcplugins-extra-0.4.5.patch b/patches/ghc-tcplugins-extra-0.4.5.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5923e2892950ee181b25c4b7afc26d1370383ff1
--- /dev/null
+++ b/patches/ghc-tcplugins-extra-0.4.5.patch
@@ -0,0 +1,31 @@
+diff --git a/ghc-tcplugins-extra.cabal b/ghc-tcplugins-extra.cabal
+index 7605349..81e008b 100644
+--- a/ghc-tcplugins-extra.cabal
++++ b/ghc-tcplugins-extra.cabal
+@@ -47,7 +47,7 @@ library
+   ghc-options: -Wall
+   build-depends:
+       base >=4.8 && <5
+-    , ghc >=7.10 && <9.10
++    , ghc >=7.10 
+   default-language: Haskell2010
+   if impl(ghc >= 8.0.0)
+     ghc-options: -Wcompat -Wincomplete-uni-patterns -Widentities -Wredundant-constraints
+@@ -55,7 +55,7 @@ library
+     ghc-options: -fhide-source-paths
+   if flag(deverror)
+     ghc-options: -Werror
+-  if impl(ghc >= 9.8) && impl(ghc < 9.10)
++  if impl(ghc >= 9.8) 
+     other-modules:
+         GhcApi.Constraint
+         GhcApi.Predicate
+@@ -67,7 +67,7 @@ library
+         src-ghc-tree-9.4
+         src-ghc-9.8
+     build-depends:
+-        ghc >=9.8 && <9.10
++        ghc >=9.8
+   if impl(ghc >= 9.4) && impl(ghc < 9.8)
+     other-modules:
+         GhcApi.Constraint
diff --git a/patches/ghc-typelits-extra-0.4.6.patch b/patches/ghc-typelits-extra-0.4.6.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3dd8e8df3b4cf0a8acd78150e7de8505afce3eaf
--- /dev/null
+++ b/patches/ghc-typelits-extra-0.4.6.patch
@@ -0,0 +1,31 @@
+diff --git a/ghc-typelits-extra.cabal b/ghc-typelits-extra.cabal
+index 77851bd..edc28a9 100644
+--- a/ghc-typelits-extra.cabal
++++ b/ghc-typelits-extra.cabal
+@@ -69,7 +69,7 @@ library
+                        GHC.TypeLits.Extra.Solver.Operations
+   build-depends:       base                      >= 4.8     && <5,
+                        containers                >= 0.5.7.1 && <0.7,
+-                       ghc                       >= 7.10    && <9.10,
++                       ghc                       >= 7.10,
+                        ghc-prim                  >= 0.5     && <1.0,
+                        ghc-tcplugins-extra       >= 0.3.1,
+                        ghc-typelits-knownnat     >= 0.7.2   && <0.8,
+@@ -82,7 +82,7 @@ library
+   hs-source-dirs:      src
+   if impl(ghc >= 8.0) && impl(ghc < 9.4)
+     hs-source-dirs:    src-pre-ghc-9.4
+-  if impl(ghc >= 9.4) && impl(ghc < 9.10)
++  if impl(ghc >= 9.4) 
+     hs-source-dirs:    src-ghc-9.4
+   default-language:    Haskell2010
+   other-extensions:    DataKinds
+@@ -115,7 +115,7 @@ test-suite test-ghc-typelits-extra
+   hs-source-dirs:      tests
+   if impl(ghc >= 8.0) && impl(ghc < 9.4)
+     hs-source-dirs:    tests-pre-ghc-9.4
+-  if impl(ghc >= 9.4) && impl(ghc < 9.10)
++  if impl(ghc >= 9.4) 
+     hs-source-dirs:    tests-ghc-9.4
+   default-language:    Haskell2010
+   other-extensions:    DataKinds
diff --git a/patches/ghc-typelits-knownnat-0.7.10.patch b/patches/ghc-typelits-knownnat-0.7.10.patch
new file mode 100644
index 0000000000000000000000000000000000000000..438327bc4e7b157726793b1710499264b2019053
--- /dev/null
+++ b/patches/ghc-typelits-knownnat-0.7.10.patch
@@ -0,0 +1,22 @@
+diff --git a/ghc-typelits-knownnat.cabal b/ghc-typelits-knownnat.cabal
+index c8254fb..7f00d15 100644
+--- a/ghc-typelits-knownnat.cabal
++++ b/ghc-typelits-knownnat.cabal
+@@ -87,7 +87,7 @@ library
+                        UndecidableInstances
+                        ViewPatterns
+   build-depends:       base                      >= 4.9      && <5,
+-                       ghc                       >= 8.0.1    && <9.10,
++                       ghc                       >= 8.0.1,
+                        ghc-prim                  >= 0.4.0.0  && <0.12,
+                        ghc-tcplugins-extra       >= 0.3.1,
+                        ghc-typelits-natnormalise >= 0.7.1    && <0.8,
+@@ -101,7 +101,7 @@ library
+     ghc-options:       -Wall
+   if impl(ghc >= 8.0) && impl(ghc < 9.4)
+     hs-source-dirs:    src-pre-ghc-9.4
+-  if impl(ghc >= 9.4) && impl(ghc < 9.10)
++  if impl(ghc >= 9.4) 
+     hs-source-dirs:    src-ghc-9.4
+   if impl(ghc < 8.2)
+     build-depends:     integer-gmp               >= 0.5.1.0
diff --git a/patches/ghc-typelits-natnormalise-0.7.9.patch b/patches/ghc-typelits-natnormalise-0.7.9.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f3ddf372ada701468a54be81e8183512150b0b70
--- /dev/null
+++ b/patches/ghc-typelits-natnormalise-0.7.9.patch
@@ -0,0 +1,22 @@
+diff --git a/ghc-typelits-natnormalise.cabal b/ghc-typelits-natnormalise.cabal
+index 1295e0c..b630df0 100644
+--- a/ghc-typelits-natnormalise.cabal
++++ b/ghc-typelits-natnormalise.cabal
+@@ -68,7 +68,7 @@ library
+                        GHC.TypeLits.Normalise.Unify
+   build-depends:       base                >=4.9   && <5,
+                        containers          >=0.5.7.1 && <0.7,
+-                       ghc                 >=8.0.1 && <9.10,
++                       ghc                 >=8.0.1,
+                        ghc-tcplugins-extra >=0.3.1,
+                        transformers        >=0.5.2.0 && < 0.7
+   if impl(ghc >= 9.0.0)
+@@ -78,7 +78,7 @@ library
+   hs-source-dirs:      src
+   if impl(ghc >= 8.0) && impl(ghc < 9.4)
+     hs-source-dirs:    src-pre-ghc-9.4
+-  if impl(ghc >= 9.4) && impl(ghc < 9.10)
++  if impl(ghc >= 9.4) 
+     hs-source-dirs:    src-ghc-9.4
+   default-language:    Haskell2010
+   other-extensions:    CPP