diff --git a/hw-prim.cabal b/hw-prim.cabal
--- a/hw-prim.cabal
+++ b/hw-prim.cabal
@@ -1,7 +1,7 @@
-cabal-version:  2.2
+cabal-version: 2.2
 
 name:                   hw-prim
-version:                0.6.2.40
+version:                0.6.3.0
 synopsis:               Primitive functions and data types
 description:            Primitive functions and data types.
 category:               Data
@@ -13,7 +13,7 @@
 copyright:              2016-2020 John Ky
 license:                BSD-3-Clause
 license-file:           LICENSE
-tested-with:            GHC == 8.8.2, GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2
+tested-with:            GHC == 8.10.1, GHC == 8.8.3, GHC == 8.6.5, GHC == 8.4.4
 build-type:             Simple
 extra-source-files:     README.md
 
@@ -26,25 +26,25 @@
   manual:               False
   default:              False
 
-common base                     { build-depends: base                     >= 4          && < 5      }
+common base                       { build-depends: base                       >= 4.11       && < 5      }
 
-common QuickCheck               { build-depends: QuickCheck               >= 2.10       && < 2.14   }
-common bytestring               { build-depends: bytestring               >= 0.9        && < 0.11   }
-common criterion                { build-depends: criterion                >= 1.2        && < 1.6    }
-common deepseq                  { build-depends: deepseq                  >= 1.4        && < 1.5    }
-common directory                { build-depends: directory                >= 1.2        && < 1.4    }
-common doctest                  { build-depends: doctest                  >= 0.16.2     && < 0.17   }
-common doctest-discover         { build-depends: doctest-discover         >= 0.2        && < 0.3    }
-common exceptions               { build-depends: exceptions               >= 0.8        && < 0.11   }
-common ghc-prim                 { build-depends: ghc-prim                 >= 0.5        && < 0.6    }
-common hedgehog                 { build-depends: hedgehog                 >= 1.0        && < 1.1    }
-common hspec                    { build-depends: hspec                    >= 2.4        && < 2.8    }
-common hw-hspec-hedgehog        { build-depends: hw-hspec-hedgehog        >= 0.1        && < 0.2    }
-common mmap                     { build-depends: mmap                     >= 0.5        && < 0.6    }
-common semigroups               { build-depends: semigroups               >= 0.8.4      && < 0.20   }
-common transformers             { build-depends: transformers             >= 0.4        && < 0.6    }
-common vector                   { build-depends: vector                   >= 0.12       && < 0.13   }
-common unliftio-core            { build-depends: unliftio-core            >= 0.1.2.0    && < 0.2    }
+common bytestring                 { build-depends: bytestring                 >= 0.9        && < 0.11   }
+common criterion                  { build-depends: criterion                  >= 1.2        && < 1.6    }
+common deepseq                    { build-depends: deepseq                    >= 1.4        && < 1.5    }
+common directory                  { build-depends: directory                  >= 1.2        && < 1.4    }
+common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.17   }
+common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    }
+common exceptions                 { build-depends: exceptions                 >= 0.8        && < 0.11   }
+common ghc-prim                   { build-depends: ghc-prim                   >= 0.5        && < 0.7    }
+common hedgehog                   { build-depends: hedgehog                   >= 1.0        && < 1.1    }
+common hspec                      { build-depends: hspec                      >= 2.4        && < 2.8    }
+common hw-hspec-hedgehog          { build-depends: hw-hspec-hedgehog          >= 0.1        && < 0.2    }
+common mmap                       { build-depends: mmap                       >= 0.5        && < 0.6    }
+common QuickCheck                 { build-depends: QuickCheck                 >= 2.10       && < 2.15   }
+common semigroups                 { build-depends: semigroups                 >= 0.8.4      && < 0.20   }
+common transformers               { build-depends: transformers               >= 0.4        && < 0.6    }
+common unliftio-core              { build-depends: unliftio-core              >= 0.1.2.0    && < 0.3    }
+common vector                     { build-depends: vector                     >= 0.12       && < 0.13   }
 
 common hw-prim
   build-depends:        hw-prim
@@ -61,7 +61,6 @@
                       , deepseq
                       , ghc-prim
                       , mmap
-                      , semigroups
                       , transformers
                       , unliftio-core
                       , vector
@@ -126,7 +125,6 @@
                       , hw-hspec-hedgehog
                       , hw-prim
                       , mmap
-                      , semigroups
                       , transformers
                       , vector
   type:                 exitcode-stdio-1.0
@@ -151,7 +149,6 @@
                       , criterion
                       , hw-prim
                       , mmap
-                      , semigroups
                       , transformers
                       , vector
   type:                 exitcode-stdio-1.0
diff --git a/src/HaskellWorks/Data/ByteString.hs b/src/HaskellWorks/Data/ByteString.hs
--- a/src/HaskellWorks/Data/ByteString.hs
+++ b/src/HaskellWorks/Data/ByteString.hs
@@ -17,7 +17,6 @@
   ) where
 
 import Control.Monad.ST
-import Data.Semigroup     ((<>))
 import Data.Word
 import Foreign.ForeignPtr
 
diff --git a/src/HaskellWorks/Data/ByteString/Builder.hs b/src/HaskellWorks/Data/ByteString/Builder.hs
--- a/src/HaskellWorks/Data/ByteString/Builder.hs
+++ b/src/HaskellWorks/Data/ByteString/Builder.hs
@@ -3,7 +3,6 @@
   ) where
 
 import Data.Function
-import Data.Monoid   (Monoid (..))
 
 import qualified Data.ByteString      as BS
 import qualified Data.ByteString.Lazy as LBS
diff --git a/src/HaskellWorks/Data/Ops.hs b/src/HaskellWorks/Data/Ops.hs
--- a/src/HaskellWorks/Data/Ops.hs
+++ b/src/HaskellWorks/Data/Ops.hs
@@ -7,8 +7,6 @@
   , (><)
   ) where
 
-import Data.Semigroup (Semigroup, (<>))
-
 import qualified HaskellWorks.Data.Cons      as HW
 import qualified HaskellWorks.Data.Container as HW
 import qualified HaskellWorks.Data.Snoc      as HW
diff --git a/src/HaskellWorks/Data/Vector/AsVector64.hs b/src/HaskellWorks/Data/Vector/AsVector64.hs
--- a/src/HaskellWorks/Data/Vector/AsVector64.hs
+++ b/src/HaskellWorks/Data/Vector/AsVector64.hs
@@ -4,7 +4,6 @@
   ( AsVector64(..)
   ) where
 
-import Data.Semigroup ((<>))
 import Data.Word
 
 import qualified Data.ByteString          as BS
diff --git a/src/HaskellWorks/Data/Vector/Storable.hs b/src/HaskellWorks/Data/Vector/Storable.hs
--- a/src/HaskellWorks/Data/Vector/Storable.hs
+++ b/src/HaskellWorks/Data/Vector/Storable.hs
@@ -14,7 +14,6 @@
   ) where
 
 import Control.Monad.ST                   (ST, runST)
-import Data.Monoid                        (Monoid (..), (<>))
 import Data.Vector.Storable               (Storable)
 import Data.Word
 import Foreign.ForeignPtr
