diff --git a/Data/Vec.hs b/Data/Vec.hs
--- a/Data/Vec.hs
+++ b/Data/Vec.hs
@@ -29,7 +29,9 @@
 
 Scott E. Dillard <sedillard@gmail.com>
 
-darcs : <http://graphics.cs.ucdavis.edu/~sdillard/Vec>
+The darcs repository is at <http://graphics.cs.ucdavis.edu/~sdillard/Vec>
+
+Some examples can be found at <http://graphics.cs.ucdavis.edu/~sdillard/Vec/examples>
 
 /Synopsis/
 
diff --git a/Data/Vec/Base.hs b/Data/Vec/Base.hs
--- a/Data/Vec/Base.hs
+++ b/Data/Vec/Base.hs
@@ -562,14 +562,16 @@
 
 instance Arbitrary a => Arbitrary (a:.()) where
   arbitrary = arbitrary >>= return . (:.())
+
+instance CoArbitrary a => CoArbitrary (a:.()) where
   coarbitrary (a:._) = variant 0 . coarbitrary a
 
 instance (Length (a:.v) (Succ n), Arbitrary a', Arbitrary (a:.v)) => Arbitrary (a':.a:.v) where
   arbitrary = arbitrary >>= \a -> 
               arbitrary >>= \v -> return (a:.v);
-  coarbitrary (a:.v) = variant (length v) . coarbitrary a . coarbitrary v
 
-
+instance (Length (a:.v) (Succ n), CoArbitrary a', CoArbitrary (a:.v)) => CoArbitrary (a':.a:.v) where
+  coarbitrary (a:.v) = variant (length v) . coarbitrary a . coarbitrary v
 
 --- UArray instances
 
diff --git a/Data/Vec/Packed.hs b/Data/Vec/Packed.hs
--- a/Data/Vec/Packed.hs
+++ b/Data/Vec/Packed.hs
@@ -270,6 +270,9 @@
 instance (Arbitrary v, PackedVec v) => Arbitrary (Packed v)
   where
   arbitrary = arbitrary >>= return . pack
+
+instance (CoArbitrary v, PackedVec v) => CoArbitrary (Packed v)
+  where
   coarbitrary v = coarbitrary (unpack v)
 
 
diff --git a/Vec.cabal b/Vec.cabal
--- a/Vec.cabal
+++ b/Vec.cabal
@@ -1,5 +1,5 @@
 Name:                Vec
-Version:             0.9.7
+Version:             0.9.8
 License:             BSD3
 License-file:        LICENSE
 Author:              Scott E. Dillard
@@ -20,7 +20,7 @@
 Category:            Data,Math
 
 library
-    Build-Depends:      base<=5,QuickCheck<2,array,ghc-prim
+    Build-Depends:      base<=5,QuickCheck>=2&&<3,array,ghc-prim
 
     Exposed-modules:    Data.Vec 
                         Data.Vec.Base,
