diff --git a/hspec-golden-aeson.cabal b/hspec-golden-aeson.cabal
--- a/hspec-golden-aeson.cabal
+++ b/hspec-golden-aeson.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hspec-golden-aeson
-version:        0.4.0.0
+version:        0.5.0.0
 synopsis:       Use tests to monitor changes in Aeson serialization
 description:    Use tests to monitor changes in Aeson serialization
 category:       Testing
@@ -24,7 +24,7 @@
 library
   hs-source-dirs:
       src
-  ghc-options: -Wall
+  ghc-options: -Wall -Wredundant-constraints
   build-depends:
       base >= 4.7 && < 5
     , aeson
@@ -34,7 +34,7 @@
     , filepath
     , hspec
     , random
-    , quickcheck-arbitrary-adt >= 0.2.0.0
+    , quickcheck-arbitrary-adt >= 0.3.0.0
     , QuickCheck
     , transformers
   exposed-modules:
diff --git a/src/Test/Aeson/GenericSpecs.hs b/src/Test/Aeson/GenericSpecs.hs
--- a/src/Test/Aeson/GenericSpecs.hs
+++ b/src/Test/Aeson/GenericSpecs.hs
@@ -77,14 +77,14 @@
 -- sampleSize is used only when creating the golden files. When they are
 -- compared, the sampleSize is derived from the file.
 roundtripAndGoldenADTSpecs :: forall a.
-  (ToADTArbitrary a, Eq a, Show a, ToJSON a, FromJSON a)
+  (Arbitrary a, ToADTArbitrary a, Eq a, Show a, ToJSON a, FromJSON a)
   => Proxy a -> Spec
 roundtripAndGoldenADTSpecs proxy =
   roundtripAndGoldenADTSpecsWithSettings defaultSettings proxy
 
 -- | 'roundtripAndGoldenADTSpecs' with custom settings.
 roundtripAndGoldenADTSpecsWithSettings :: forall a.
-  (ToADTArbitrary a, Eq a, Show a, ToJSON a, FromJSON a)
+  (Arbitrary a, ToADTArbitrary a, Eq a, Show a, ToJSON a, FromJSON a)
   => Settings -> Proxy a -> Spec
 roundtripAndGoldenADTSpecsWithSettings settings proxy = do
   roundtripADTSpecs proxy
diff --git a/src/Test/Aeson/Internal/ADT/RoundtripSpecs.hs b/src/Test/Aeson/Internal/ADT/RoundtripSpecs.hs
--- a/src/Test/Aeson/Internal/ADT/RoundtripSpecs.hs
+++ b/src/Test/Aeson/Internal/ADT/RoundtripSpecs.hs
@@ -37,7 +37,7 @@
 -- - make sure that the result is the same as the value it started with
 --   using 'Eq'.
 roundtripADTSpecs :: forall a.
-  (ToADTArbitrary a, Eq a, Show a, ToJSON a, FromJSON a)
+  (Arbitrary a, ToADTArbitrary a, Eq a, Show a, ToJSON a, FromJSON a)
   => Proxy a
   -> Spec
 roundtripADTSpecs proxy = genericAesonRoundtripADTWithNote proxy Nothing
