diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,9 @@
+## Changes in 0.8.8 [2023.03.05]
+ - Backport new instances from GHC 9.6.1/`base-4.18.0.0`:
+   * `Functor` instances for the `(,,,,) a b c d`, `(,,,,,) a b c d e`, and
+     `(,,,,,) a b c d e f` tuple types.
+   * `Eq` and `Ord` instances for `Generically`
+
 ## Changes in 0.8.7 [2022.08.11]
  - Backport new instances from GHC 9.2.2/`base-4.16.1.0`:
    * `Ix` instances for various integral types in `Foreign.C.Types`,
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -56,12 +56,15 @@
  * `Eq` and `Ord` instances for `Control.Exception.ErrorCall`
  * `Eq`, `Ord`, `Read`, and `Show` instances for data types in `GHC.Generics`
  * `Eq`, `Ord`, `Bounded`, `Enum`, and `Ix` instances for `Solo`
+ * `Eq` and `Ord` instances for `Generically1`
  * `Eq1`, `Read1`, and `Show1` instances for `Complex`
  * `Eq1`, `Ord1`, `Read1`, and `Show1` instances for `NonEmpty`
  * `Foldable` instance for `Either`, `(,)` and `Const`
  * `Foldable` and `Traversable` instances for `Alt` from `Data.Monoid`
  * `Functor`, `Applicative`, and `Monad` instances for
    `(,,) a b` and `(,,,) a b c`
+ * `Functor` instances for `(,,,,) a b c d`, `(,,,,,) a b c d e`, and
+   `(,,,,,) a b c d e f`
  * `Functor` instance for `Handler`, `ArgOrder`, `OptDescr`, and `ArgDescr`
  * `Functor`, `Applicative`, `Alternative`, and `MonadPlus` instances for `ArrowMonad`
  * `Functor`, `Applicative`, `Monad`, `Alternative`, and `MonadPlus` instances
@@ -101,6 +104,7 @@
 
 ## Supported versions of GHC/`base`
 
+ * `ghc-9.6.*`  / `base-4.18.*`
  * `ghc-9.4.*`  / `base-4.17.*`
  * `ghc-9.2.*`  / `base-4.16.*`
  * `ghc-9.0.*`  / `base-4.15.*`
diff --git a/base-orphans.cabal b/base-orphans.cabal
--- a/base-orphans.cabal
+++ b/base-orphans.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.35.0.
+-- This file has been generated from package.yaml by hpack version 0.35.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 72579eb12963b1336e2e979d497378f6dac77805e17a8e53f86b6b2984fcab08
+-- hash: f82e70fedaf9e2f5197e1d47974f547ff62f81c96cce4ffb8af90121a7825a0f
 
 name:                base-orphans
-version:             0.8.7
+version:             0.8.8
 synopsis:            Backwards-compatible orphan instances for base
 description:         @base-orphans@ defines orphan instances that mimic instances available in
                      later versions of @base@ to a wider (older) range of compilers.
diff --git a/src/Data/Orphans.hs b/src/Data/Orphans.hs
--- a/src/Data/Orphans.hs
+++ b/src/Data/Orphans.hs
@@ -11,6 +11,7 @@
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE UndecidableInstances #-}
 
 #if __GLASGOW_HASKELL__ >= 702
 {-# LANGUAGE Trustworthy #-}
@@ -20,12 +21,14 @@
 {-# LANGUAGE PolyKinds #-}
 #endif
 
-#if __GLASGOW_HASKELL__ >= 708 && __GLASGOW_HASKELL__ < 710
+#if __GLASGOW_HASKELL__ >= 708
 {-# LANGUAGE DataKinds #-}
+# if __GLASGOW_HASKELL__ < 710
 {-# LANGUAGE NullaryTypeClasses #-}
+# endif
 #endif
 
-#if __GLASGOW_HASKELL__ >= 800
+#if __GLASGOW_HASKELL__ >= 800 && __GLASGOW_HASKELL__ < 806
 {-# LANGUAGE TypeInType #-}
 #endif
 
@@ -1960,6 +1963,24 @@
 #  if defined(HTYPE_NFDS_T)
 deriving instance Ix CNfds
 #  endif
+# endif
+#endif
+
+#if !(MIN_VERSION_base(4,18,0))
+instance Functor ((,,,,) a b c d) where
+    fmap f (a, b, c, d, e) = (a, b, c, d, f e)
+instance Functor ((,,,,,) a b c d e) where
+    fmap fun (a, b, c, d, e, f) = (a, b, c, d, e, fun f)
+instance Functor ((,,,,,,) a b c d e f) where
+    fmap fun (a, b, c, d, e, f, g) = (a, b, c, d, e, f, fun g)
+
+# if MIN_VERSION_base(4,17,0)
+instance (Generic1 f, Eq (Rep1 f a)) => Eq (Generically1 f a) where
+   Generically1 x == Generically1 y = from1 x == from1 y
+   Generically1 x /= Generically1 y = from1 x /= from1 y
+
+instance (Generic1 f, Ord (Rep1 f a)) => Ord (Generically1 f a) where
+   Generically1 x `compare` Generically1 y = from1 x `compare` from1 y
 # endif
 #endif
 
diff --git a/src/Data/Orphans/Prelude.hs b/src/Data/Orphans/Prelude.hs
--- a/src/Data/Orphans/Prelude.hs
+++ b/src/Data/Orphans/Prelude.hs
@@ -21,7 +21,7 @@
 Note that this module does not export any modules that could introduce name clashes.
 -}
 module Data.Orphans.Prelude
-#if MIN_VERSION_base(4,16,1)
+#if MIN_VERSION_base(4,18,0)
     () where
 #else
     ( module OrphansPrelude
@@ -156,6 +156,11 @@
 # if !(MIN_VERSION_base(4,11,0))
 import Data.Typeable ( Typeable1, Typeable2, Typeable3, Typeable4
                      , Typeable5, Typeable6, Typeable7 )
+# endif
+
+# if MIN_VERSION_base(4,17,0) && !(MIN_VERSION_base(4,18,0))
+import GHC.Generics as OrphansPrelude ( Generic(..), Generic1(..)
+                                      , Generically(..), Generically1(..) )
 # endif
 
 # if MIN_VERSION_base(4,4,0)
diff --git a/test/System/Posix/Types/OrphansSpec.hs b/test/System/Posix/Types/OrphansSpec.hs
--- a/test/System/Posix/Types/OrphansSpec.hs
+++ b/test/System/Posix/Types/OrphansSpec.hs
@@ -7,7 +7,7 @@
 import           Test.Hspec
 
 #if defined(HTYPE_DEV_T)
-import           Control.Applicative (liftA2)
+import qualified Control.Applicative as App (liftA2)
 
 import           Data.Bits (Bits(..))
 import           Data.Orphans ()
@@ -82,7 +82,7 @@
             -> (a -> b)
             -> (a -> c)
             -> a -> d
-pred1Common = liftA2
+pred1Common = App.liftA2
 
 pred1HDev :: (b -> c -> Bool)
           -> (CDev -> b)
