diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -54,3 +54,4 @@
 
 * Expose Result constructor
 * Relax various constraints
+* Add Read instances to various data types
diff --git a/PowerDNS/API/Cryptokeys.hs b/PowerDNS/API/Cryptokeys.hs
--- a/PowerDNS/API/Cryptokeys.hs
+++ b/PowerDNS/API/Cryptokeys.hs
@@ -33,21 +33,26 @@
 import           PowerDNS.Internal.Utils (Empty(..), strip)
 
 data CryptokeysAPI f = CryptokeysAPI
-    { apiListCryptokeys :: f  :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys"
+    { apiListCryptokeys :: f  :- Summary "List cryptokeys"
+                              :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys"
                               :> Get '[JSON] [Cryptokey]
 
-    , apiCreateCryptokey :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys"
+    , apiCreateCryptokey :: f :- Summary "Create cryptokey"
+                              :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys"
                               :> ReqBody '[JSON] Cryptokey
                               :> PostCreated '[JSON] Cryptokey
 
-    , apiGetCryptokey :: f    :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys" :> Capture "cryptokey_id" T.Text
+    , apiGetCryptokey :: f    :- Summary "Get cryptokey"
+                              :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys" :> Capture "cryptokey_id" T.Text
                               :> Get '[JSON] Cryptokey
 
-    , apiUpdateCryptokey :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys" :> Capture "cryptokey_id" T.Text
+    , apiUpdateCryptokey :: f :- Summary "Update cryptokey"
+                              :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys" :> Capture "cryptokey_id" T.Text
                               :> ReqBody '[JSON] Cryptokey
                               :> PutNoContent
 
-    , apiDeleteCryptokey :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys" :> Capture "cryptokey_id" T.Text
+    , apiDeleteCryptokey :: f :- Summary "Delete cryptokey"
+                              :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "cryptokeys" :> Capture "cryptokey_id" T.Text
                               :> DeleteNoContent
 
     } deriving Generic
@@ -65,6 +70,6 @@
     , ck_privatekey :: Maybe T.Text
     , ck_algorithm :: Maybe T.Text
     , ck_bits :: Maybe Integer
-    } deriving (Eq, Ord, Show, Generic, NFData, Data, Empty)
+    } deriving (Eq, Ord, Read, Show, Generic, NFData, Data, Empty)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "ck_"} ''Cryptokey)
diff --git a/PowerDNS/API/Metadata.hs b/PowerDNS/API/Metadata.hs
--- a/PowerDNS/API/Metadata.hs
+++ b/PowerDNS/API/Metadata.hs
@@ -33,27 +33,32 @@
 import           PowerDNS.Internal.Utils (strip)
 
 data MetadataAPI f = MetadataAPI
-  { apiListMetadata   :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata"
+  { apiListMetadata   :: f :- Summary "List metadata"
+                           :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata"
                            :> Get '[JSON] [Metadata]
 
-  , apiCreateMetadata :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata"
+  , apiCreateMetadata :: f :- Summary "Create metadata"
+                           :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata"
                            :> ReqBody '[JSON] Metadata
                            :> PostNoContent
 
-  , apiGetMetadata    :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata" :> Capture "kind" T.Text
+  , apiGetMetadata    :: f :- Summary "Get metadata"
+                           :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata" :> Capture "kind" T.Text
                            :> Get '[JSON] Metadata
 
-  , apiUpdateMetadata    :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata" :> Capture "kind" T.Text
+  , apiUpdateMetadata    :: f :- Summary "Update metadata"
+                           :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata" :> Capture "kind" T.Text
                            :> ReqBody '[JSON] Metadata
                            :> Put '[JSON] Metadata
 
-  , apiDeleteMetadata    :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata" :> Capture "kind" T.Text
+  , apiDeleteMetadata    :: f :- Summary "Delete metadata"
+                           :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "metadata" :> Capture "kind" T.Text
                            :> DeleteNoContent
   } deriving Generic
 
 data Metadata = Metadata
   { md_kind :: T.Text
   , md_metadata :: [T.Text]
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "md_" } ''Metadata)
diff --git a/PowerDNS/API/Servers.hs b/PowerDNS/API/Servers.hs
--- a/PowerDNS/API/Servers.hs
+++ b/PowerDNS/API/Servers.hs
@@ -60,7 +60,7 @@
   , server_url :: Maybe T.Text
   , server_config_url :: Maybe T.Text
   , server_zones_url :: Maybe T.Text
-  } deriving (Eq, Ord, Show, Generic, NFData, Data, Empty)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data, Empty)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "server_" } ''Server)
 
@@ -70,7 +70,7 @@
                 | TyZone
                 | TyRecord
                 | TyComment
-                deriving (Eq, Ord, Show, Generic, NFData, Data)
+                deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { constructorTagModifier = map1 toLower . strip "Ty"
                             , allNullaryToStringTag = True } ''ObjectType)
@@ -99,7 +99,7 @@
   , sr_zone :: T.Text
   , sr_type :: T.Text
   , sr_ttl :: Integer
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "sr_" } ''SearchResult)
 
@@ -108,7 +108,7 @@
 data CacheFlushResult = CacheFlushResult
   { cfr_count :: Integer
   , cfr_result :: T.Text
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "cfr_" } ''CacheFlushResult)
 
@@ -117,7 +117,7 @@
 data SimpleStatisticItem = SimpleStatisticItem
   { ssi_name :: T.Text
   , ssi_value :: T.Text
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "ssi_" } ''SimpleStatisticItem)
 
@@ -126,7 +126,7 @@
 data AnyStatisticItem = AnyStatisticItem StatisticItem
                        | AnyMapStatisticItem MapStatisticItem
                        | AnyRingStatisticItem RingStatisticItem
-                       deriving (Eq, Ord, Show, Generic, NFData, Data)
+                       deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 instance ToJSON AnyStatisticItem where
   toJSON (AnyStatisticItem si) = object [ "type" .= String "StatisticItem"
@@ -165,40 +165,45 @@
 data StatisticItem = StatisticItem
   { si_name :: T.Text
   , si_value :: T.Text
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 data MapStatisticItem = MapStatisticItem
   { msi_name :: T.Text
   , msi_value :: [SimpleStatisticItem]
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 data RingStatisticItem = RingStatisticItem
   { rsi_name :: T.Text
   , rsi_size :: Integer
   , rsi_value :: [SimpleStatisticItem]
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 ----------------------------------------------------------------------------------------
 
 type QueryParamReq = QueryParam' [Required, Strict]
 data ServersAPI f = ServersAPI
-  { apiListServers :: f :- "servers"
+  { apiListServers :: f :- Summary "List servers"
+                        :> "servers"
                         :> Get '[JSON] [Server]
 
-  , apiGetServer   :: f :- "servers" :> Capture "server_id" T.Text
+  , apiGetServer   :: f :- Summary "Get server"
+                        :> "servers" :> Capture "server_id" T.Text
                         :> Get '[JSON] Server
 
-  , apiSearch      :: f :- "servers" :> Capture "server_id" T.Text :> "search-data"
+  , apiSearch      :: f :- Summary "Search"
+                        :> "servers" :> Capture "server_id" T.Text :> "search-data"
                         :> QueryParamReq "q" T.Text
                         :> QueryParamReq "max" Integer
                         :> QueryParam "object_type" ObjectType
                         :> Get '[JSON] [SearchResult]
 
-  , apiFlushCache  :: f :- "servers" :> Capture "server_id" T.Text
+  , apiFlushCache  :: f :- Summary "Flush cache"
+                        :> "servers" :> Capture "server_id" T.Text
                         :> QueryParamReq "domain" T.Text
                         :> Put '[JSON] CacheFlushResult
 
-  , apiStatistics  :: f :- "servers" :> Capture "server_id" T.Text :> "statistics"
+  , apiStatistics  :: f :- Summary "Statistics"
+                        :> "servers" :> Capture "server_id" T.Text :> "statistics"
                         :> QueryParam "statistic" T.Text
                         :> QueryParam "includerings" Bool
                         :> Get '[JSON] [AnyStatisticItem]
diff --git a/PowerDNS/API/TSIGKeys.hs b/PowerDNS/API/TSIGKeys.hs
--- a/PowerDNS/API/TSIGKeys.hs
+++ b/PowerDNS/API/TSIGKeys.hs
@@ -45,21 +45,26 @@
 ---------------------------------------------------------------------------------------
 
 data TSIGKeysAPI f = TSIGKeysAPI
-  { apiListTSIGKeys  :: f :- "servers" :> Capture "server_id" T.Text :> "tsigkeys"
+  { apiListTSIGKeys  :: f :- Summary "List TSIG keys"
+                          :> "servers" :> Capture "server_id" T.Text :> "tsigkeys"
                           :> Get '[JSON] [TSIGKey]
 
-  , apiCreateTSIGKey :: f :- "servers" :> Capture "server_id" T.Text :> "tsigkeys"
+  , apiCreateTSIGKey :: f :- Summary "Create TSIG key"
+                          :> "servers" :> Capture "server_id" T.Text :> "tsigkeys"
                           :> ReqBody '[JSON] TSIGKey
                           :> PostCreated '[JSON] TSIGKey
 
-  , apiGetTSIGKey    :: f :- "servers" :> Capture "server_id" T.Text :> "tsigkeys" :> Capture "tsigkey_id" T.Text
+  , apiGetTSIGKey    :: f :- Summary "Get TSIG key"
+                          :> "servers" :> Capture "server_id" T.Text :> "tsigkeys" :> Capture "tsigkey_id" T.Text
                           :> Get '[JSON] TSIGKey
 
-  , apiUpdateTSIGKey :: f :- "servers" :> Capture "server_id" T.Text :> "tsigkeys" :> Capture "tsigkey_id" T.Text
+  , apiUpdateTSIGKey :: f :- Summary "Update TSIG key"
+                          :> "servers" :> Capture "server_id" T.Text :> "tsigkeys" :> Capture "tsigkey_id" T.Text
                           :> ReqBody '[JSON] TSIGKey
                           :> Put '[JSON] TSIGKey
 
-  , apiDeleteTSIGKey :: f :- "servers" :> Capture "server_id" T.Text :> "tsigkeys" :> Capture "tsigkey_id" T.Text
+  , apiDeleteTSIGKey :: f :- Summary "DElete TSIG key"
+                          :> "servers" :> Capture "server_id" T.Text :> "tsigkeys" :> Capture "tsigkey_id" T.Text
                           :> DeleteNoContent
   } deriving Generic
 
@@ -71,7 +76,7 @@
   , tsk_algorithm :: Maybe TSIGAlgorithm
   , tsk_key :: Maybe BS.ByteString
   -- ^ Unlike the original PowerDNS API we do not require the key to be base64 encoded.
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 ----------------------------------------------------------------------------------------
 
@@ -82,7 +87,7 @@
                    | HMAC_SHA256
                    | HMAC_SHA384
                    | HMAC_SHA512
-                   deriving (Eq, Ord, Show, Generic, NFData, Data)
+                   deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { allNullaryToStringTag = True
                             , constructorTagModifier = fmap $ \c ->
diff --git a/PowerDNS/API/Version.hs b/PowerDNS/API/Version.hs
--- a/PowerDNS/API/Version.hs
+++ b/PowerDNS/API/Version.hs
@@ -32,13 +32,14 @@
 import           PowerDNS.Internal.Utils (strip)
 
 data VersionsAPI f = VersionsAPI
-  { apiListVersions :: f :- Get '[JSON] [Version]
+  { apiListVersions :: f :- Summary "List versions"
+                         :> Get '[JSON] [Version]
   } deriving Generic
 
 data Version = Version
   { version_version :: Int
   , version_url :: T.Text
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "version_" } ''Version)
   
diff --git a/PowerDNS/API/Zones.hs b/PowerDNS/API/Zones.hs
--- a/PowerDNS/API/Zones.hs
+++ b/PowerDNS/API/Zones.hs
@@ -63,7 +63,7 @@
 data Record = Record
   { record_content :: T.Text
   , record_disabled :: Bool
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "record_"
                             , omitNothingFields = True } ''Record)
@@ -76,7 +76,7 @@
   { comment_content :: Maybe T.Text
   , comment_account :: Maybe T.Text
   , comment_modified_at :: Maybe POSIXTime
-  } deriving (Eq, Ord, Show, Generic, NFData, Data, Empty)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data, Empty)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "comment_" } ''Comment)
 
@@ -86,13 +86,12 @@
 -- If the 'ChangeType' is left at @Nothing@ it will create a new domain entry.
 data ChangeType = Replace
                 | Delete
-                deriving (Eq, Ord, Show, Generic, NFData, Data)
+                deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { constructorTagModifier = fmap toUpper
                             , allNullaryToStringTag = True } ''ChangeType)
 
 
-
 ----------------------------------------------------------------------------------------
 
 data RecordType = A
@@ -145,7 +144,7 @@
                 | RKEY
                 | SIG
                 | WKS
-                deriving (Eq, Ord, Show, Generic, NFData, Data)
+                deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { allNullaryToStringTag = True
                             } ''RecordType)
@@ -227,7 +226,7 @@
   , rrset_changetype :: Maybe ChangeType
   , rrset_records :: Maybe [Record]
   , rrset_comments :: Maybe [Comment]
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "rrset_"
                             , omitNothingFields = True } ''RRSet)
@@ -237,7 +236,7 @@
 -- | A list of RRSets
 data RRSets = RRSets
   { rrsets :: [RRSet]
-  } deriving (Eq, Ord, Show, Generic, NFData, Data)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 instance ToJSON RRSets
 instance FromJSON RRSets
@@ -245,7 +244,7 @@
 ----------------------------------------------------------------------------------------
 
 data Kind = Native | Master | Slave
-  deriving (Eq, Ord, Show, Generic, NFData, Data)
+  deriving (Eq, Ord, Read, Show, Generic, NFData, Data)
 
 $(deriveJSON defaultOptions { allNullaryToStringTag = True } ''Kind)
 
@@ -279,48 +278,58 @@
   , zone_nameservers :: Maybe [T.Text]
   , zone_master_tsig_key_ids :: Maybe [T.Text]
   , zone_slave_tsig_key_ids :: Maybe [T.Text]
-  } deriving (Eq, Ord, Show, Generic, NFData, Data, Empty)
+  } deriving (Eq, Ord, Read, Show, Generic, NFData, Data, Empty)
 
 $(deriveJSON defaultOptions { fieldLabelModifier = strip "zone_" } ''Zone)
 
 ----------------------------------------------------------------------------------------
 
 data ZonesAPI f = ZonesAPI
-  { apiListZones     :: f :- "servers" :> Capture "server_id" T.Text :> "zones"
+  { apiListZones     :: f :- Summary "List zones"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones"
                           :> QueryParam "zone" T.Text
                           :> QueryParam "dnssec" Bool
                           :> Get '[JSON] [Zone]
 
-  , apiCreateZone    :: f :- "servers" :> Capture "server_id" T.Text :> "zones"
+  , apiCreateZone    :: f :- Summary "Create zone"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones"
                           :> QueryParam "rrset" Bool
                           :> ReqBody '[JSON] Zone
                           :> PostCreated '[JSON] Zone
 
-  , apiGetZone       :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
+  , apiGetZone       :: f :- Summary "Get zone"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
                           :> QueryParam "rrsets" Bool
                           :> Get '[JSON] Zone
 
-  , apiDeleteZone    :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
+  , apiDeleteZone    :: f :- Summary "Delete zone"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
                           :> DeleteNoContent
 
-  , apiUpdateRecords :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
+  , apiUpdateRecords :: f :- Summary "Update records"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
                           :> ReqBody '[JSON] RRSets
                           :> PatchNoContent
 
-  , apiUpdateZone    :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
+  , apiUpdateZone    :: f :- Summary "Update zone"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text
                           :> ReqBody '[JSON] Zone
                           :> PutNoContent
 
-  , apiTriggerAxfr   :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "axfr-retrieve"
+  , apiTriggerAxfr   :: f :- Summary "Trigger AXFR"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "axfr-retrieve"
                           :> Put '[JSON] Result
 
-  , apiNotifySlaves  :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "notify"
+  , apiNotifySlaves  :: f :- Summary "Notify slaves"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "notify"
                           :> Put '[JSON] Result
 
-  , apiGetZoneAxfr   :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "export"
+  , apiGetZoneAxfr   :: f :- Summary "Get zone AXFR"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "export"
                           :> Get '[JSON] Result
 
-  , apiRectifyZone   :: f :- "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "rectify"
+  , apiRectifyZone   :: f :- Summary "Rectify zone"
+                          :> "servers" :> Capture "server_id" T.Text :> "zones" :> Capture "zone_id" T.Text :> "rectify"
                           :> Put '[JSON] Result
 
   } deriving Generic
diff --git a/powerdns.cabal b/powerdns.cabal
--- a/powerdns.cabal
+++ b/powerdns.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               powerdns
-version:            0.4.3
+version:            0.4.4
 license:            BSD-3-Clause
 license-file:       LICENSE
 copyright:          (c) 2021 Victor Nawothnig
@@ -37,7 +37,7 @@
 
 common all
     build-depends:
-        base ^>= { 4.12, 4.13, 4.14, 4.15, 4.16, 4.17 },
+        base ^>= { 4.12, 4.13, 4.14, 4.15, 4.16, 4.17, 4.18, 4.19 },
         servant ^>= { 0.18.2, 0.19, 0.20 },
         servant-client ^>= { 0.18.2, 0.19, 0.20 },
         servant-client-core ^>= { 0.18.2, 0.19, 0.20 }
@@ -58,12 +58,12 @@
     ghc-options:      -Wall -Wcompat
     build-depends:
         aeson ^>= { 1.5.6, 2.0.3.0, 2.1.0.0, 2.2.0.0 },
-        bytestring ^>= { 0.10.10, 0.11.0 },
-        deepseq ^>= { 1.4.4 },
-        containers ^>= { 0.6.2 },
+        bytestring ^>= { 0.10.10, 0.11.0, 0.12.0.0 },
+        deepseq ^>= { 1.4.4, 1.5.0 },
+        containers ^>= { 0.6.2, 0.7 },
         hashable ^>= { 1.3.0.0, 1.4.0.0 },
         text ^>= { 1.2.4, 2.0, 2.1 },
-        time ^>= { 1.9.3, 1.10, 1.12  },
+        time ^>= { 1.9.3, 1.10, 1.12, 1.14 },
         base64-bytestring ^>= { 1.1.0, 1.2.1.0 },
         case-insensitive ^>= { 1.2.1 }
 
