diff --git a/amazonka-route53.cabal b/amazonka-route53.cabal
--- a/amazonka-route53.cabal
+++ b/amazonka-route53.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-route53
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon Route 53 SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -72,5 +72,5 @@
           Network.AWS.Route53.Internal
 
     build-depends:
-          amazonka-core == 0.2.1.*
+          amazonka-core == 0.2.2.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs b/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs
--- a/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs
+++ b/gen/Network/AWS/Route53/AssociateVPCWithHostedZone.hs
@@ -58,7 +58,7 @@
     { _avpcwhzComment      :: Maybe Text
     , _avpcwhzHostedZoneId :: Text
     , _avpcwhzVPC          :: VPC
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AssociateVPCWithHostedZone' constructor.
 --
@@ -97,7 +97,7 @@
 
 newtype AssociateVPCWithHostedZoneResponse = AssociateVPCWithHostedZoneResponse
     { _avpcwhzrChangeInfo :: ChangeInfo
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'AssociateVPCWithHostedZoneResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs b/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs
--- a/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs
+++ b/gen/Network/AWS/Route53/ChangeResourceRecordSets.hs
@@ -71,7 +71,7 @@
 data ChangeResourceRecordSets = ChangeResourceRecordSets
     { _crrsChangeBatch  :: ChangeBatch
     , _crrsHostedZoneId :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeResourceRecordSets' constructor.
 --
@@ -100,7 +100,7 @@
 
 newtype ChangeResourceRecordSetsResponse = ChangeResourceRecordSetsResponse
     { _crrsrChangeInfo :: ChangeInfo
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeResourceRecordSetsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ChangeTagsForResource.hs b/gen/Network/AWS/Route53/ChangeTagsForResource.hs
--- a/gen/Network/AWS/Route53/ChangeTagsForResource.hs
+++ b/gen/Network/AWS/Route53/ChangeTagsForResource.hs
@@ -51,7 +51,7 @@
     , _ctfrRemoveTagKeys :: List1 "Key" Text
     , _ctfrResourceId    :: Text
     , _ctfrResourceType  :: TagResourceType
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeTagsForResource' constructor.
 --
@@ -101,7 +101,7 @@
 ctfrResourceType = lens _ctfrResourceType (\s a -> s { _ctfrResourceType = a })
 
 data ChangeTagsForResourceResponse = ChangeTagsForResourceResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'ChangeTagsForResourceResponse' constructor.
 changeTagsForResourceResponse :: ChangeTagsForResourceResponse
diff --git a/gen/Network/AWS/Route53/CreateHealthCheck.hs b/gen/Network/AWS/Route53/CreateHealthCheck.hs
--- a/gen/Network/AWS/Route53/CreateHealthCheck.hs
+++ b/gen/Network/AWS/Route53/CreateHealthCheck.hs
@@ -55,7 +55,7 @@
 data CreateHealthCheck = CreateHealthCheck
     { _chcCallerReference   :: Text
     , _chcHealthCheckConfig :: HealthCheckConfig
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateHealthCheck' constructor.
 --
@@ -92,7 +92,7 @@
 data CreateHealthCheckResponse = CreateHealthCheckResponse
     { _chcrHealthCheck :: HealthCheck
     , _chcrLocation    :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateHealthCheckResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/CreateHostedZone.hs b/gen/Network/AWS/Route53/CreateHostedZone.hs
--- a/gen/Network/AWS/Route53/CreateHostedZone.hs
+++ b/gen/Network/AWS/Route53/CreateHostedZone.hs
@@ -79,7 +79,7 @@
     , _chzHostedZoneConfig :: Maybe HostedZoneConfig
     , _chzName             :: Text
     , _chzVPC              :: Maybe VPC
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateHostedZone' constructor.
 --
@@ -152,7 +152,7 @@
     , _chzrHostedZone    :: HostedZone
     , _chzrLocation      :: Text
     , _chzrVPC           :: Maybe VPC
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateHostedZoneResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs b/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs
--- a/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs
+++ b/gen/Network/AWS/Route53/CreateReusableDelegationSet.hs
@@ -58,7 +58,7 @@
 data CreateReusableDelegationSet = CreateReusableDelegationSet
     { _crdsCallerReference :: Text
     , _crdsHostedZoneId    :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'CreateReusableDelegationSet' constructor.
 --
@@ -94,7 +94,7 @@
 data CreateReusableDelegationSetResponse = CreateReusableDelegationSetResponse
     { _crdsrDelegationSet :: DelegationSet
     , _crdsrLocation      :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateReusableDelegationSetResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/DeleteHealthCheck.hs b/gen/Network/AWS/Route53/DeleteHealthCheck.hs
--- a/gen/Network/AWS/Route53/DeleteHealthCheck.hs
+++ b/gen/Network/AWS/Route53/DeleteHealthCheck.hs
@@ -56,7 +56,7 @@
 
 newtype DeleteHealthCheck = DeleteHealthCheck
     { _dhcHealthCheckId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteHealthCheck' constructor.
 --
@@ -75,7 +75,7 @@
 dhcHealthCheckId = lens _dhcHealthCheckId (\s a -> s { _dhcHealthCheckId = a })
 
 data DeleteHealthCheckResponse = DeleteHealthCheckResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteHealthCheckResponse' constructor.
 deleteHealthCheckResponse :: DeleteHealthCheckResponse
diff --git a/gen/Network/AWS/Route53/DeleteHostedZone.hs b/gen/Network/AWS/Route53/DeleteHostedZone.hs
--- a/gen/Network/AWS/Route53/DeleteHostedZone.hs
+++ b/gen/Network/AWS/Route53/DeleteHostedZone.hs
@@ -59,7 +59,7 @@
 
 newtype DeleteHostedZone = DeleteHostedZone
     { _dhzId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteHostedZone' constructor.
 --
@@ -79,7 +79,7 @@
 
 newtype DeleteHostedZoneResponse = DeleteHostedZoneResponse
     { _dhzrChangeInfo :: ChangeInfo
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteHostedZoneResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs b/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs
--- a/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs
+++ b/gen/Network/AWS/Route53/DeleteReusableDelegationSet.hs
@@ -54,7 +54,7 @@
 
 newtype DeleteReusableDelegationSet = DeleteReusableDelegationSet
     { _drdsId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteReusableDelegationSet' constructor.
 --
@@ -73,7 +73,7 @@
 drdsId = lens _drdsId (\s a -> s { _drdsId = a })
 
 data DeleteReusableDelegationSetResponse = DeleteReusableDelegationSetResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteReusableDelegationSetResponse' constructor.
 deleteReusableDelegationSetResponse :: DeleteReusableDelegationSetResponse
diff --git a/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs b/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs
--- a/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs
+++ b/gen/Network/AWS/Route53/DisassociateVPCFromHostedZone.hs
@@ -59,7 +59,7 @@
     { _dvpcfhzComment      :: Maybe Text
     , _dvpcfhzHostedZoneId :: Text
     , _dvpcfhzVPC          :: VPC
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DisassociateVPCFromHostedZone' constructor.
 --
@@ -97,7 +97,7 @@
 
 newtype DisassociateVPCFromHostedZoneResponse = DisassociateVPCFromHostedZoneResponse
     { _dvpcfhzrChangeInfo :: ChangeInfo
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DisassociateVPCFromHostedZoneResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/GetChange.hs b/gen/Network/AWS/Route53/GetChange.hs
--- a/gen/Network/AWS/Route53/GetChange.hs
+++ b/gen/Network/AWS/Route53/GetChange.hs
@@ -57,7 +57,7 @@
 
 newtype GetChange = GetChange
     { _gcId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetChange' constructor.
 --
@@ -79,7 +79,7 @@
 
 newtype GetChangeResponse = GetChangeResponse
     { _gcrChangeInfo :: ChangeInfo
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetChangeResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/GetCheckerIpRanges.hs b/gen/Network/AWS/Route53/GetCheckerIpRanges.hs
--- a/gen/Network/AWS/Route53/GetCheckerIpRanges.hs
+++ b/gen/Network/AWS/Route53/GetCheckerIpRanges.hs
@@ -48,7 +48,7 @@
 import qualified GHC.Exts
 
 data GetCheckerIpRanges = GetCheckerIpRanges
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'GetCheckerIpRanges' constructor.
 getCheckerIpRanges :: GetCheckerIpRanges
@@ -56,7 +56,7 @@
 
 newtype GetCheckerIpRangesResponse = GetCheckerIpRangesResponse
     { _gcirrCheckerIpRanges :: List "CheckerIpRanges" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList GetCheckerIpRangesResponse where
     type Item GetCheckerIpRangesResponse = Text
diff --git a/gen/Network/AWS/Route53/GetGeoLocation.hs b/gen/Network/AWS/Route53/GetGeoLocation.hs
--- a/gen/Network/AWS/Route53/GetGeoLocation.hs
+++ b/gen/Network/AWS/Route53/GetGeoLocation.hs
@@ -54,7 +54,7 @@
     { _gglContinentCode   :: Maybe Text
     , _gglCountryCode     :: Maybe Text
     , _gglSubdivisionCode :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GetGeoLocation' constructor.
 --
@@ -101,7 +101,7 @@
 
 newtype GetGeoLocationResponse = GetGeoLocationResponse
     { _gglrGeoLocationDetails :: GeoLocationDetails
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetGeoLocationResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/GetHealthCheck.hs b/gen/Network/AWS/Route53/GetHealthCheck.hs
--- a/gen/Network/AWS/Route53/GetHealthCheck.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheck.hs
@@ -49,7 +49,7 @@
 
 newtype GetHealthCheck = GetHealthCheck
     { _ghcHealthCheckId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetHealthCheck' constructor.
 --
@@ -69,7 +69,7 @@
 
 newtype GetHealthCheckResponse = GetHealthCheckResponse
     { _ghcrHealthCheck :: HealthCheck
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetHealthCheckResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/GetHealthCheckCount.hs b/gen/Network/AWS/Route53/GetHealthCheckCount.hs
--- a/gen/Network/AWS/Route53/GetHealthCheckCount.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheckCount.hs
@@ -46,7 +46,7 @@
 import qualified GHC.Exts
 
 data GetHealthCheckCount = GetHealthCheckCount
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'GetHealthCheckCount' constructor.
 getHealthCheckCount :: GetHealthCheckCount
@@ -54,7 +54,7 @@
 
 newtype GetHealthCheckCountResponse = GetHealthCheckCountResponse
     { _ghccrHealthCheckCount :: Integer
-    } deriving (Eq, Ord, Show, Enum, Num, Integral, Real)
+    } deriving (Eq, Ord, Read, Show, Enum, Num, Integral, Real)
 
 -- | 'GetHealthCheckCountResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs b/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs
--- a/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheckLastFailureReason.hs
@@ -52,7 +52,7 @@
 
 newtype GetHealthCheckLastFailureReason = GetHealthCheckLastFailureReason
     { _ghclfrHealthCheckId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetHealthCheckLastFailureReason' constructor.
 --
@@ -74,7 +74,7 @@
 
 newtype GetHealthCheckLastFailureReasonResponse = GetHealthCheckLastFailureReasonResponse
     { _ghclfrrHealthCheckObservations :: List "HealthCheckObservation" HealthCheckObservation
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList GetHealthCheckLastFailureReasonResponse where
     type Item GetHealthCheckLastFailureReasonResponse = HealthCheckObservation
diff --git a/gen/Network/AWS/Route53/GetHealthCheckStatus.hs b/gen/Network/AWS/Route53/GetHealthCheckStatus.hs
--- a/gen/Network/AWS/Route53/GetHealthCheckStatus.hs
+++ b/gen/Network/AWS/Route53/GetHealthCheckStatus.hs
@@ -50,7 +50,7 @@
 
 newtype GetHealthCheckStatus = GetHealthCheckStatus
     { _ghcsHealthCheckId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetHealthCheckStatus' constructor.
 --
@@ -72,7 +72,7 @@
 
 newtype GetHealthCheckStatusResponse = GetHealthCheckStatusResponse
     { _ghcsrHealthCheckObservations :: List "HealthCheckObservation" HealthCheckObservation
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList GetHealthCheckStatusResponse where
     type Item GetHealthCheckStatusResponse = HealthCheckObservation
diff --git a/gen/Network/AWS/Route53/GetHostedZone.hs b/gen/Network/AWS/Route53/GetHostedZone.hs
--- a/gen/Network/AWS/Route53/GetHostedZone.hs
+++ b/gen/Network/AWS/Route53/GetHostedZone.hs
@@ -52,7 +52,7 @@
 
 newtype GetHostedZone = GetHostedZone
     { _ghzId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetHostedZone' constructor.
 --
@@ -75,7 +75,7 @@
     { _ghzrDelegationSet :: Maybe DelegationSet
     , _ghzrHostedZone    :: HostedZone
     , _ghzrVPCs          :: List1 "VPC" VPC
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetHostedZoneResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/GetReusableDelegationSet.hs b/gen/Network/AWS/Route53/GetReusableDelegationSet.hs
--- a/gen/Network/AWS/Route53/GetReusableDelegationSet.hs
+++ b/gen/Network/AWS/Route53/GetReusableDelegationSet.hs
@@ -49,7 +49,7 @@
 
 newtype GetReusableDelegationSet = GetReusableDelegationSet
     { _grdsId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetReusableDelegationSet' constructor.
 --
@@ -70,7 +70,7 @@
 
 newtype GetReusableDelegationSetResponse = GetReusableDelegationSetResponse
     { _grdsrDelegationSet :: DelegationSet
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetReusableDelegationSetResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ListGeoLocations.hs b/gen/Network/AWS/Route53/ListGeoLocations.hs
--- a/gen/Network/AWS/Route53/ListGeoLocations.hs
+++ b/gen/Network/AWS/Route53/ListGeoLocations.hs
@@ -70,7 +70,7 @@
     , _lglStartContinentCode   :: Maybe Text
     , _lglStartCountryCode     :: Maybe Text
     , _lglStartSubdivisionCode :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListGeoLocations' constructor.
 --
@@ -131,7 +131,7 @@
     , _lglrNextContinentCode      :: Maybe Text
     , _lglrNextCountryCode        :: Maybe Text
     , _lglrNextSubdivisionCode    :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListGeoLocationsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ListHealthChecks.hs b/gen/Network/AWS/Route53/ListHealthChecks.hs
--- a/gen/Network/AWS/Route53/ListHealthChecks.hs
+++ b/gen/Network/AWS/Route53/ListHealthChecks.hs
@@ -61,7 +61,7 @@
 data ListHealthChecks = ListHealthChecks
     { _lhcMarker   :: Maybe Text
     , _lhcMaxItems :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListHealthChecks' constructor.
 --
@@ -93,7 +93,7 @@
     , _lhcrMarker       :: Text
     , _lhcrMaxItems     :: Text
     , _lhcrNextMarker   :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListHealthChecksResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ListHostedZones.hs b/gen/Network/AWS/Route53/ListHostedZones.hs
--- a/gen/Network/AWS/Route53/ListHostedZones.hs
+++ b/gen/Network/AWS/Route53/ListHostedZones.hs
@@ -64,7 +64,7 @@
     { _lhzDelegationSetId :: Maybe Text
     , _lhzMarker          :: Maybe Text
     , _lhzMaxItems        :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListHostedZones' constructor.
 --
@@ -100,10 +100,10 @@
 data ListHostedZonesResponse = ListHostedZonesResponse
     { _lhzrHostedZones :: List "HostedZone" HostedZone
     , _lhzrIsTruncated :: Bool
-    , _lhzrMarker      :: Text
+    , _lhzrMarker      :: Maybe Text
     , _lhzrMaxItems    :: Text
     , _lhzrNextMarker  :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListHostedZonesResponse' constructor.
 --
@@ -113,21 +113,20 @@
 --
 -- * 'lhzrIsTruncated' @::@ 'Bool'
 --
--- * 'lhzrMarker' @::@ 'Text'
+-- * 'lhzrMarker' @::@ 'Maybe' 'Text'
 --
 -- * 'lhzrMaxItems' @::@ 'Text'
 --
 -- * 'lhzrNextMarker' @::@ 'Maybe' 'Text'
 --
-listHostedZonesResponse :: Text -- ^ 'lhzrMarker'
-                        -> Bool -- ^ 'lhzrIsTruncated'
+listHostedZonesResponse :: Bool -- ^ 'lhzrIsTruncated'
                         -> Text -- ^ 'lhzrMaxItems'
                         -> ListHostedZonesResponse
-listHostedZonesResponse p1 p2 p3 = ListHostedZonesResponse
-    { _lhzrMarker      = p1
-    , _lhzrIsTruncated = p2
-    , _lhzrMaxItems    = p3
+listHostedZonesResponse p1 p2 = ListHostedZonesResponse
+    { _lhzrIsTruncated = p1
+    , _lhzrMaxItems    = p2
     , _lhzrHostedZones = mempty
+    , _lhzrMarker      = Nothing
     , _lhzrNextMarker  = Nothing
     }
 
@@ -147,7 +146,7 @@
 -- | If the request returned more than one page of results, submit another request
 -- and specify the value of 'NextMarker' from the last response in the 'marker'
 -- parameter to get the next page of results.
-lhzrMarker :: Lens' ListHostedZonesResponse Text
+lhzrMarker :: Lens' ListHostedZonesResponse (Maybe Text)
 lhzrMarker = lens _lhzrMarker (\s a -> s { _lhzrMarker = a })
 
 -- | The maximum number of hosted zones to be included in the response body. If
@@ -190,7 +189,7 @@
     parseXML x = ListHostedZonesResponse
         <$> x .@? "HostedZones" .!@ mempty
         <*> x .@  "IsTruncated"
-        <*> x .@  "Marker"
+        <*> x .@? "Marker"
         <*> x .@  "MaxItems"
         <*> x .@? "NextMarker"
 
diff --git a/gen/Network/AWS/Route53/ListResourceRecordSets.hs b/gen/Network/AWS/Route53/ListResourceRecordSets.hs
--- a/gen/Network/AWS/Route53/ListResourceRecordSets.hs
+++ b/gen/Network/AWS/Route53/ListResourceRecordSets.hs
@@ -100,7 +100,7 @@
     , _lrrsStartRecordIdentifier :: Maybe Text
     , _lrrsStartRecordName       :: Maybe Text
     , _lrrsStartRecordType       :: Maybe RecordType
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListResourceRecordSets' constructor.
 --
@@ -172,7 +172,7 @@
     , _lrrsrNextRecordName       :: Maybe Text
     , _lrrsrNextRecordType       :: Maybe RecordType
     , _lrrsrResourceRecordSets   :: List "ResourceRecordSet" ResourceRecordSet
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListResourceRecordSetsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ListReusableDelegationSets.hs b/gen/Network/AWS/Route53/ListReusableDelegationSets.hs
--- a/gen/Network/AWS/Route53/ListReusableDelegationSets.hs
+++ b/gen/Network/AWS/Route53/ListReusableDelegationSets.hs
@@ -63,7 +63,7 @@
 data ListReusableDelegationSets = ListReusableDelegationSets
     { _lrdsMarker   :: Maybe Text
     , _lrdsMaxItems :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ListReusableDelegationSets' constructor.
 --
@@ -96,7 +96,7 @@
     , _lrdsrMarker         :: Text
     , _lrdsrMaxItems       :: Text
     , _lrdsrNextMarker     :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListReusableDelegationSetsResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ListTagsForResource.hs b/gen/Network/AWS/Route53/ListTagsForResource.hs
--- a/gen/Network/AWS/Route53/ListTagsForResource.hs
+++ b/gen/Network/AWS/Route53/ListTagsForResource.hs
@@ -49,7 +49,7 @@
 data ListTagsForResource = ListTagsForResource
     { _ltfrResourceId   :: Text
     , _ltfrResourceType :: TagResourceType
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListTagsForResource' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype ListTagsForResourceResponse = ListTagsForResourceResponse
     { _ltfrrResourceTagSet :: ResourceTagSet
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListTagsForResourceResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/ListTagsForResources.hs b/gen/Network/AWS/Route53/ListTagsForResources.hs
--- a/gen/Network/AWS/Route53/ListTagsForResources.hs
+++ b/gen/Network/AWS/Route53/ListTagsForResources.hs
@@ -49,7 +49,7 @@
 data ListTagsForResources = ListTagsForResources
     { _ltfr1ResourceIds  :: List1 "ResourceId" Text
     , _ltfr1ResourceType :: TagResourceType
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ListTagsForResources' constructor.
 --
@@ -83,7 +83,7 @@
 
 newtype ListTagsForResourcesResponse = ListTagsForResourcesResponse
     { _ltfrrResourceTagSets :: List "ResourceTagSet" ResourceTagSet
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList ListTagsForResourcesResponse where
     type Item ListTagsForResourcesResponse = ResourceTagSet
diff --git a/gen/Network/AWS/Route53/Types.hs b/gen/Network/AWS/Route53/Types.hs
--- a/gen/Network/AWS/Route53/Types.hs
+++ b/gen/Network/AWS/Route53/Types.hs
@@ -203,7 +203,7 @@
 data Route53
 
 instance AWSService Route53 where
-    type Sg Route53 = V3
+    type Sg Route53 = V4
     type Er Route53 = RESTError
 
     service = service'
@@ -249,7 +249,7 @@
     { _atDNSName              :: Text
     , _atEvaluateTargetHealth :: Bool
     , _atHostedZoneId         :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'AliasTarget' constructor.
 --
@@ -318,7 +318,7 @@
 
 newtype ResourceRecord = ResourceRecord
     { _rrValue :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'ResourceRecord' constructor.
 --
@@ -348,7 +348,7 @@
 data Tag = Tag
     { _tagKey   :: Maybe Text
     , _tagValue :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'Tag' constructor.
 --
@@ -390,7 +390,7 @@
     , _gldCountryName     :: Maybe Text
     , _gldSubdivisionCode :: Maybe Text
     , _gldSubdivisionName :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GeoLocationDetails' constructor.
 --
@@ -480,7 +480,7 @@
     , _hcHealthCheckConfig  :: HealthCheckConfig
     , _hcHealthCheckVersion :: Nat
     , _hcId                 :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'HealthCheck' constructor.
 --
@@ -556,7 +556,7 @@
     | UsEast1      -- ^ us-east-1
     | UsWest1      -- ^ us-west-1
     | UsWest2      -- ^ us-west-2
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable VPCRegion
 
@@ -609,7 +609,7 @@
     | SPF   -- ^ SPF
     | SRV   -- ^ SRV
     | TXT   -- ^ TXT
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable RecordType
 
@@ -655,7 +655,7 @@
     = Create  -- ^ CREATE
     | Delete' -- ^ DELETE
     | Upsert  -- ^ UPSERT
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ChangeAction
 
@@ -686,7 +686,7 @@
 data TagResourceType
     = Healthcheck -- ^ healthcheck
     | Hostedzone  -- ^ hostedzone
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable TagResourceType
 
@@ -721,7 +721,7 @@
     , _hccResourcePath             :: Maybe Text
     , _hccSearchString             :: Maybe Text
     , _hccType                     :: HealthCheckType
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'HealthCheckConfig' constructor.
 --
@@ -836,7 +836,7 @@
 data Change = Change
     { _cAction            :: ChangeAction
     , _cResourceRecordSet :: ResourceRecordSet
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Change' constructor.
 --
@@ -879,7 +879,7 @@
 data Failover
     = Primary   -- ^ PRIMARY
     | Secondary -- ^ SECONDARY
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable Failover
 
@@ -911,7 +911,7 @@
     , _hzId                     :: Text
     , _hzName                   :: Text
     , _hzResourceRecordSetCount :: Maybe Integer
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'HostedZone' constructor.
 --
@@ -993,7 +993,7 @@
     { _rtsResourceId   :: Maybe Text
     , _rtsResourceType :: Maybe TagResourceType
     , _rtsTags         :: List1 "Tag" Tag
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ResourceTagSet' constructor.
 --
@@ -1047,7 +1047,7 @@
 data ChangeStatus
     = Insync  -- ^ INSYNC
     | Pending -- ^ PENDING
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable ChangeStatus
 
@@ -1076,7 +1076,7 @@
 data ChangeBatch = ChangeBatch
     { _cbChanges :: List1 "Change" Change
     , _cbComment :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeBatch' constructor.
 --
@@ -1116,7 +1116,7 @@
 data StatusReport = StatusReport
     { _srCheckedTime :: Maybe ISO8601
     , _srStatus      :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'StatusReport' constructor.
 --
@@ -1160,7 +1160,7 @@
     | Https         -- ^ HTTPS
     | HttpsStrMatch -- ^ HTTPS_STR_MATCH
     | Tcp           -- ^ TCP
-      deriving (Eq, Ord, Show, Generic, Enum)
+      deriving (Eq, Ord, Read, Show, Generic, Enum)
 
 instance Hashable HealthCheckType
 
@@ -1195,7 +1195,7 @@
 data VPC = VPC
     { _vpcVPCId     :: Maybe Text
     , _vpcVPCRegion :: Maybe VPCRegion
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'VPC' constructor.
 --
@@ -1233,7 +1233,7 @@
 data HostedZoneConfig = HostedZoneConfig
     { _hzcComment     :: Maybe Text
     , _hzcPrivateZone :: Maybe Bool
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'HostedZoneConfig' constructor.
 --
@@ -1283,7 +1283,7 @@
     , _rrsTTL             :: Maybe Nat
     , _rrsType            :: RecordType
     , _rrsWeight          :: Maybe Nat
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ResourceRecordSet' constructor.
 --
@@ -1434,7 +1434,7 @@
     { _dsCallerReference :: Maybe Text
     , _dsId              :: Maybe Text
     , _dsNameServers     :: List1 "NameServer" Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DelegationSet' constructor.
 --
@@ -1487,7 +1487,7 @@
     , _ciId          :: Text
     , _ciStatus      :: ChangeStatus
     , _ciSubmittedAt :: ISO8601
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeInfo' constructor.
 --
@@ -1561,7 +1561,7 @@
     { _glContinentCode   :: Maybe Text
     , _glCountryCode     :: Maybe Text
     , _glSubdivisionCode :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GeoLocation' constructor.
 --
@@ -1622,7 +1622,7 @@
 data HealthCheckObservation = HealthCheckObservation
     { _hcoIPAddress    :: Maybe Text
     , _hcoStatusReport :: Maybe StatusReport
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'HealthCheckObservation' constructor.
 --
diff --git a/gen/Network/AWS/Route53/UpdateHealthCheck.hs b/gen/Network/AWS/Route53/UpdateHealthCheck.hs
--- a/gen/Network/AWS/Route53/UpdateHealthCheck.hs
+++ b/gen/Network/AWS/Route53/UpdateHealthCheck.hs
@@ -66,7 +66,7 @@
     , _uhcPort                     :: Maybe Nat
     , _uhcResourcePath             :: Maybe Text
     , _uhcSearchString             :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'UpdateHealthCheck' constructor.
 --
@@ -168,7 +168,7 @@
 
 newtype UpdateHealthCheckResponse = UpdateHealthCheckResponse
     { _uhcrHealthCheck :: HealthCheck
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateHealthCheckResponse' constructor.
 --
diff --git a/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs b/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs
--- a/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs
+++ b/gen/Network/AWS/Route53/UpdateHostedZoneComment.hs
@@ -54,7 +54,7 @@
 data UpdateHostedZoneComment = UpdateHostedZoneComment
     { _uhzcComment :: Maybe Text
     , _uhzcId      :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'UpdateHostedZoneComment' constructor.
 --
@@ -81,7 +81,7 @@
 
 newtype UpdateHostedZoneCommentResponse = UpdateHostedZoneCommentResponse
     { _uhzcrHostedZone :: HostedZone
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'UpdateHostedZoneCommentResponse' constructor.
 --
