diff --git a/Data/Enum/Set.hs b/Data/Enum/Set.hs
--- a/Data/Enum/Set.hs
+++ b/Data/Enum/Set.hs
@@ -129,7 +129,6 @@
 import Prelude hiding (all, any, filter, foldl, foldl1, foldMap, foldr, foldr1, map, maximum, minimum, null, traverse)
 
 import Data.Bits
-import Data.Monoid (Monoid(..))
 
 import qualified Data.Enum.Set.Base as E
 
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
@@ -133,7 +133,6 @@
 import Data.Aeson (ToJSON(..))
 import Data.Bits
 import Data.Data (Data)
-import Data.Monoid (Monoid(..))
 import Data.Vector.Unboxed (Vector, MVector, Unbox)
 import Foreign.Storable (Storable)
 import GHC.Exts (IsList(Item), build)
diff --git a/bitwise-enum.cabal b/bitwise-enum.cabal
--- a/bitwise-enum.cabal
+++ b/bitwise-enum.cabal
@@ -1,22 +1,27 @@
 cabal-version: 1.12
 
+-- This file has been generated from package.yaml by hpack version 0.31.2.
+--
+-- see: https://github.com/sol/hpack
+--
+-- hash: 6053de920d85e5108a21304a32f6d1339182368d423f04e08de4027614c1f2c3
+
 name:           bitwise-enum
-version:        0.1.0.3
+version:        1.0.0
 synopsis:       Bitwise operations on bounded enumerations
-description:
-    Bitwise operations on bounded enumerations.
-    .
-    ["Data.Enum.Set"] Constant-time sets using bit flags.
-    .
-    ["Data.Enum.Memo"] Constant-time lookup memoization for functions on enumerated types.
-homepage:       https://github.com/jnbooth/bitwise-enum#readme
+description:    Bitwise operations on bounded enumerations.
+                .
+                ["Data.Enum.Set"] Constant-time sets using bit flags.
+                .
+                ["Data.Enum.Memo"] Constant-time lookup memoization for functions on enumerated types.
+category:       Data, Data Structures, Foreign
+homepage:       https://github.com/jnbooth/bitwise-enum
 bug-reports:    https://github.com/jnbooth/bitwise-enum/issues
 author:         Joshua Booth <joshua.n.booth@gmail.com>
 maintainer:     Joshua Booth <joshua.n.booth@gmail.com>
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-category:       Data, Data Structures, Foreign
 
 source-repository head
   type: git
@@ -27,49 +32,57 @@
       Data.Enum.Memo
       Data.Enum.Set
       Data.Enum.Set.Base
+  other-modules:
+      Paths_bitwise_enum
   hs-source-dirs:
       ./
-  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-uni-patterns -Wincomplete-record-updates -ferror-spans -funbox-small-strict-fields
+  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-uni-patterns -Wincomplete-record-updates -ferror-spans -funbox-small-strict-fields -O2
   build-depends:
       aeson >=0.11 && <1.4.7
     , array >=0.5.1 && <0.5.5
     , base >=4.5 && <5
     , deepseq >=1.1 && <1.4.5
     , mono-traversable >=1.0.12 && <1.0.16
-    , vector >=0.11 && <0.12.1
+    , vector >=0.11 && <0.12.2
   default-language: Haskell2010
 
 test-suite enumset-test-suite
   type: exitcode-stdio-1.0
   main-is: set-properties.hs
+  other-modules:
+      Paths_bitwise_enum
   hs-source-dirs:
       tests
   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 && <1.4.7
+    , array >=0.5.1 && <0.5.5
     , base
     , bitwise-enum
     , deepseq >=1.1 && <1.4.5
     , mono-traversable >=1.0.12 && <1.0.16
     , test-framework >=0.8.2.0
     , test-framework-quickcheck2 >=0.3.0.5
-    , vector >=0.11 && <0.12.1
+    , vector >=0.11 && <0.12.2
   default-language: Haskell2010
 
 benchmark enumset-benchmarks
   type: exitcode-stdio-1.0
   main-is: EnumSet.hs
+  other-modules:
+      Paths_bitwise_enum
   hs-source-dirs:
       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 && <1.4.7
+    , array >=0.5.1 && <0.5.5
     , base
     , bitwise-enum
     , deepseq >=1.1 && <1.4.5
     , gauge >=0.2.5
     , mono-traversable >=1.0.12 && <1.0.16
-    , vector >=0.11 && <0.12.1
+    , vector >=0.11 && <0.12.2
     , wide-word >=0.1.0.9
   default-language: Haskell2010
diff --git a/package.yaml b/package.yaml
new file mode 100644
--- /dev/null
+++ b/package.yaml
@@ -0,0 +1,65 @@
+name:         bitwise-enum
+version:      1.0.0
+github:       "jnbooth/bitwise-enum"
+homepage:     https://github.com/jnbooth/bitwise-enum
+bug-reports:  https://github.com/jnbooth/bitwise-enum/issues
+author:       "Joshua Booth <joshua.n.booth@gmail.com>"
+maintainer:   "Joshua Booth <joshua.n.booth@gmail.com>"
+license:      BSD3
+license-file: LICENSE
+category:     Data, Data Structures, Foreign
+synopsis:     "Bitwise operations on bounded enumerations"
+description:  |
+    Bitwise operations on bounded enumerations.
+    .
+    ["Data.Enum.Set"] Constant-time sets using bit flags.
+    .
+    ["Data.Enum.Memo"] Constant-time lookup memoization for functions on enumerated types.
+
+dependencies:
+- base >=4.5 && <5
+- aeson >=0.11 && <1.4.7
+- array >=0.5.1 && <0.5.5
+- deepseq >=1.1 && <1.4.5
+- mono-traversable >=1.0.12 && <1.0.16
+- vector >=0.11 && <0.12.2
+
+ghc-options:
+- -Wall
+- -Wcompat
+- -Widentities
+- -Wincomplete-uni-patterns
+- -Wincomplete-record-updates
+- -ferror-spans
+- -funbox-small-strict-fields
+
+library:
+  source-dirs: ./
+  ghc-options: -O2
+
+benchmarks:
+  enumset-benchmarks:
+    main: EnumSet.hs
+    source-dirs: benchmarks
+    dependencies:
+      - base
+      - bitwise-enum
+      - gauge >=0.2.5
+      - wide-word >=0.1.0.9
+    ghc-options:
+      - -rtsopts
+      - -threaded
+      - -with-rtsopts=-N
+      - -O2
+
+tests:
+  enumset-test-suite:
+    main: set-properties.hs
+    source-dirs: tests
+    dependencies:
+      - base
+      - bitwise-enum
+      - QuickCheck >=2.13.2
+      - test-framework >=0.8.2.0
+      - test-framework-quickcheck2 >=0.3.0.5
+
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,4 @@
+resolver: lts-15.2
+
+packages:
+- .
