diff --git a/app/App/Commands.hs b/app/App/Commands.hs
--- a/app/App/Commands.hs
+++ b/app/App/Commands.hs
@@ -1,7 +1,6 @@
 module App.Commands where
 
 import App.Commands.CreateIndex
-import Data.Semigroup           ((<>))
 import Options.Applicative
 
 commands :: Parser (IO ())
diff --git a/app/App/Commands/CreateIndex.hs b/app/App/Commands/CreateIndex.hs
--- a/app/App/Commands/CreateIndex.hs
+++ b/app/App/Commands/CreateIndex.hs
@@ -11,7 +11,6 @@
 import Control.Monad
 import Data.Generics.Product.Any
 import Data.Maybe
-import Data.Semigroup            ((<>))
 import Data.Word
 import Foreign
 import Options.Applicative       hiding (columns)
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -2,7 +2,6 @@
 
 import App.Commands
 import Control.Monad
-import Data.Semigroup      ((<>))
 import Options.Applicative
 
 main :: IO ()
diff --git a/bench/Main.hs b/bench/Main.hs
--- a/bench/Main.hs
+++ b/bench/Main.hs
@@ -6,7 +6,6 @@
 import Control.Monad
 import Criterion.Main
 import Data.List
-import Data.Semigroup                                            ((<>))
 import Data.Word
 import Foreign
 import HaskellWorks.Data.Json.Standard.Cursor.Internal.Blank
diff --git a/hw-json-standard-cursor.cabal b/hw-json-standard-cursor.cabal
--- a/hw-json-standard-cursor.cabal
+++ b/hw-json-standard-cursor.cabal
@@ -1,7 +1,7 @@
-cabal-version:  2.2
+cabal-version: 2.2
 
 name:                   hw-json-standard-cursor
-version:                0.2.1.3
+version:                0.2.2.0
 synopsis:               Memory efficient JSON parser
 description:            Memory efficient JSON parser. Please see README.md
 category:               Data
@@ -9,10 +9,10 @@
 bug-reports:            https://github.com/haskell-works/hw-json-standard-cursor/issues
 author:                 John Ky
 maintainer:             newhoggy@gmail.com
-copyright:              2016-2019 John Ky
+copyright:              2016-2020 John Ky
 license:                BSD-3-Clause
 license-file:           LICENSE
-tested-with:            GHC == 8.8.1, GHC == 8.6.3, 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
                         corpus/5000B.json
@@ -37,33 +37,31 @@
   manual:       False
   default:      False
 
-common base                     { build-depends: base                     >= 4          && < 5      }
-
-common array                    { build-depends: array                    >= 0.5        && < 0.6    }
-common bits-extra               { build-depends: bits-extra               >= 0.0.1.3    && < 0.1    }
-common bytestring               { build-depends: bytestring               >= 0.10.6     && < 0.11   }
-common criterion                { build-depends: criterion                >= 1.4        && < 1.6    }
-common directory                { build-depends: directory                >= 1.3        && < 1.4    }
-common doctest                  { build-depends: doctest                  >= 0.16.2     && < 0.17   }
-common doctest-discover         { build-depends: doctest-discover         >= 0.2        && < 0.3    }
-common generic-lens             { build-depends: generic-lens             >= 1.1.0.0    && < 1.3    }
-common hedgehog                 { build-depends: hedgehog                 >= 0.6        && < 1.1    }
-common hspec                    { build-depends: hspec                    >= 2.4        && < 3      }
-common hw-balancedparens        { build-depends: hw-balancedparens        >= 0.3.0.0    && < 0.4    }
-common hw-bits                  { build-depends: hw-bits                  >= 0.7.0.5    && < 0.8    }
-common hw-hspec-hedgehog        { build-depends: hw-hspec-hedgehog        >= 0.1.0.4    && < 0.2    }
-common hw-json-simd             { build-depends: hw-json-simd             >= 0.1.0.2    && < 0.2    }
-common hw-prim                  { build-depends: hw-prim                  >= 0.6.2.29   && < 0.7    }
-common hw-rankselect            { build-depends: hw-rankselect            >= 0.13       && < 0.14   }
-common hw-rankselect-base       { build-depends: hw-rankselect-base       >= 0.3.2.1    && < 0.4    }
-common lens                     { build-depends: lens                     >= 4          && < 5      }
-common mmap                     { build-depends: mmap                     >= 0.5        && < 0.6    }
-common optparse-applicative     { build-depends: optparse-applicative     >= 0.14       && < 0.16   }
-common text                     { build-depends: text                     >= 1.2        && < 1.3    }
-common vector                   { build-depends: vector                   >= 0.12       && < 0.13   }
-common word8                    { build-depends: word8                    >= 0.1        && < 0.2    }
+common base                       { build-depends: base                       >= 4.11       && < 5      }
 
-common semigroups   { if impl(ghc <  8    ) { build-depends: semigroups     >= 0.16     && < 0.19 } }
+common array                      { build-depends: array                      >= 0.5        && < 0.6    }
+common bits-extra                 { build-depends: bits-extra                 >= 0.0.1.3    && < 0.1    }
+common bytestring                 { build-depends: bytestring                 >= 0.10.6     && < 0.11   }
+common criterion                  { build-depends: criterion                  >= 1.4        && < 1.6    }
+common directory                  { build-depends: directory                  >= 1.3        && < 1.4    }
+common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.17   }
+common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    }
+common generic-lens               { build-depends: generic-lens               >= 1.1.0.0    && < 1.3    }
+common hedgehog                   { build-depends: hedgehog                   >= 0.6        && < 1.1    }
+common hspec                      { build-depends: hspec                      >= 2.4        && < 3      }
+common hw-balancedparens          { build-depends: hw-balancedparens          >= 0.3.0.0    && < 0.4    }
+common hw-bits                    { build-depends: hw-bits                    >= 0.7.0.5    && < 0.8    }
+common hw-hspec-hedgehog          { build-depends: hw-hspec-hedgehog          >= 0.1.0.4    && < 0.2    }
+common hw-json-simd               { build-depends: hw-json-simd               >= 0.1.0.2    && < 0.2    }
+common hw-prim                    { build-depends: hw-prim                    >= 0.6.2.29   && < 0.7    }
+common hw-rankselect              { build-depends: hw-rankselect              >= 0.13       && < 0.14   }
+common hw-rankselect-base         { build-depends: hw-rankselect-base         >= 0.3.2.1    && < 0.4    }
+common lens                       { build-depends: lens                       >= 4          && < 5      }
+common mmap                       { build-depends: mmap                       >= 0.5        && < 0.6    }
+common optparse-applicative       { build-depends: optparse-applicative       >= 0.14       && < 0.16   }
+common text                       { build-depends: text                       >= 1.2        && < 1.3    }
+common vector                     { build-depends: vector                     >= 0.12       && < 0.13   }
+common word8                      { build-depends: word8                      >= 0.1        && < 0.2    }
 
 common config
   default-language:     Haskell2010
@@ -122,7 +120,6 @@
                       , lens
                       , mmap
                       , optparse-applicative
-                      , semigroups
                       , text
                       , vector
   main-is:              Main.hs
@@ -165,7 +162,6 @@
                       , criterion
                       , directory
                       , mmap
-                      , semigroups
   type:                 exitcode-stdio-1.0
   main-is:              Main.hs
   hs-source-dirs:       bench
