diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,3 @@
 import Distribution.Simple
+
 main = defaultMain
diff --git a/genvalidity-containers.cabal b/genvalidity-containers.cabal
--- a/genvalidity-containers.cabal
+++ b/genvalidity-containers.cabal
@@ -1,51 +1,51 @@
-name:                genvalidity-containers
-version:             0.2.0.0
-synopsis:            GenValidity support for containers
-description:         Please see README.md
-homepage:            https://github.com/NorfairKing/validity#readme
-license:             MIT
-license-file:        LICENSE
-author:              Tom Sydney Kerckhove
-maintainer:          syd.kerckhove@gmail.com
-copyright:           Copyright: (c) 2016 Tom Sydney Kerckhove
-category:            Testing
-build-type:          Simple
-cabal-version:       >=1.10
+name: genvalidity-containers
+version: 0.2.0.1
+cabal-version: >=1.10
+build-type: Simple
+license: MIT
+license-file: LICENSE
+copyright: Copyright: (c) 2016 Tom Sydney Kerckhove
+maintainer: syd.kerckhove@gmail.com
+homepage: https://github.com/NorfairKing/validity#readme
+synopsis: GenValidity support for containers
+description:
+    Please see README.md
+category: Testing
+author: Tom Sydney Kerckhove
 
+source-repository head
+    type: git
+    location: https://github.com/NorfairKing/validity
+
 library
-  hs-source-dirs:      src
-  exposed-modules:
-      Data.GenValidity.Containers
-    , Data.GenValidity.Map
-    , Data.GenValidity.Tree
-    , Data.GenValidity.Sequence
-    , Data.GenValidity.Set
-  build-depends:
-      base       < 5
-    , QuickCheck
-    , containers
-    , genvalidity  >= 0.3 && < 0.4
-    , validity >= 0.3 && < 0.4
-    , validity-containers >= 0.1 && < 0.2
-  default-language:    Haskell2010
+    exposed-modules:
+        Data.GenValidity.Containers
+        Data.GenValidity.Map
+        Data.GenValidity.Tree
+        Data.GenValidity.Sequence
+        Data.GenValidity.Set
+    build-depends:
+        base <5,
+        QuickCheck -any,
+        containers -any,
+        genvalidity >=0.3 && <0.4,
+        validity >=0.3 && <0.4,
+        validity-containers >=0.1 && <0.2
+    default-language: Haskell2010
+    hs-source-dirs: src
 
 test-suite genvalidity-containers-test
     type: exitcode-stdio-1.0
     main-is: Spec.hs
-    other-modules:
-        Test.Validity.ContainersSpec
     build-depends:
         base >=4.9 && <=5,
-        containers,
-        genvalidity,
-        genvalidity-containers,
-        genvalidity-hspec,
-        hspec >= 2.2 && < 2.3
+        containers -any,
+        genvalidity -any,
+        genvalidity-containers -any,
+        genvalidity-hspec -any,
+        hspec >=2.2 && <2.5
     default-language: Haskell2010
     hs-source-dirs: test/
+    other-modules:
+        Test.Validity.ContainersSpec
     ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
-
-
-source-repository head
-  type:     git
-  location: https://github.com/NorfairKing/validity
diff --git a/src/Data/GenValidity/Containers.hs b/src/Data/GenValidity/Containers.hs
--- a/src/Data/GenValidity/Containers.hs
+++ b/src/Data/GenValidity/Containers.hs
@@ -2,8 +2,7 @@
     ( module Containers
     ) where
 
-import           Data.GenValidity.Map  as Containers ()
-import           Data.GenValidity.Sequence  as Containers ()
-import           Data.GenValidity.Tree as Containers
-import           Data.GenValidity.Set as Containers ()
-
+import Data.GenValidity.Map as Containers ()
+import Data.GenValidity.Sequence as Containers ()
+import Data.GenValidity.Set as Containers ()
+import Data.GenValidity.Tree as Containers
diff --git a/src/Data/GenValidity/Map.hs b/src/Data/GenValidity/Map.hs
--- a/src/Data/GenValidity/Map.hs
+++ b/src/Data/GenValidity/Map.hs
@@ -1,5 +1,11 @@
-module Data.GenValidity.Map where
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 
+module Data.GenValidity.Map where
+#if !MIN_VERSION_base(4,8,0)
+import Control.Applicative (pure)
+import Data.Functor ((<$>))
+#endif
 import Data.GenValidity
 import Data.Validity.Map ()
 import Test.QuickCheck
diff --git a/src/Data/GenValidity/Sequence.hs b/src/Data/GenValidity/Sequence.hs
--- a/src/Data/GenValidity/Sequence.hs
+++ b/src/Data/GenValidity/Sequence.hs
@@ -1,19 +1,24 @@
-module Data.GenValidity.Sequence where
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
 
+module Data.GenValidity.Sequence where
+#if !MIN_VERSION_base(4,8,0)
+import Data.Functor ((<$>))
+#endif
 import Data.GenValidity
 import Data.Validity.Sequence ()
 
 import Data.Sequence (Seq)
 import qualified Data.Sequence as S
 
-instance (Ord v, GenUnchecked v) =>
+instance GenUnchecked v =>
          GenUnchecked (Seq v) where
     genUnchecked = S.fromList <$> genUnchecked
 
-instance (Ord v, GenValid v) =>
+instance GenValid v =>
          GenValid (Seq v) where
     genValid = S.fromList <$> genValid
 
-instance (Ord v, GenInvalid v) =>
+instance GenInvalid v =>
          GenInvalid (Seq v) where
     genInvalid = S.fromList <$> genInvalid
diff --git a/src/Data/GenValidity/Set.hs b/src/Data/GenValidity/Set.hs
--- a/src/Data/GenValidity/Set.hs
+++ b/src/Data/GenValidity/Set.hs
@@ -1,4 +1,12 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
+
 module Data.GenValidity.Set where
+
+#if !MIN_VERSION_base(4,8,0)
+import Data.Functor ((<$>))
+#endif
+
 
 import Data.GenValidity
 import Data.Validity.Set ()
diff --git a/src/Data/GenValidity/Tree.hs b/src/Data/GenValidity/Tree.hs
--- a/src/Data/GenValidity/Tree.hs
+++ b/src/Data/GenValidity/Tree.hs
@@ -1,5 +1,13 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE CPP #-}
+
 module Data.GenValidity.Tree where
 
+#if !MIN_VERSION_base(4,8,0)
+import Control.Applicative ((<*>))
+import Data.Functor ((<$>))
+#endif
+
 import Data.GenValidity
 import Data.Validity.Tree ()
 
@@ -18,8 +26,7 @@
 -- | There should be at least one invalid element, either it's here or it's
 -- further down the tree.
 instance (GenUnchecked a, GenInvalid a) =>
-         GenInvalid (Tree a)
-                              where
+         GenInvalid (Tree a) where
     genInvalid =
         sized $ \n -> do
             size <- upTo n
