diff --git a/lib/Rainbow/Colors/Coarbitrary.hs b/lib/Rainbow/Colors/Coarbitrary.hs
--- a/lib/Rainbow/Colors/Coarbitrary.hs
+++ b/lib/Rainbow/Colors/Coarbitrary.hs
@@ -3,7 +3,10 @@
 import Test.QuickCheck
 import Rainbow.Colors
 import Rainbow.Types.Coarbitrary
+import qualified Prelude.Coarbitrary
 
 both :: Both -> Gen b -> Gen b
-both (Both c) = color8 c
+both (Both c8 mc256) =
+  color8 c8
+  . Prelude.Coarbitrary.maybe color256 mc256
 
diff --git a/lib/Rainbow/Colors/Generators.hs b/lib/Rainbow/Colors/Generators.hs
--- a/lib/Rainbow/Colors/Generators.hs
+++ b/lib/Rainbow/Colors/Generators.hs
@@ -3,6 +3,9 @@
 import qualified Rainbow.Colors as C
 import Test.QuickCheck
 import qualified Rainbow.Types.Generators as G
+import Control.Monad
+import qualified Prelude.Generators
 
 both :: Gen C.Both
-both = fmap C.Both G.color8
+both = liftM2 C.Both G.color8
+  (Prelude.Generators.maybe G.color256)
diff --git a/lib/Rainbow/Colors/Shrinkers.hs b/lib/Rainbow/Colors/Shrinkers.hs
--- a/lib/Rainbow/Colors/Shrinkers.hs
+++ b/lib/Rainbow/Colors/Shrinkers.hs
@@ -2,6 +2,9 @@
 
 import qualified Rainbow.Colors as C
 import qualified Rainbow.Types.Shrinkers as S
+import qualified Prelude.Shrinkers
 
 both :: C.Both -> [C.Both]
-both (C.Both b) = map C.Both $ S.color8 b
+both (C.Both c8 mc256) =
+  zipWith C.Both (S.color8 c8)
+    (Prelude.Shrinkers.maybe S.color256 mc256)
diff --git a/rainbow-tests.cabal b/rainbow-tests.cabal
--- a/rainbow-tests.cabal
+++ b/rainbow-tests.cabal
@@ -3,10 +3,10 @@
 -- http://www.github.com/massysett/cartel
 --
 -- Script name used to generate: genCabal.hs
--- Generated on: 2014-08-14 14:47:29.950084 EDT
+-- Generated on: 2014-10-27 11:16:33.494023 EDT
 -- Cartel library version: 0.10.0.2
 name: rainbow-tests
-version: 0.16.2.0
+version: 0.18.0.0
 cabal-version: >= 1.14
 build-type: Simple
 license: BSD3
@@ -55,6 +55,6 @@
       base ((> 4.5.0.0 || == 4.5.0.0) && < 4.8.0.0)
     , terminfo ((> 0.3.2 || == 0.3.2) && < 0.5.0.0)
     , text ((> 0.11.2.0 || == 0.11.2.0) && < 1.2.0.0)
-    , rainbow == 0.16.2.0
+    , rainbow == 0.18.0.0
     , QuickCheck ((> 2.7.5 || == 2.7.5) && < 2.8)
     , barecheck ((> 0.2.0.0 || == 0.2.0.0) && < 0.3)
