diff --git a/Data/Enum/Set/Base.hs b/Data/Enum/Set/Base.hs
--- a/Data/Enum/Set/Base.hs
+++ b/Data/Enum/Set/Base.hs
@@ -125,14 +125,15 @@
 import qualified GHC.Exts
 import qualified Data.Foldable as F
 
-import Prelude hiding (Foldable(..), all, any, filter, map, traverse)
+import Prelude hiding (Applicative(..), Foldable(..), all, any, filter, map, traverse)
 import Data.Foldable (Foldable)
 
-import Control.Applicative (liftA2)
+import Control.Applicative (Applicative(..))
 import Control.DeepSeq (NFData)
 import Data.Aeson (ToJSON(..))
 import Data.Bits
 import Data.Data (Data)
+import Data.Hashable (Hashable)
 import Data.Vector.Unboxed (Vector, MVector, Unbox)
 import Foreign.Storable (Storable)
 import GHC.Exts (IsList(Item), build)
@@ -154,7 +155,7 @@
 -- | A set of values @a@ with representation @word@,
 -- implemented as bitwise operations.
 newtype EnumSet word a = EnumSet word
-    deriving (Eq, Ord, Data, Storable, NFData, P.Prim, Unbox)
+    deriving (Eq, Ord, Data, Hashable, Storable, NFData, P.Prim, Unbox)
 
 newtype instance MVector s (EnumSet word a) = MV_EnumSet (P.MVector s (EnumSet word a))
 newtype instance Vector    (EnumSet word a) = V_EnumSet  (P.Vector    (EnumSet word a))
diff --git a/bitwise-enum.cabal b/bitwise-enum.cabal
--- a/bitwise-enum.cabal
+++ b/bitwise-enum.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.35.2.
+-- This file has been generated from package.yaml by hpack version 0.39.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:           bitwise-enum
-version:        1.0.1.2
+version:        1.0.2.0
 synopsis:       Bitwise operations on bounded enumerations
 description:    Bitwise operations on bounded enumerations.
                 .
@@ -21,7 +21,8 @@
 license-file:   LICENSE
 build-type:     Simple
 tested-with:
-    GHC ==8.6.1
+    GHC ==9.4.8
+ || ==8.6.1
  || ==8.6.5
  || ==8.8.4
  || ==8.10.7
@@ -46,10 +47,11 @@
       ./
   ghc-options: -Wall -Wcompat -Widentities -Wincomplete-uni-patterns -Wincomplete-record-updates -ferror-spans -funbox-small-strict-fields -O2
   build-depends:
-      aeson >=0.11 && <2.3
+      aeson >=0.11 && <2.4
     , array >=0.5.1 && <0.6
     , base >=4.12 && <5
-    , deepseq >=1.1 && <1.6
+    , deepseq >=1.1 && <1.7
+    , hashable >=1.4 && <1.6
     , mono-traversable >=1.0.12 && <1.1
     , vector >=0.11 && <0.14
   default-language: Haskell2010
@@ -64,11 +66,12 @@
   ghc-options: -Wall -Wcompat -Widentities -Wincomplete-uni-patterns -Wincomplete-record-updates -ferror-spans -funbox-small-strict-fields
   build-depends:
       QuickCheck >=2.13.2
-    , aeson >=0.11 && <2.3
+    , aeson >=0.11 && <2.4
     , array >=0.5.1 && <0.6
     , base
     , bitwise-enum
-    , deepseq >=1.1 && <1.6
+    , deepseq >=1.1 && <1.7
+    , hashable >=1.4 && <1.6
     , mono-traversable >=1.0.12 && <1.1
     , test-framework >=0.8.2.0
     , test-framework-quickcheck2 >=0.3.0.5
@@ -84,12 +87,13 @@
       benchmarks
   ghc-options: -Wall -Wcompat -Widentities -Wincomplete-uni-patterns -Wincomplete-record-updates -ferror-spans -funbox-small-strict-fields -rtsopts -threaded -with-rtsopts=-N -O2
   build-depends:
-      aeson >=0.11 && <2.3
+      aeson >=0.11 && <2.4
     , array >=0.5.1 && <0.6
     , base
     , bitwise-enum
-    , deepseq >=1.1 && <1.6
+    , deepseq >=1.1 && <1.7
     , gauge >=0.2.5
+    , hashable >=1.4 && <1.6
     , mono-traversable >=1.0.12 && <1.1
     , vector >=0.11 && <0.14
     , wide-word >=0.1.0.9
diff --git a/tests/set-properties.hs b/tests/set-properties.hs
--- a/tests/set-properties.hs
+++ b/tests/set-properties.hs
@@ -6,7 +6,7 @@
 import Prelude
 
 import Control.Applicative ((<|>))
-import Data.Foldable (foldl', foldr')
+import Data.Foldable (Foldable(..))
 import Data.List ((\\), nub, sort)
 import Data.Bits
 import Test.Framework
