diff --git a/app/App/Commands/Types.hs b/app/App/Commands/Types.hs
--- a/app/App/Commands/Types.hs
+++ b/app/App/Commands/Types.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE DuplicateRecordFields #-}
-
 module App.Commands.Types
   ( CreateIndexOptions(..)
   , DemoOptions(..)
diff --git a/app/App/IO.hs b/app/App/IO.hs
--- a/app/App/IO.hs
+++ b/app/App/IO.hs
@@ -1,22 +1,7 @@
 module App.IO where
 
-import Control.Monad
-import Control.Monad.IO.Class
-import Control.Monad.Trans.Resource
-import System.IO                    (Handle)
-
 import qualified Data.ByteString.Lazy as LBS
 import qualified System.IO            as IO
-
-openOutputFile :: MonadResource m => FilePath -> Maybe Int -> m (ReleaseKey, Handle)
-openOutputFile "-" _ = allocate (return IO.stdout) (const (return ()))
-openOutputFile filePath maybeBufferSize = allocate open close
-  where open  = do
-          handle <- IO.openFile filePath IO.WriteMode
-          forM_ maybeBufferSize $ \bufferSize ->
-            liftIO $ IO.hSetBuffering handle (IO.BlockBuffering (Just bufferSize))
-          return handle
-        close = IO.hClose
 
 readInputFile :: FilePath -> IO LBS.ByteString
 readInputFile "-"      = LBS.hGetContents IO.stdin
diff --git a/hw-json.cabal b/hw-json.cabal
--- a/hw-json.cabal
+++ b/hw-json.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hw-json
-version:        0.9.0.0
+version:        0.9.0.1
 synopsis:       Memory efficient JSON parser
 description:    Memory efficient JSON parser. Please see README.md
 category:       Data
@@ -47,7 +47,7 @@
   ghc-options: -Wall -O2 -msse4.2
   build-depends:
       base                >= 4          && < 5
-    , bytestring          >= 0.10.8     && < 0.11
+    , bytestring          >= 0.10.6     && < 0.11
     , hw-balancedparens   >= 0.2.0.1    && < 0.3
     , hw-bits             >= 0.7.0.2    && < 0.8
     , hw-prim             >= 0.6.2.0    && < 0.7
@@ -106,7 +106,7 @@
   ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -msse4.2
   build-depends:
       base                >= 4          && < 5
-    , bytestring          >= 0.10.8     && < 0.11
+    , bytestring          >= 0.10.6     && < 0.11
     , hw-balancedparens   >= 0.2.0.1    && < 0.3
     , hw-bits             >= 0.7.0.2    && < 0.8
     , hw-prim             >= 0.6.2.0    && < 0.7
@@ -118,15 +118,16 @@
     , dlist                 >= 0.8        && < 0.9
     , hw-json
     , hw-mquery             >= 0.1        && < 0.2
-    , generic-lens          >= 1          && < 1.1
     , lens                  >= 4          && < 5
     , optparse-applicative  >= 0.14       && < 0.15
-    , resourcet             >= 1.2        && < 1.3
   if (flag(sse42))
     ghc-options: -mbmi2
   if (flag(bmi2)) && (impl(ghc >=8.4.1))
     ghc-options: -mbmi2 -msse4.2
     cpp-options: -DBMI2_ENABLED
+  if (impl(ghc < 8))
+    build-depends:
+        semigroups          >= 0.16       && < 0.19
   other-modules:
       App.Commands
       App.Commands.CreateIndex
@@ -144,7 +145,7 @@
   ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       base                >= 4          && < 5
-    , bytestring          >= 0.10.8     && < 0.11
+    , bytestring          >= 0.10.6     && < 0.11
     , hw-balancedparens   >= 0.2.0.1    && < 0.3
     , hw-bits             >= 0.7.0.2    && < 0.8
     , hw-prim             >= 0.6.2.0    && < 0.7
@@ -180,7 +181,7 @@
   ghc-options: -Wall -O2 -msse4.2
   build-depends:
       base                >= 4          && < 5
-    , bytestring          >= 0.10.8     && < 0.11
+    , bytestring          >= 0.10.6     && < 0.11
     , hw-balancedparens   >= 0.2.0.1    && < 0.3
     , hw-bits             >= 0.7.0.2    && < 0.8
     , hw-prim             >= 0.6.2.0    && < 0.7
