diff --git a/library/StrictList.hs b/library/StrictList.hs
--- a/library/StrictList.hs
+++ b/library/StrictList.hs
@@ -86,9 +86,9 @@
   mzero = empty
   mplus = (<|>)
 
-instance Hashable a => Hashable (List a)
+instance (Hashable a) => Hashable (List a)
 
-instance NFData a => NFData (List a)
+instance (NFData a) => NFData (List a)
 
 instance NFData1 List
 
diff --git a/library/StrictList/Prelude.hs b/library/StrictList/Prelude.hs
--- a/library/StrictList/Prelude.hs
+++ b/library/StrictList/Prelude.hs
@@ -28,7 +28,6 @@
 import Data.Function as Exports hiding (id, (.))
 import Data.Functor as Exports
 import Data.Functor.Alt as Exports hiding (many, optional, some, ($>))
-import Data.Functor.Apply as Exports hiding (($>))
 import Data.Functor.Bind as Exports hiding (($>))
 import Data.Functor.Extend as Exports
 import Data.Functor.Identity as Exports
@@ -74,8 +73,6 @@
 import System.Mem as Exports
 import System.Mem.StableName as Exports
 import System.Timeout as Exports
-import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)
-import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec)
 import Text.Printf as Exports (hPrintf, printf)
 import Text.Read as Exports (Read (..), readEither, readMaybe)
 import Unsafe.Coerce as Exports
diff --git a/strict-list.cabal b/strict-list.cabal
--- a/strict-list.cabal
+++ b/strict-list.cabal
@@ -1,50 +1,75 @@
 cabal-version: 3.0
-
-name: strict-list
-version: 0.1.7
-synopsis: Strict linked list
+name:          strict-list
+version:       0.1.7.1
+synopsis:      Strict linked list
 description:
   Implementation of strict linked list with care taken about stack.
-homepage: https://github.com/nikita-volkov/strict-list
-bug-reports: https://github.com/nikita-volkov/strict-list/issues
-author: Nikita Volkov <nikita.y.volkov@mail.ru>
-maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
-copyright: (c) 2019, Nikita Volkov
-license: MIT
-license-file: LICENSE
 
+homepage:      https://github.com/nikita-volkov/strict-list
+bug-reports:   https://github.com/nikita-volkov/strict-list/issues
+author:        Nikita Volkov <nikita.y.volkov@mail.ru>
+maintainer:    Nikita Volkov <nikita.y.volkov@mail.ru>
+copyright:     (c) 2019, Nikita Volkov
+license:       MIT
+license-file:  LICENSE
+
 source-repository head
-  type: git
+  type:     git
   location: git://github.com/nikita-volkov/strict-list.git
 
 common language-settings
-  default-extensions: BangPatterns, DeriveDataTypeable, DeriveGeneric, DeriveFunctor, DeriveTraversable, FlexibleContexts, FlexibleInstances, LambdaCase, NoImplicitPrelude, RankNTypes, ScopedTypeVariables, StandaloneDeriving, TypeApplications, TypeFamilies
-  default-language: Haskell2010
+  default-extensions:
+    NoImplicitPrelude
+    BangPatterns
+    DeriveDataTypeable
+    DeriveFunctor
+    DeriveGeneric
+    DeriveTraversable
+    FlexibleContexts
+    FlexibleInstances
+    LambdaCase
+    RankNTypes
+    ScopedTypeVariables
+    StandaloneDeriving
+    TypeApplications
+    TypeFamilies
 
+  default-language:   Haskell2010
+
 library
-  import: language-settings
-  hs-source-dirs: library
-  exposed-modules:
-    StrictList
-  other-modules:
-    StrictList.Prelude
+  import:          language-settings
+  hs-source-dirs:  library
+  exposed-modules: StrictList
+  other-modules:   StrictList.Prelude
   build-depends:
-    base >=4.9 && <5,
-    deepseq >=1.4.3 && <1.5,
-    hashable >=1.2 && <2,
-    semigroupoids >=5.3 && <6,
+    , base >=4.9 && <5
+    , deepseq >=1.4.3 && <1.5
+    , hashable >=1.2 && <2
+    , semigroupoids >=5.3 && <7
 
 test-suite test
-  type: exitcode-stdio-1.0
-  hs-source-dirs: test
-  default-extensions: BangPatterns, DeriveDataTypeable, DeriveGeneric, DeriveFunctor, DeriveTraversable, FlexibleContexts, FlexibleInstances, LambdaCase, NoImplicitPrelude, RankNTypes, ScopedTypeVariables, StandaloneDeriving, TypeApplications, TypeFamilies
-  default-language: Haskell2010
-  main-is: Main.hs
+  type:               exitcode-stdio-1.0
+  hs-source-dirs:     test
+  default-extensions:
+    NoImplicitPrelude
+    BangPatterns
+    DeriveDataTypeable
+    DeriveFunctor
+    DeriveGeneric
+    DeriveTraversable
+    FlexibleContexts
+    FlexibleInstances
+    LambdaCase
+    RankNTypes
+    ScopedTypeVariables
+    StandaloneDeriving
+    TypeApplications
+    TypeFamilies
+
+  default-language:   Haskell2010
+  main-is:            Main.hs
   build-depends:
-    strict-list,
-    QuickCheck >=2.8.1 && <3,
-    quickcheck-instances >=0.3.11 && <0.4,
-    rerebase <2,
-    tasty >=0.12 && <2,
-    tasty-hunit >=0.9 && <0.11,
-    tasty-quickcheck >=0.9 && <0.11,
+    , rerebase <2
+    , strict-list
+    , tasty >=0.12 && <2
+    , tasty-quickcheck >=0.9 && <0.11
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,18 +1,16 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
 module Main where
 
 import qualified Data.List as Lazy
 import qualified Data.Maybe as Maybe
 import GHC.Exts as Exports (IsList (..))
 import StrictList
-import qualified Test.QuickCheck as QuickCheck
-import Test.QuickCheck.Instances
-import qualified Test.QuickCheck.Property as QuickCheck
 import Test.Tasty
-import Test.Tasty.HUnit
 import Test.Tasty.QuickCheck
-import Test.Tasty.Runners
 import Prelude hiding (List, break, choose, drop, dropWhile, filter, head, init, last, reverse, span, tail, take, takeWhile, toList)
 
+main :: IO ()
 main =
   defaultMain $
     testGroup "" $
