diff --git a/hw-excess.cabal b/hw-excess.cabal
--- a/hw-excess.cabal
+++ b/hw-excess.cabal
@@ -1,21 +1,20 @@
-cabal-version:        2.2
+cabal-version: 2.2
 
-name:                 hw-excess
-version:              0.2.2.0
-synopsis:             Excess
-description:          Please see README.md
-category:             Data, Succinct Data Structures, Data Structures
-homepage:             http://github.com/haskell-works/hw-excess#readme
-bug-reports:          https://github.com/haskell-works/hw-excess/issues
-author:               John Ky
-maintainer:           newhoggy@gmail.com
-copyright:            2016 John Ky
-license:              BSD-3-Clause
-license-file:         LICENSE
-tested-with:          GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2
-build-type:           Simple
-extra-source-files:
-  README.md
+name:                   hw-excess
+version:                0.2.2.1
+synopsis:               Excess
+description:            Please see README.md
+category:               Data, Succinct Data Structures, Data Structures
+homepage:               http://github.com/haskell-works/hw-excess#readme
+bug-reports:            https://github.com/haskell-works/hw-excess/issues
+author:                 John Ky
+maintainer:             newhoggy@gmail.com
+copyright:              2016-2019 John Ky
+license:                BSD-3-Clause
+license-file:           LICENSE
+tested-with:            GHC == 8.8.1, GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2
+build-type:             Simple
+extra-source-files:     README.md
 
 source-repository head
   type: git
@@ -25,86 +24,83 @@
 
 common bytestring           { build-depends: bytestring         >= 0.10     && < 0.11   }
 common criterion            { build-depends: criterion          >= 1.4      && < 1.6    }
-common QuickCheck           { build-depends: QuickCheck         >= 2.10     && < 2.12   }
-common hedgehog             { build-depends: hedgehog           >= 0.5      && < 0.7    }
+common hedgehog             { build-depends: hedgehog           >= 0.6      && < 1.1    }
 common hspec                { build-depends: hspec              >= 2.3      && < 3      }
 common hw-bits              { build-depends: hw-bits            >= 0.4.0.0  && < 0.8    }
 common hw-hspec-hedgehog    { build-depends: hw-hspec-hedgehog  >= 0.1.0.4  && < 0.2    }
 common hw-prim              { build-depends: hw-prim            >= 0.6.2.24 && < 0.7    }
 common hw-rankselect-base   { build-depends: hw-rankselect-base >= 0.2.0.0  && < 0.4    }
+common QuickCheck           { build-depends: QuickCheck         >= 2.10     && < 2.14   }
 common safe                 { build-depends: safe               >= 0.2      && < 0.4    }
 common vector               { build-depends: vector             >= 0.12     && < 0.13   }
 
 common config
   default-language:     Haskell2010
+  ghc-options:          -Wall -O2 -msse4.2
 
 library
-  import:   base, config
-    , hw-bits
-    , hw-prim
-    , hw-rankselect-base
-    , safe
-    , vector
-  exposed-modules:
-    HaskellWorks.Data.Excess
-    HaskellWorks.Data.Excess.Excess0
-    HaskellWorks.Data.Excess.Excess1
-    HaskellWorks.Data.Excess.Internal.Branchless
-    HaskellWorks.Data.Excess.Internal.Partial.Table
-    HaskellWorks.Data.Excess.Internal.Table
-    HaskellWorks.Data.Excess.Internal.Triplet8
-    HaskellWorks.Data.Excess.MinExcess
-    HaskellWorks.Data.Excess.MinExcess0
-    HaskellWorks.Data.Excess.MinExcess1
-    HaskellWorks.Data.Excess.MinMaxExcess0
-    HaskellWorks.Data.Excess.MinMaxExcess1
-    HaskellWorks.Data.Excess.PartialMinExcess0
-    HaskellWorks.Data.Excess.PartialMinExcess1
-    HaskellWorks.Data.Excess.PartialMinMaxExcess0
-    HaskellWorks.Data.Excess.PartialMinMaxExcess1
-    HaskellWorks.Data.Excess.Triplet
+  import:               base, config
+                      , hw-bits
+                      , hw-prim
+                      , hw-rankselect-base
+                      , safe
+                      , vector
+  exposed-modules:      HaskellWorks.Data.Excess
+                        HaskellWorks.Data.Excess.Excess0
+                        HaskellWorks.Data.Excess.Excess1
+                        HaskellWorks.Data.Excess.Internal.Branchless
+                        HaskellWorks.Data.Excess.Internal.Partial.Table
+                        HaskellWorks.Data.Excess.Internal.Table
+                        HaskellWorks.Data.Excess.Internal.Triplet8
+                        HaskellWorks.Data.Excess.MinExcess
+                        HaskellWorks.Data.Excess.MinExcess0
+                        HaskellWorks.Data.Excess.MinExcess1
+                        HaskellWorks.Data.Excess.MinMaxExcess0
+                        HaskellWorks.Data.Excess.MinMaxExcess1
+                        HaskellWorks.Data.Excess.PartialMinExcess0
+                        HaskellWorks.Data.Excess.PartialMinExcess1
+                        HaskellWorks.Data.Excess.PartialMinMaxExcess0
+                        HaskellWorks.Data.Excess.PartialMinMaxExcess1
+                        HaskellWorks.Data.Excess.Triplet
   autogen-modules:      Paths_hw_excess
   other-modules:        Paths_hw_excess
   hs-source-dirs:       src
-  ghc-options:          -Wall -O2 -msse4.2
 
 test-suite hw-excess-test
-  import:   base, config
-          , QuickCheck
-          , hedgehog
-          , hspec
-          , hw-bits
-          , hw-prim
-          , hw-hspec-hedgehog
-          , vector
+  import:               base, config
+                      , QuickCheck
+                      , hedgehog
+                      , hspec
+                      , hw-bits
+                      , hw-prim
+                      , hw-hspec-hedgehog
+                      , vector
   type:                 exitcode-stdio-1.0
   main-is:              Spec.hs
   hs-source-dirs:       test
-  ghc-options:          -Wall -threaded -rtsopts -with-rtsopts=-N
+  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
   build-tool-depends:   hspec-discover:hspec-discover
   build-depends:        hw-excess
   autogen-modules:      Paths_hw_excess
-  other-modules:
-    HaskellWorks.Data.Excess.Internal.BranchlessSpec
-    HaskellWorks.Data.Excess.MinExcess0Spec
-    HaskellWorks.Data.Excess.MinExcess1Spec
-    HaskellWorks.Data.Excess.MinMaxExcess0Spec
-    HaskellWorks.Data.Excess.MinMaxExcess1Spec
-    HaskellWorks.Data.Excess.PartialMinExcess0Spec
-    HaskellWorks.Data.Excess.PartialMinExcess1Spec
-    HaskellWorks.Data.Excess.PartialMinMaxExcess0Spec
-    HaskellWorks.Data.Excess.PartialMinMaxExcess1Spec
-    Paths_hw_excess
+  other-modules:        HaskellWorks.Data.Excess.Internal.BranchlessSpec
+                        HaskellWorks.Data.Excess.MinExcess0Spec
+                        HaskellWorks.Data.Excess.MinExcess1Spec
+                        HaskellWorks.Data.Excess.MinMaxExcess0Spec
+                        HaskellWorks.Data.Excess.MinMaxExcess1Spec
+                        HaskellWorks.Data.Excess.PartialMinExcess0Spec
+                        HaskellWorks.Data.Excess.PartialMinExcess1Spec
+                        HaskellWorks.Data.Excess.PartialMinMaxExcess0Spec
+                        HaskellWorks.Data.Excess.PartialMinMaxExcess1Spec
+                        Paths_hw_excess
 
 benchmark bench
-  import:   base, config
-          , bytestring
-          , criterion
-          , hw-prim
-          , vector
-  type:           exitcode-stdio-1.0
-  main-is:        Main.hs
-  hs-source-dirs: bench
-  ghc-options:    -O2 -msse4.2
-  build-depends:  hw-excess
-  other-modules:  Paths_hw_excess
+  import:               base, config
+                      , bytestring
+                      , criterion
+                      , hw-prim
+                      , vector
+  type:                 exitcode-stdio-1.0
+  main-is:              Main.hs
+  hs-source-dirs:       bench
+  build-depends:        hw-excess
+  other-modules:        Paths_hw_excess
