diff --git a/hasql.cabal b/hasql.cabal
--- a/hasql.cabal
+++ b/hasql.cabal
@@ -1,5 +1,5 @@
 name: hasql
-version: 1.6.1.1
+version: 1.6.1.2
 category: Hasql, Database, PostgreSQL
 synopsis: An efficient PostgreSQL driver with a flexible mapping API
 description:
@@ -57,6 +57,7 @@
     Hasql.Private.Encoders.Value
     Hasql.Private.Encoders.Params
   build-depends:
+    aeson >=2 && <3,
     attoparsec >=0.10 && <0.15,
     base >=4.12 && <5,
     bytestring >=0.10 && <0.12,
@@ -66,12 +67,16 @@
     hashable >=1.2 && <2,
     hashtables >=1.3 && <2,
     mtl >=2 && <3,
+    network-ip >=0.3.0.3 && <0.4,
     postgresql-binary >=0.12.5 && <0.13,
     postgresql-libpq ==0.9.*,
     profunctors >=5.1 && <6,
+    scientific >=0.3 && <0.4,
     text >=1 && <3,
     text-builder >=0.6.7 && <0.7,
+    time >=1.9 && <2,
     transformers >=0.3 && <0.7,
+    uuid >=1.3 && <2,
     vector >=0.10 && <0.14
 
 test-suite tasty
diff --git a/library/Hasql/Private/Decoders.hs b/library/Hasql/Private/Decoders.hs
--- a/library/Hasql/Private/Decoders.hs
+++ b/library/Hasql/Private/Decoders.hs
@@ -2,6 +2,7 @@
 -- A DSL for declaration of result decoders.
 module Hasql.Private.Decoders where
 
+import qualified Data.Aeson as Aeson
 import qualified Data.Vector as Vector
 import qualified Data.Vector.Generic as GenericVector
 import qualified Hasql.Private.Decoders.Array as Array
@@ -13,7 +14,7 @@
 import qualified Hasql.Private.Errors as Errors
 import Hasql.Private.Prelude hiding (bool, maybe)
 import qualified Hasql.Private.Prelude as Prelude
-import qualified PostgreSQL.Binary.Data as B
+import qualified Network.IP.Addr as NetworkIp
 import qualified PostgreSQL.Binary.Decoding as A
 
 -- * Result
@@ -187,7 +188,7 @@
 -- |
 -- Decoder of the @NUMERIC@ values.
 {-# INLINEABLE numeric #-}
-numeric :: Value B.Scientific
+numeric :: Value Scientific
 numeric = Value (Value.decoder (const A.numeric))
 
 -- |
@@ -212,13 +213,13 @@
 -- |
 -- Decoder of the @DATE@ values.
 {-# INLINEABLE date #-}
-date :: Value B.Day
+date :: Value Day
 date = Value (Value.decoder (const A.date))
 
 -- |
 -- Decoder of the @TIMESTAMP@ values.
 {-# INLINEABLE timestamp #-}
-timestamp :: Value B.LocalTime
+timestamp :: Value LocalTime
 timestamp = Value (Value.decoder (Prelude.bool A.timestamp_float A.timestamp_int))
 
 -- |
@@ -232,13 +233,13 @@
 -- However this library bypasses the silent conversions
 -- and communicates with Postgres using the UTC values directly.
 {-# INLINEABLE timestamptz #-}
-timestamptz :: Value B.UTCTime
+timestamptz :: Value UTCTime
 timestamptz = Value (Value.decoder (Prelude.bool A.timestamptz_float A.timestamptz_int))
 
 -- |
 -- Decoder of the @TIME@ values.
 {-# INLINEABLE time #-}
-time :: Value B.TimeOfDay
+time :: Value TimeOfDay
 time = Value (Value.decoder (Prelude.bool A.time_float A.time_int))
 
 -- |
@@ -250,31 +251,31 @@
 -- that fits the task, so we use a pair of 'TimeOfDay' and 'TimeZone'
 -- to represent a value on the Haskell's side.
 {-# INLINEABLE timetz #-}
-timetz :: Value (B.TimeOfDay, B.TimeZone)
+timetz :: Value (TimeOfDay, TimeZone)
 timetz = Value (Value.decoder (Prelude.bool A.timetz_float A.timetz_int))
 
 -- |
 -- Decoder of the @INTERVAL@ values.
 {-# INLINEABLE interval #-}
-interval :: Value B.DiffTime
+interval :: Value DiffTime
 interval = Value (Value.decoder (Prelude.bool A.interval_float A.interval_int))
 
 -- |
 -- Decoder of the @UUID@ values.
 {-# INLINEABLE uuid #-}
-uuid :: Value B.UUID
+uuid :: Value UUID
 uuid = Value (Value.decoder (const A.uuid))
 
 -- |
 -- Decoder of the @INET@ values.
 {-# INLINEABLE inet #-}
-inet :: Value (B.NetAddr B.IP)
+inet :: Value (NetworkIp.NetAddr NetworkIp.IP)
 inet = Value (Value.decoder (const A.inet))
 
 -- |
 -- Decoder of the @JSON@ values into a JSON AST.
 {-# INLINEABLE json #-}
-json :: Value B.Value
+json :: Value Aeson.Value
 json = Value (Value.decoder (const A.json_ast))
 
 -- |
@@ -286,7 +287,7 @@
 -- |
 -- Decoder of the @JSONB@ values into a JSON AST.
 {-# INLINEABLE jsonb #-}
-jsonb :: Value B.Value
+jsonb :: Value Aeson.Value
 jsonb = Value (Value.decoder (const A.jsonb_ast))
 
 -- |
diff --git a/library/Hasql/Private/Encoders.hs b/library/Hasql/Private/Encoders.hs
--- a/library/Hasql/Private/Encoders.hs
+++ b/library/Hasql/Private/Encoders.hs
@@ -2,6 +2,7 @@
 -- A DSL for declaration of query parameter encoders.
 module Hasql.Private.Encoders where
 
+import qualified Data.Aeson as Aeson
 import qualified Data.ByteString.Lazy as LazyByteString
 import qualified Hasql.Private.Encoders.Array as Array
 import qualified Hasql.Private.Encoders.Params as Params
@@ -9,7 +10,7 @@
 import qualified Hasql.Private.PTI as PTI
 import Hasql.Private.Prelude hiding (bool)
 import qualified Hasql.Private.Prelude as Prelude
-import qualified PostgreSQL.Binary.Data as B
+import qualified Network.IP.Addr as NetworkIp
 import qualified PostgreSQL.Binary.Encoding as A
 import qualified Text.Builder as C
 
@@ -145,7 +146,7 @@
 -- |
 -- Encoder of @NUMERIC@ values.
 {-# INLINEABLE numeric #-}
-numeric :: Value B.Scientific
+numeric :: Value Scientific
 numeric = Value (Value.unsafePTIWithShow PTI.numeric (const A.numeric))
 
 -- |
@@ -172,55 +173,55 @@
 -- |
 -- Encoder of @DATE@ values.
 {-# INLINEABLE date #-}
-date :: Value B.Day
+date :: Value Day
 date = Value (Value.unsafePTIWithShow PTI.date (const A.date))
 
 -- |
 -- Encoder of @TIMESTAMP@ values.
 {-# INLINEABLE timestamp #-}
-timestamp :: Value B.LocalTime
+timestamp :: Value LocalTime
 timestamp = Value (Value.unsafePTIWithShow PTI.timestamp (Prelude.bool A.timestamp_float A.timestamp_int))
 
 -- |
 -- Encoder of @TIMESTAMPTZ@ values.
 {-# INLINEABLE timestamptz #-}
-timestamptz :: Value B.UTCTime
+timestamptz :: Value UTCTime
 timestamptz = Value (Value.unsafePTIWithShow PTI.timestamptz (Prelude.bool A.timestamptz_float A.timestamptz_int))
 
 -- |
 -- Encoder of @TIME@ values.
 {-# INLINEABLE time #-}
-time :: Value B.TimeOfDay
+time :: Value TimeOfDay
 time = Value (Value.unsafePTIWithShow PTI.time (Prelude.bool A.time_float A.time_int))
 
 -- |
 -- Encoder of @TIMETZ@ values.
 {-# INLINEABLE timetz #-}
-timetz :: Value (B.TimeOfDay, B.TimeZone)
+timetz :: Value (TimeOfDay, TimeZone)
 timetz = Value (Value.unsafePTIWithShow PTI.timetz (Prelude.bool A.timetz_float A.timetz_int))
 
 -- |
 -- Encoder of @INTERVAL@ values.
 {-# INLINEABLE interval #-}
-interval :: Value B.DiffTime
+interval :: Value DiffTime
 interval = Value (Value.unsafePTIWithShow PTI.interval (Prelude.bool A.interval_float A.interval_int))
 
 -- |
 -- Encoder of @UUID@ values.
 {-# INLINEABLE uuid #-}
-uuid :: Value B.UUID
+uuid :: Value UUID
 uuid = Value (Value.unsafePTIWithShow PTI.uuid (const A.uuid))
 
 -- |
 -- Encoder of @INET@ values.
 {-# INLINEABLE inet #-}
-inet :: Value (B.NetAddr B.IP)
+inet :: Value (NetworkIp.NetAddr NetworkIp.IP)
 inet = Value (Value.unsafePTIWithShow PTI.inet (const A.inet))
 
 -- |
 -- Encoder of @JSON@ values from JSON AST.
 {-# INLINEABLE json #-}
-json :: Value B.Value
+json :: Value Aeson.Value
 json = Value (Value.unsafePTIWithShow PTI.json (const A.json_ast))
 
 -- |
@@ -238,7 +239,7 @@
 -- |
 -- Encoder of @JSONB@ values from JSON AST.
 {-# INLINEABLE jsonb #-}
-jsonb :: Value B.Value
+jsonb :: Value Aeson.Value
 jsonb = Value (Value.unsafePTIWithShow PTI.jsonb (const A.jsonb_ast))
 
 -- |
diff --git a/library/Hasql/Private/Prelude.hs b/library/Hasql/Private/Prelude.hs
--- a/library/Hasql/Private/Prelude.hs
+++ b/library/Hasql/Private/Prelude.hs
@@ -64,13 +64,16 @@
 import Data.Proxy as Exports
 import Data.Ratio as Exports
 import Data.STRef as Exports
+import Data.Scientific as Exports (Scientific)
 import Data.Semigroup as Exports hiding (First (..), Last (..))
 import Data.String as Exports
 import Data.Text as Exports (Text)
 import qualified Data.Text.Lazy
 import qualified Data.Text.Lazy.Builder
+import Data.Time as Exports
 import Data.Traversable as Exports
 import Data.Tuple as Exports
+import Data.UUID as Exports (UUID)
 import Data.Unique as Exports
 import Data.Vector as Exports (Vector)
 import Data.Version as Exports
@@ -87,7 +90,6 @@
 import GHC.IO.Exception as Exports
 import GHC.OverloadedLabels as Exports
 import Numeric as Exports
-import PostgreSQL.Binary.Data as Exports (UUID)
 import System.Environment as Exports
 import System.Exit as Exports
 import System.IO as Exports (Handle, hClose)
