diff --git a/Data/Tensor/TypeLevel.hs b/Data/Tensor/TypeLevel.hs
--- a/Data/Tensor/TypeLevel.hs
+++ b/Data/Tensor/TypeLevel.hs
@@ -82,6 +82,16 @@
     _ <- P.char ')'
     return ret
 
+instance QC.Arbitrary (Vec a) where
+  arbitrary = return Vec
+  shrink = const []
+
+instance (QC.Arbitrary a, QC.Arbitrary (n a), Traversable n) => QC.Arbitrary (n :~ a) where
+  arbitrary = (:~) <$> QC.arbitrary <*> QC.arbitrary
+  shrink = sequence . fmap QC.shrink
+
+
+
 -- | the last component contributes the most to the ordering
 instance (Ord (n a), Ord a) => Ord (n :~ a) where
   compare (xs :~ x) (ys :~ y) = compare (x, xs) (y, ys)
diff --git a/typelevel-tensor.cabal b/typelevel-tensor.cabal
--- a/typelevel-tensor.cabal
+++ b/typelevel-tensor.cabal
@@ -16,7 +16,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.2
+Version:             0.2.1
 
 -- A short (one-line) description of the package.
 Synopsis:            Tensors whose ranks and dimensions type-inferred and type-checked.
@@ -46,7 +46,7 @@
 -- Copyright:           
 
 Category:            Data
-Tested-With:         GHC==7.0.3, GHC==7.4.1
+Tested-With:         GHC==7.0.3, GHC==7.4.1, GHC==7.6.1
 Build-type:          Simple
 
 -- Extra files to be distributed with the package, such as examples or
