diff --git a/domain-aeson.cabal b/domain-aeson.cabal
--- a/domain-aeson.cabal
+++ b/domain-aeson.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name:          domain-aeson
-version:       0.1.1.1
+version:       0.1.1.2
 synopsis:      Integration of domain with aeson
 homepage:      https://github.com/nikita-volkov/domain-aeson
 bug-reports:   https://github.com/nikita-volkov/domain-aeson/issues
@@ -71,7 +71,7 @@
 
   build-depends:
     , aeson >=2 && <3
-    , base >=4.15 && <5
+    , base >=4.13 && <5
     , domain-core >=0.1 && <0.2
     , template-haskell >=2.14 && <3
     , template-haskell-compat-v0208 >=0.1.9 && <0.2
diff --git a/library/DomainAeson/Prelude.hs b/library/DomainAeson/Prelude.hs
--- a/library/DomainAeson/Prelude.hs
+++ b/library/DomainAeson/Prelude.hs
@@ -26,7 +26,7 @@
 import Data.Fixed as Exports
 import Data.Foldable as Exports hiding (toList)
 import Data.Function as Exports hiding (id, (.))
-import Data.Functor as Exports
+import Data.Functor as Exports hiding (unzip)
 import Data.Functor.Compose as Exports
 import Data.Functor.Contravariant as Exports
 import Data.IORef as Exports
@@ -67,7 +67,6 @@
 import System.Mem as Exports
 import System.Mem.StableName as Exports
 import System.Timeout as Exports
-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/library/DomainAeson/Util/AesonTH.hs b/library/DomainAeson/Util/AesonTH.hs
--- a/library/DomainAeson/Util/AesonTH.hs
+++ b/library/DomainAeson/Util/AesonTH.hs
@@ -16,13 +16,13 @@
 
 productFromJsonInstanceDec :: Type -> Name -> [(Text, Bool)] -> Dec
 productFromJsonInstanceDec type_ conName fields =
-  fromJsonInstanceDec type_ $
-    productParseJsonDec conName fields
+  fromJsonInstanceDec type_
+    $ productParseJsonDec conName fields
 
 sumFromJsonInstanceDec :: Type -> [(Text, Name, Int)] -> Dec
 sumFromJsonInstanceDec type_ variants =
-  fromJsonInstanceDec type_ $
-    parseJsonDec
+  fromJsonInstanceDec type_
+    $ parseJsonDec
   where
     parseJsonDec =
       FunD 'Ae.parseJSON [clause]
@@ -33,11 +33,11 @@
             bodyExp =
               Lambdas.matcher
                 [ Match
-                    (ConP 'Ae.Object [] [VarP aName])
+                    (Compat.conP 'Ae.Object [VarP aName])
                     (NormalB (sumObjectParserE (VarE aName) variants))
                     [],
                   Match
-                    (ConP 'Ae.String [] [VarP aName])
+                    (Compat.conP 'Ae.String [VarP aName])
                     (NormalB stringBody)
                     []
                 ]
@@ -118,7 +118,7 @@
               objectE
           )
           [ Match
-              (ConP 'Just [] [VarP (mkName "fieldValue")])
+              (Compat.conP 'Just [VarP (mkName "fieldValue")])
               ( NormalB
                   ( case components of
                       0 ->
@@ -132,7 +132,7 @@
               )
               [],
             Match
-              (ConP 'Nothing [] [])
+              (Compat.conP 'Nothing [])
               (NormalB (build tail))
               []
           ]
