diff --git a/msgpack-testsuite.cabal b/msgpack-testsuite.cabal
--- a/msgpack-testsuite.cabal
+++ b/msgpack-testsuite.cabal
@@ -1,5 +1,5 @@
 name:                 msgpack-testsuite
-version:              0.0.15
+version:              0.0.16
 synopsis:             A Haskell implementation of MessagePack
 homepage:             http://msgpack.org/
 license:              BSD3
@@ -40,7 +40,8 @@
     , hashable
     , hspec
     , monad-validate
-    , msgpack-types             >= 0.2 && < 0.3
+    , msgpack-arbitrary
+    , msgpack-types             >= 0.3 && < 0.4
     , text
     , unordered-containers
     , vector
diff --git a/src/Test/MessagePack/Spec.hs b/src/Test/MessagePack/Spec.hs
--- a/src/Test/MessagePack/Spec.hs
+++ b/src/Test/MessagePack/Spec.hs
@@ -12,12 +12,13 @@
 import qualified Data.ByteString.Char8       as S
 import qualified Data.ByteString.Lazy        as L8
 import qualified Data.ByteString.Lazy.Char8  as L
-import           Data.Hashable               (Hashable)
 import qualified Data.HashMap.Strict         as HashMap
+import           Data.Hashable               (Hashable)
 import           Data.Int                    (Int16, Int32, Int64, Int8)
 import qualified Data.IntMap                 as IntMap
 import qualified Data.Map                    as Map
 import qualified Data.Maybe                  as Maybe
+import           Data.MessagePack.Arbitrary  ()
 import qualified Data.Text.Lazy              as LT
 import qualified Data.Vector                 as V
 import qualified Data.Vector.Storable        as VS
@@ -134,8 +135,8 @@
     it "should contain the same start of the failure message for all types" $ do
       checkMessage (unpackEither (pack $ ObjectInt (-1)) :: UnpackResult Foo)
       checkMessage (unpackEither (pack [ObjectInt (-1), ObjectInt 0]) :: UnpackResult Foo)
-      checkMessage (unpackEither (pack $ ObjectArray []) :: UnpackResult TyConArgs)
-      checkMessage (unpackEither (pack $ ObjectArray []) :: UnpackResult Record)
+      checkMessage (unpackEither (pack $ ObjectArray V.empty) :: UnpackResult TyConArgs)
+      checkMessage (unpackEither (pack $ ObjectArray V.empty) :: UnpackResult Record)
       checkMessage (unpackEither (pack [0 :: Int, 1, 2, 3]) :: UnpackResult Record)
       checkMessage (unpackEither (pack "") :: UnpackResult Unit)
       checkMessage (unpackEither (pack "") :: UnpackResult TyConArgs)
