diff --git a/src/Data/Validity.hs b/src/Data/Validity.hs
--- a/src/Data/Validity.hs
+++ b/src/Data/Validity.hs
@@ -178,9 +178,8 @@
         a -> Validation
     validate = gValidate . from
     isValid :: a -> Bool
-    default isValid :: (Generic a, GValidity (Rep a)) =>
-        a -> Bool
-    isValid = gIsValid . from
+    default isValid :: a -> Bool
+    isValid = isRight . checkValidity
 
 data ValidationChain
     = Violated String
diff --git a/validity.cabal b/validity.cabal
--- a/validity.cabal
+++ b/validity.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 3d4c42c36ef5d4b468135318944bb8d8b697595fa09fe24c7207539b28f2d7ca
+-- hash: d851f0e11791eff6a09f991a6e35b970714b50ddc6ee5f5f97692176076d3fc5
 
 name:           validity
-version:        0.4.0.3
+version:        0.4.0.4
 synopsis:       Validity typeclass
 description:    For more info, see <https://github.com/NorfairKing/validity the readme>.
                 .
