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/src/Data/Validity/Containers.hs b/src/Data/Validity/Containers.hs
--- a/src/Data/Validity/Containers.hs
+++ b/src/Data/Validity/Containers.hs
@@ -1,8 +1,6 @@
 module Data.Validity.Containers where
 
-import Data.Validity.Tree as Containers ()
-import Data.Validity.Set as Containers ()
 import Data.Validity.Map as Containers ()
 import Data.Validity.Sequence as Containers ()
-
-
+import Data.Validity.Set as Containers ()
+import Data.Validity.Tree as Containers ()
diff --git a/src/Data/Validity/Map.hs b/src/Data/Validity/Map.hs
--- a/src/Data/Validity/Map.hs
+++ b/src/Data/Validity/Map.hs
@@ -1,3 +1,5 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module Data.Validity.Map where
 
 import Data.Validity
diff --git a/src/Data/Validity/Sequence.hs b/src/Data/Validity/Sequence.hs
--- a/src/Data/Validity/Sequence.hs
+++ b/src/Data/Validity/Sequence.hs
@@ -1,11 +1,13 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module Data.Validity.Sequence where
 
 import Data.Validity
 
+import Data.Foldable (toList)
 import Data.Sequence (Seq)
-import qualified Data.Sequence as S
 
 -- | A 'Seq'uence of things is valid if all the elements are valid.
-instance (Ord v, Validity v) =>
+instance Validity v =>
          Validity (Seq v) where
-    isValid = all isValid
+    isValid = all isValid . toList
diff --git a/src/Data/Validity/Set.hs b/src/Data/Validity/Set.hs
--- a/src/Data/Validity/Set.hs
+++ b/src/Data/Validity/Set.hs
@@ -1,3 +1,5 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module Data.Validity.Set where
 
 import Data.Validity
@@ -7,6 +9,6 @@
 
 -- | A 'Set' of things is valid if all the elements are valid and the 'Set' itself
 -- is valid.
-instance (Ord v,Validity v) =>
+instance (Ord v, Validity v) =>
          Validity (Set v) where
-    isValid s = S.valid s && all isValid s
+    isValid s = S.valid s && all isValid (S.toList s)
diff --git a/src/Data/Validity/Tree.hs b/src/Data/Validity/Tree.hs
--- a/src/Data/Validity/Tree.hs
+++ b/src/Data/Validity/Tree.hs
@@ -1,11 +1,12 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+
 module Data.Validity.Tree where
 
-import           Data.Validity
+import Data.Validity
 
-import           Data.Tree
+import Data.Tree
 
 -- | A 'Tree' of things is valid if all the things in the 'Tree' are valid.
-instance Validity a => Validity (Tree a) where
-    isValid = all isValid
-
-
+instance Validity a =>
+         Validity (Tree a) where
+    isValid (Node rl sf) = isValid rl && isValid sf
diff --git a/validity-containers.cabal b/validity-containers.cabal
--- a/validity-containers.cabal
+++ b/validity-containers.cabal
@@ -1,29 +1,33 @@
-name:                validity-containers
-version:             0.1.0.2
-synopsis:            Validity instances 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:            Validity
-build-type:          Simple
-cabal-version:       >=1.10
+name: validity-containers
+version: 0.1.0.3
+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: Validity instances for containers
+description:
+    Please see README.md
+category: Validity
+author: Tom Sydney Kerckhove
 
+source-repository head
+    type: git
+    location: https://github.com/NorfairKing/validity
+
 library
-  hs-source-dirs:      src
-  exposed-modules:     Data.Validity.Containers
-                     , Data.Validity.Tree
-                     , Data.Validity.Map
-                     , Data.Validity.Sequence
-                     , Data.Validity.Set
-  build-depends:       base < 5
-                     , validity >= 0.3 && < 0.4
-                     , containers
-  default-language:    Haskell2010
+    exposed-modules:
+        Data.Validity.Containers
+        Data.Validity.Tree
+        Data.Validity.Map
+        Data.Validity.Sequence
+        Data.Validity.Set
+    build-depends:
+        base >= 4.7 && <5,
+        validity >=0.3 && <0.4,
+        containers -any
+    default-language: Haskell2010
+    hs-source-dirs: src
 
-source-repository head
-  type:     git
-  location: https://github.com/NorfairKing/validity
