diff --git a/quickcheck-special.cabal b/quickcheck-special.cabal
--- a/quickcheck-special.cabal
+++ b/quickcheck-special.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           quickcheck-special
-version:        0.1.0.3
+version:        0.1.0.4
 synopsis:       Edge cases and special values for QuickCheck Arbitrary instances
 description:    The standard Arbitrary instances of QuickCheck don't generate special values. This is fixed by this package which provides the newtype Special with an Arbitrary instance. The special values are given by the SpecialValues typeclass.
 category:       Testing
@@ -14,7 +14,7 @@
 copyright:      2016 Daniel Mendler
 license:        MIT
 license-file:   LICENSE
-tested-with:    GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
+tested-with:    GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
 build-type:     Simple
 cabal-version:  >= 1.10
 
diff --git a/src/Test/QuickCheck/Special.hs b/src/Test/QuickCheck/Special.hs
--- a/src/Test/QuickCheck/Special.hs
+++ b/src/Test/QuickCheck/Special.hs
@@ -15,6 +15,7 @@
 
 {-# LANGUAGE DeriveFunctor #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE FlexibleInstances #-}
 module Test.QuickCheck.Special (
   Special(..),
   SpecialValues(..),
@@ -22,6 +23,7 @@
 
 import Data.Int
 import Data.Word
+import Data.Ratio
 import Numeric.Natural (Natural)
 import Numeric.IEEE
 import Test.QuickCheck
@@ -65,6 +67,9 @@
 
 instance SpecialValues Natural where
   specialValues = [ 0, 1, fromIntegral (maxBound :: Word64) + 1 ]
+
+instance SpecialValues Rational where
+  specialValues = [ 0, 1, -1, 0 % 1, - 0 % 1]
 
 instance SpecialValues Char where
   specialValues = specialBoundedEnum ++ "\0\a\b\f\n\r\t\v\'\"\\aä "
