diff --git a/aeson-value-parser.cabal b/aeson-value-parser.cabal
--- a/aeson-value-parser.cabal
+++ b/aeson-value-parser.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          aeson-value-parser
-version:       0.19.7.1
+version:       0.19.7.2
 synopsis:      API for parsing "aeson" JSON tree into Haskell types
 description:
   A flexible parser DSL of JSON AST produced by the \"aeson\" library
@@ -74,8 +74,8 @@
     , aeson >=2.0.2 && <3
     , attoparsec >=0.14 && <0.15
     , base >=4.12 && <5
-    , bytestring >=0.10 && <0.12
-    , hashable >=1.3 && <2
+    , bytestring >=0.10 && <0.13
+    , hashable >=1.4 && <2
     , megaparsec >=8 && <10
     , mtl >=2.2 && <3
     , scientific >=0.3 && <0.4
diff --git a/library/AesonValueParser.hs b/library/AesonValueParser.hs
--- a/library/AesonValueParser.hs
+++ b/library/AesonValueParser.hs
@@ -68,10 +68,8 @@
 import qualified Data.Aeson.Types as Aeson
 import qualified Data.Attoparsec.Text as Attoparsec
 import qualified Data.HashMap.Strict as HashMap
-import qualified Data.HashSet as HashSet
 import qualified Data.Scientific as Scientific
 import qualified Data.Text as Text
-import qualified Data.Text.Encoding as Text
 import qualified Data.Vector as Vector
 import qualified Text.Megaparsec as Megaparsec
 
@@ -331,7 +329,7 @@
 oneOfFields keys valueParser = asum (fmap (flip field valueParser) keys)
 
 {-# INLINE fieldMap #-}
-fieldMap :: (Eq a, Hashable a) => String a -> Value b -> Object (HashMap a b)
+fieldMap :: (Hashable a) => String a -> Value b -> Object (HashMap a b)
 fieldMap keyParser fieldParser = Object $ ReaderT $ fmap HashMap.fromList . traverse mapping . KeyMap.toList
   where
     mapping (key, ast) =
diff --git a/library/AesonValueParser/Prelude.hs b/library/AesonValueParser/Prelude.hs
--- a/library/AesonValueParser/Prelude.hs
+++ b/library/AesonValueParser/Prelude.hs
@@ -10,13 +10,13 @@
 import Control.Concurrent as Exports
 import Control.Exception as Exports
 import Control.Monad as Exports hiding (fail, forM, forM_, mapM, mapM_, msum, sequence, sequence_)
-import Control.Monad.Error.Class as Exports hiding (Error)
+import Control.Monad.Error.Class as Exports (MonadError (catchError, throwError), liftEither)
 import Control.Monad.Fail as Exports
 import Control.Monad.Fix as Exports hiding (fix)
 import Control.Monad.IO.Class as Exports
 import Control.Monad.ST as Exports
 import Control.Monad.Trans.Class as Exports
-import Control.Monad.Trans.Except as Exports hiding (liftCallCC, liftCatch)
+import Control.Monad.Trans.Except as Exports hiding (liftCallCC)
 import Control.Monad.Trans.Maybe as Exports hiding (liftCallCC, liftCatch, liftListen, liftPass)
 import Control.Monad.Trans.Reader as Exports hiding (liftCallCC, liftCatch)
 import Data.Bifunctor as Exports
@@ -32,7 +32,7 @@
 import Data.Fixed as Exports
 import Data.Foldable as Exports hiding (toList)
 import Data.Function as Exports hiding (id, (.))
-import Data.Functor as Exports
+import Data.Functor as Exports hiding (unzip)
 import Data.Functor.Identity as Exports
 import Data.HashMap.Strict as Exports (HashMap)
 import Data.Hashable as Exports (Hashable)
@@ -76,8 +76,6 @@
 import System.Mem as Exports
 import System.Mem.StableName as Exports
 import System.Timeout as Exports
-import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)
-import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec)
 import Text.Printf as Exports (hPrintf, printf)
 import Text.Read as Exports (Read (..), readEither, readMaybe)
 import Unsafe.Coerce as Exports
