diff --git a/creatur.cabal b/creatur.cabal
--- a/creatur.cabal
+++ b/creatur.cabal
@@ -1,5 +1,5 @@
 Name:              creatur
-Version:           5.9.9
+Version:           5.9.10
 Stability:         experimental
 Synopsis:          Framework for artificial life experiments.
 Description:       A software framework for automating experiments
@@ -36,7 +36,7 @@
 source-repository this
   type:     git
   location: https://github.com/mhwombat/creatur.git
-  tag:      5.9.9
+  tag:      5.9.10
 
 library
   GHC-Options:      -Wall -fno-warn-orphans
diff --git a/test/ALife/Creatur/Genetics/BRGCWord8QC.hs b/test/ALife/Creatur/Genetics/BRGCWord8QC.hs
--- a/test/ALife/Creatur/Genetics/BRGCWord8QC.hs
+++ b/test/ALife/Creatur/Genetics/BRGCWord8QC.hs
@@ -26,8 +26,8 @@
 import GHC.Generics (Generic)
 import Test.Framework as TF (Test, testGroup)
 import Test.Framework.Providers.QuickCheck2 (testProperty)
-import Test.QuickCheck (Arbitrary, Gen, Property, arbitrary, choose,
-  oneof, property, sized, vectorOf)
+import Test.QuickCheck ((==>), Arbitrary, Gen, Property, arbitrary,
+  choose, oneof, property, sized, vectorOf)
 
 #if MIN_VERSION_base(4,8,0)
 #else
@@ -39,6 +39,13 @@
   where x = write g
         g' = read x
 
+prop_round_trippable2
+  :: Genetic g => Int -> [Word8] -> g -> Property
+prop_round_trippable2 n xs dummy = length xs >= n
+  ==> xs' == take n xs
+  where Right g = read xs
+        xs' = write (g `asTypeOf` dummy)
+
 prop_rawWord8s_round_trippable :: [Word8] -> Property
 prop_rawWord8s_round_trippable g = property $ g' == g
   where x = fst $ runWriter (putRawWord8s g)
@@ -84,6 +91,14 @@
       (prop_round_trippable :: Word32 -> Property),
     testProperty "prop_round_trippable - Word64"
       (prop_round_trippable :: Word64 -> Property),
+    testProperty "prop_round_trippable2 - Word8"
+      (prop_round_trippable2 1 :: [Word8] -> Word8 -> Property),
+    testProperty "prop_round_trippable2 - Word16"
+      (prop_round_trippable2 2 :: [Word8] -> Word16 -> Property),
+    testProperty "prop_round_trippable2 - Word32"
+      (prop_round_trippable2 4 :: [Word8] -> Word32 -> Property),
+    testProperty "prop_round_trippable2 - Word64"
+      (prop_round_trippable2 8 :: [Word8] -> Word64 -> Property),
     testProperty "prop_round_trippable - TestStructure"
       (prop_round_trippable :: TestStructure -> Property),
     testProperty "prop_rawWord8s_round_trippable"
