diff --git a/Data/Configurator/Types/Internal.hs b/Data/Configurator/Types/Internal.hs
--- a/Data/Configurator/Types/Internal.hs
+++ b/Data/Configurator/Types/Internal.hs
@@ -46,7 +46,7 @@
 data Worth a = Required { worth :: a }
              | Optional { worth :: a }
                deriving (Show, Typeable)
-                    
+
 instance IsString (Worth FilePath) where
     fromString = Required
 
@@ -54,7 +54,7 @@
     a == b = worth a == worth b
 
 instance (Hashable a) => Hashable (Worth a) where
-    hash = hash . worth
+    hashWithSalt salt v = hashWithSalt salt (worth v)
 
 -- | Global configuration data.  This is the top-level config from which
 -- 'Config' values are derived by choosing a root location.
@@ -119,8 +119,8 @@
         | otherwise           = Exact (T.pack s)
 
 instance Hashable Pattern where
-    hash (Exact n)  = hash n
-    hash (Prefix n) = hash n
+    hashWithSalt salt (Exact n)  = hashWithSalt salt n
+    hashWithSalt salt (Prefix n) = hashWithSalt salt n
 
 -- | This class represents types that can be automatically and safely
 -- converted /from/ a 'Value' /to/ a destination type.  If conversion
diff --git a/configurator.cabal b/configurator.cabal
--- a/configurator.cabal
+++ b/configurator.cabal
@@ -1,5 +1,5 @@
 name:            configurator
-version:         0.2.0.1
+version:         0.2.0.2
 license:         BSD3
 license-file:    LICENSE
 category:        Configuration, Data
