diff --git a/genvalidity-hspec.cabal b/genvalidity-hspec.cabal
--- a/genvalidity-hspec.cabal
+++ b/genvalidity-hspec.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 472617010c38a3b4d88beddec1088f24b2a05528a43ad5e2ab1cc0901f21dff5
+-- hash: 33d59844fe6f212746a399da920a642934471dbadfb6476a646bc001ffac9a85
 
 name:           genvalidity-hspec
-version:        0.6.2.0
+version:        0.6.2.1
 synopsis:       Standard spec's for GenValidity instances
 description:    Note: There are companion packages for this library:
                 .
@@ -75,8 +75,11 @@
       QuickCheck
     , base
     , doctest
+    , genvalidity >=0.7
     , genvalidity-hspec
+    , genvalidity-property >=0.3
     , hspec-core
+    , validity >=0.9
   default-language: Haskell2010
 
 test-suite genvalidity-hspec-test
diff --git a/src/Test/Validity/GenValidity.hs b/src/Test/Validity/GenValidity.hs
--- a/src/Test/Validity/GenValidity.hs
+++ b/src/Test/Validity/GenValidity.hs
@@ -61,7 +61,7 @@
 --
 -- Example usage:
 --
--- > genInvalidSpec @Double
+-- > genInvalidSpec @Rational
 genInvalidSpec ::
        forall a. (Typeable a, Show a, GenInvalid a)
     => Spec
@@ -92,10 +92,10 @@
 
 -- | @genValid@ only generates invalid data
 --
--- prop> genInvalidGeneratesInvalid @Float
--- prop> genInvalidGeneratesInvalid @Double
--- prop> genInvalidGeneratesInvalid @(Maybe Double)
--- prop> genInvalidGeneratesInvalid @[Double]
+-- prop> genInvalidGeneratesInvalid @Rational
+-- prop> genInvalidGeneratesInvalid @Rational
+-- prop> genInvalidGeneratesInvalid @(Maybe Rational)
+-- prop> genInvalidGeneratesInvalid @[Rational]
 genInvalidGeneratesInvalid ::
        forall a. (Show a, GenInvalid a)
     => Property
diff --git a/src/Test/Validity/Show.hs b/src/Test/Validity/Show.hs
--- a/src/Test/Validity/Show.hs
+++ b/src/Test/Validity/Show.hs
@@ -75,7 +75,7 @@
 
 -- |
 --
--- prop> showReadRoundTripOnValid @Double
+-- prop> showReadRoundTripOnValid @Rational
 showReadRoundTripOnValid ::
        forall a. (Show a, Eq a, Read a, GenValid a)
     => Property
diff --git a/test/Test/Validity/EqSpec.hs b/test/Test/Validity/EqSpec.hs
--- a/test/Test/Validity/EqSpec.hs
+++ b/test/Test/Validity/EqSpec.hs
@@ -13,9 +13,9 @@
 
 spec :: Spec
 spec = do
-    eqSpecOnValid @Double
+    eqSpecOnValid @Rational
     eqSpec @Int
-    failsBecause "reflexivity does not hold for NaN" $ eqSpecOnInvalid @Double
+    -- eqSpec @Double DOES NOT HOLD because of NaN
     eqSpecOnArbitrary @Int
     eqSpecOnGen ((* 2) <$> genValid @Int) "even" (const [])
     failsBecause "(/=) and (==) don't have opposite semantics" $
diff --git a/test/Test/Validity/GenValiditySpec.hs b/test/Test/Validity/GenValiditySpec.hs
--- a/test/Test/Validity/GenValiditySpec.hs
+++ b/test/Test/Validity/GenValiditySpec.hs
@@ -8,6 +8,6 @@
 
 spec :: Spec
 spec = do
-    genValiditySpec @Double
-    genValidSpec @Double
-    genInvalidSpec @Double
+    genValiditySpec @Rational
+    genValidSpec @Rational
+    genInvalidSpec @Rational
diff --git a/test/Test/Validity/MonoidSpec.hs b/test/Test/Validity/MonoidSpec.hs
--- a/test/Test/Validity/MonoidSpec.hs
+++ b/test/Test/Validity/MonoidSpec.hs
@@ -8,7 +8,7 @@
 
 spec :: Spec
 spec = do
-    monoidSpecOnValid @[Double]
+    monoidSpecOnValid @[Rational]
     monoidSpec @[Int]
     monoidSpecOnArbitrary @[Int]
     monoidSpecOnGen (pure "a") "singleton list of 'a'" (const [])
diff --git a/test/Test/Validity/OrdSpec.hs b/test/Test/Validity/OrdSpec.hs
--- a/test/Test/Validity/OrdSpec.hs
+++ b/test/Test/Validity/OrdSpec.hs
@@ -10,8 +10,8 @@
 
 spec :: Spec
 spec = do
-    ordSpecOnValid @Double
-    failsBecause "NaN >= NaN is False" $ ordSpecOnInvalid @Double
+    ordSpecOnValid @Rational
+    failsBecause "NaN >= NaN is False" $ ordSpec @Double
     ordSpec @Int
     ordSpecOnArbitrary @Int
     ordSpecOnGen ((* 2) <$> genValid @Int) "even" (const [])
diff --git a/test/Test/Validity/ShowSpec.hs b/test/Test/Validity/ShowSpec.hs
--- a/test/Test/Validity/ShowSpec.hs
+++ b/test/Test/Validity/ShowSpec.hs
@@ -13,9 +13,9 @@
 
 spec :: Spec
 spec = do
-    showReadSpecOnValid @Double
+    showReadSpecOnValid @Rational
     showReadSpec @Int
-    showReadSpecOnArbitrary @Double
+    showReadSpecOnArbitrary @Rational
     showReadSpecOnGen ((* 2) <$> genValid @Int) "even" (const [])
     failsBecause "show and read don't have the correct semantics" $
         showReadSpec @ShowFuncMismatch
diff --git a/test/Test/Validity/ShrinkingSpec.hs b/test/Test/Validity/ShrinkingSpec.hs
--- a/test/Test/Validity/ShrinkingSpec.hs
+++ b/test/Test/Validity/ShrinkingSpec.hs
@@ -8,21 +8,21 @@
 
 spec :: Spec
 spec = do
-    shrinkValiditySpec @Double
+    shrinkValiditySpec @Rational
     shrinkValidSpec @Int
-    shrinkInvalidSpec @Double
+    shrinkInvalidSpec @Rational
     describe "shrinkUncheckedPreservesValidOnGenValid" $ do
-        it "Double" $ shrinkValidPreservesValidOnGenValid @Double
-        it "[Double]" $ shrinkValidPreservesValidOnGenValid @[Double]
+        it "Rational" $ shrinkValidPreservesValidOnGenValid @Rational
+        it "[Rational]" $ shrinkValidPreservesValidOnGenValid @[Rational]
     describe "shrinkValidPreservesValidOnGenValid" $ do
-        it "Double" $ shrinkValidPreservesValidOnGenValid @Double
-        it "[Double]" $ shrinkValidPreservesValidOnGenValid @[Double]
+        it "Rational" $ shrinkValidPreservesValidOnGenValid @Rational
+        it "[Rational]" $ shrinkValidPreservesValidOnGenValid @[Rational]
     describe "shrinkInvalidPreservesInvalidOnGenInvalid" $ do
-        it "Double" $ shrinkInvalidPreservesInvalidOnGenInvalid @Double
-        it "[Double]" $ shrinkInvalidPreservesInvalidOnGenInvalid @[Double]
+        it "Rational" $ shrinkInvalidPreservesInvalidOnGenInvalid @Rational
+        it "[Rational]" $ shrinkInvalidPreservesInvalidOnGenInvalid @[Rational]
     describe "shrinkUncheckedDoesNotShrinkToItself" $ do
         it "Int" $ shrinkUncheckedDoesNotShrinkToItself @Int
         it "[Int]" $ shrinkUncheckedDoesNotShrinkToItself @[Int]
     describe "shrinkValidDoesNotShrinkToItself" $ do
-        it "Double" $ shrinkValidDoesNotShrinkToItself @Double
-        it "[Double]" $ shrinkValidDoesNotShrinkToItself @[Double]
+        it "Rational" $ shrinkValidDoesNotShrinkToItself @Rational
+        it "[Rational]" $ shrinkValidDoesNotShrinkToItself @[Rational]
