diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+0.3.26
+
+* Support base-4.16 / GHC-9.2
+* Add instances for `text-short`'s `ShortText` type
+* Add instances for `Solo`
+* Fix bug in `CoArbitrary (Hashed a)` instance
+
 0.3.25.2
 
 * Fix bug in QuarterOfYear instance
diff --git a/quickcheck-instances.cabal b/quickcheck-instances.cabal
--- a/quickcheck-instances.cabal
+++ b/quickcheck-instances.cabal
@@ -1,5 +1,5 @@
 name:               quickcheck-instances
-version:            0.3.25.2
+version:            0.3.26
 synopsis:           Common quickcheck instances
 description:
   QuickCheck instances.
@@ -39,7 +39,9 @@
    || ==8.4.4
    || ==8.6.5
    || ==8.8.4
-   || ==8.10.3
+   || ==8.10.4
+   || ==9.0.1
+   || ==9.2.1
 
 source-repository head
   type:     git
@@ -64,6 +66,7 @@
     Test.QuickCheck.Instances.OldTime
     Test.QuickCheck.Instances.Scientific
     Test.QuickCheck.Instances.Semigroup
+    Test.QuickCheck.Instances.Solo
     Test.QuickCheck.Instances.Strict
     Test.QuickCheck.Instances.Tagged
     Test.QuickCheck.Instances.Text
@@ -78,7 +81,7 @@
   other-modules:    Test.QuickCheck.Instances.CustomPrelude
   hs-source-dirs:   src
   build-depends:
-      base        >=4.5    && <4.15
+      base        >=4.5    && <4.17
     , QuickCheck  >=2.14.1 && <2.14.3
     , splitmix    >=0.0.2  && <0.2
 
@@ -91,14 +94,15 @@
     , hashable              >=1.2.7.0 && <1.4
     , integer-logarithms    >=1.0.3   && <1.1
     , old-time              >=1.1.0.0 && <1.2
+    , OneTuple              >=0.3     && <0.4
     , scientific            >=0.3.6.2 && <0.4
     , strict                >=0.4     && <0.5
     , tagged                >=0.8.6   && <0.9
     , text                  >=1.2.3.0 && <1.3
     , these                 >=1.1.1.1 && <1.2
     , time-compat           >=1.9.4   && <1.10
-    , transformers          >=0.3.0.0 && <0.6
-    , transformers-compat   >=0.6.5   && <0.7
+    , transformers          >=0.3.0.0 && <0.7
+    , transformers-compat   >=0.6.5   && <0.8
     , unordered-containers  >=0.2.2.0 && <0.3
     , uuid-types            >=1.0.3   && <1.1
     , vector                >=0.9     && <0.13
@@ -116,11 +120,15 @@
 
   if flag(bytestring-builder)
     build-depends:
-        bytestring          >=0      && <0.10.4.0
+        bytestring          <0.10.4.0
       , bytestring-builder  >=0.10.4 && <0.11
 
   else
     build-depends: bytestring >=0.10.4.0
+
+  if impl(ghc >=7.8)
+    exposed-modules: Test.QuickCheck.Instances.Text.Short
+    build-depends:   text-short >=0.1.3 && <0.2
 
   ghc-options:      -Wall
 
diff --git a/src/Test/QuickCheck/Instances.hs b/src/Test/QuickCheck/Instances.hs
--- a/src/Test/QuickCheck/Instances.hs
+++ b/src/Test/QuickCheck/Instances.hs
@@ -12,14 +12,28 @@
 
  * containers
 
+ * data-fix
+
+ * OneTuple
+
  * old-time
 
+ * strict
+
  * text
 
+ * text-short
+
+ * these
+
  * time
 
  * unordered-containers
 
+ * uuid
+
+ * vector
+
 Since all of these instances are provided as orphans, I recommend that
 you do not use this library within another library module, so that you
 don't impose these instances on down-stream consumers of your code.
@@ -40,6 +54,7 @@
 import Test.QuickCheck.Instances.OldTime ()
 import Test.QuickCheck.Instances.Scientific ()
 import Test.QuickCheck.Instances.Semigroup ()
+import Test.QuickCheck.Instances.Solo ()
 import Test.QuickCheck.Instances.Strict ()
 import Test.QuickCheck.Instances.Tagged ()
 import Test.QuickCheck.Instances.Text ()
@@ -50,3 +65,7 @@
 import Test.QuickCheck.Instances.UUID ()
 import Test.QuickCheck.Instances.Vector ()
 import Test.QuickCheck.Instances.Void ()
+
+#ifdef MIN_VERSION_text_short
+import Test.QuickCheck.Instances.Text.Short ()
+#endif
diff --git a/src/Test/QuickCheck/Instances/Hashable.hs b/src/Test/QuickCheck/Instances/Hashable.hs
--- a/src/Test/QuickCheck/Instances/Hashable.hs
+++ b/src/Test/QuickCheck/Instances/Hashable.hs
@@ -6,7 +6,7 @@
 import Prelude ()
 import Test.QuickCheck.Instances.CustomPrelude
 
-import Data.Hashable (Hashable, Hashed, hashed)
+import Data.Hashable (Hashable, Hashed, hash, hashed)
 
 import Test.QuickCheck
 
@@ -19,5 +19,5 @@
     arbitrary = hashed <$> arbitrary
 
 instance CoArbitrary (Hashed a) where
-    coarbitrary x = coarbitrary (hashed x)
+    coarbitrary x = coarbitrary (hash x :: Int)
 #endif
diff --git a/src/Test/QuickCheck/Instances/Semigroup.hs b/src/Test/QuickCheck/Instances/Semigroup.hs
--- a/src/Test/QuickCheck/Instances/Semigroup.hs
+++ b/src/Test/QuickCheck/Instances/Semigroup.hs
@@ -110,7 +110,7 @@
 instance Function a => Function (Semi.WrappedMonoid a) where
     function = functionMap Semi.unwrapMonoid Semi.WrapMonoid
 
-
+#if !(MIN_VERSION_base(4,16,0))
 instance Arbitrary1 Semi.Option where
     liftArbitrary arb = Semi.Option <$> liftArbitrary arb
     liftShrink shr = map Semi.Option . liftShrink shr . Semi.getOption
@@ -124,3 +124,4 @@
 
 instance Function a => Function (Semi.Option a) where
     function = functionMap Semi.getOption Semi.Option
+#endif
diff --git a/src/Test/QuickCheck/Instances/Solo.hs b/src/Test/QuickCheck/Instances/Solo.hs
new file mode 100644
--- /dev/null
+++ b/src/Test/QuickCheck/Instances/Solo.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE CPP              #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+module Test.QuickCheck.Instances.Solo () where
+
+import Prelude ()
+import Test.QuickCheck.Instances.CustomPrelude
+
+import Data.Tuple.Solo (Solo (Solo), getSolo)
+
+import Test.QuickCheck
+
+instance Arbitrary1 Solo where
+  liftArbitrary = fmap Solo
+  liftShrink shr = map Solo . shr . getSolo
+
+instance Arbitrary a => Arbitrary (Solo a) where
+  arbitrary = arbitrary1
+  shrink = shrink1
+
+instance CoArbitrary a => CoArbitrary (Solo a) where
+  coarbitrary = coarbitrary . getSolo
+
+instance Function a => Function (Solo a) where
+  function = functionMap getSolo Solo
diff --git a/src/Test/QuickCheck/Instances/Text/Short.hs b/src/Test/QuickCheck/Instances/Text/Short.hs
new file mode 100644
--- /dev/null
+++ b/src/Test/QuickCheck/Instances/Text/Short.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE CPP              #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+module Test.QuickCheck.Instances.Text.Short () where
+
+import Prelude ()
+import Test.QuickCheck.Instances.CustomPrelude
+
+import Test.QuickCheck
+
+import qualified Data.Text.Short as T
+
+-------------------------------------------------------------------------------
+-- text
+-------------------------------------------------------------------------------
+
+instance Arbitrary T.ShortText where
+    arbitrary = T.pack <$> arbitrary
+    shrink xs = T.pack <$> shrink (T.unpack xs)
+
+instance CoArbitrary T.ShortText where
+    coarbitrary = coarbitrary . T.unpack
+
+instance Function T.ShortText where
+    function = functionMap T.unpack T.pack
