diff --git a/amazonka-elasticache.cabal b/amazonka-elasticache.cabal
--- a/amazonka-elasticache.cabal
+++ b/amazonka-elasticache.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-elasticache
-version:               0.0.6
+version:               0.0.7
 synopsis:              Amazon ElastiCache SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -81,5 +81,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.0.6.*
+          amazonka-core == 0.0.7.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/ElastiCache/DescribeCacheClusters.hs b/gen/Network/AWS/ElastiCache/DescribeCacheClusters.hs
--- a/gen/Network/AWS/ElastiCache/DescribeCacheClusters.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeCacheClusters.hs
@@ -180,7 +180,7 @@
 
 instance FromXML DescribeCacheClustersResponse where
     parseXML = withElement "DescribeCacheClustersResult" $ \x -> DescribeCacheClustersResponse
-        <$> x .@  "CacheClusters"
+        <$> x .@? "CacheClusters" .!@ mempty
         <*> x .@? "Marker"
 
 instance AWSPager DescribeCacheClusters where
diff --git a/gen/Network/AWS/ElastiCache/DescribeCacheEngineVersions.hs b/gen/Network/AWS/ElastiCache/DescribeCacheEngineVersions.hs
--- a/gen/Network/AWS/ElastiCache/DescribeCacheEngineVersions.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeCacheEngineVersions.hs
@@ -188,7 +188,7 @@
 
 instance FromXML DescribeCacheEngineVersionsResponse where
     parseXML = withElement "DescribeCacheEngineVersionsResult" $ \x -> DescribeCacheEngineVersionsResponse
-        <$> x .@  "CacheEngineVersions"
+        <$> x .@? "CacheEngineVersions" .!@ mempty
         <*> x .@? "Marker"
 
 instance AWSPager DescribeCacheEngineVersions where
diff --git a/gen/Network/AWS/ElastiCache/DescribeCacheParameterGroups.hs b/gen/Network/AWS/ElastiCache/DescribeCacheParameterGroups.hs
--- a/gen/Network/AWS/ElastiCache/DescribeCacheParameterGroups.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeCacheParameterGroups.hs
@@ -150,7 +150,7 @@
 
 instance FromXML DescribeCacheParameterGroupsResponse where
     parseXML = withElement "DescribeCacheParameterGroupsResult" $ \x -> DescribeCacheParameterGroupsResponse
-        <$> x .@  "CacheParameterGroups"
+        <$> x .@? "CacheParameterGroups" .!@ mempty
         <*> x .@? "Marker"
 
 instance AWSPager DescribeCacheParameterGroups where
diff --git a/gen/Network/AWS/ElastiCache/DescribeCacheParameters.hs b/gen/Network/AWS/ElastiCache/DescribeCacheParameters.hs
--- a/gen/Network/AWS/ElastiCache/DescribeCacheParameters.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeCacheParameters.hs
@@ -171,9 +171,9 @@
 
 instance FromXML DescribeCacheParametersResponse where
     parseXML = withElement "DescribeCacheParametersResult" $ \x -> DescribeCacheParametersResponse
-        <$> x .@  "CacheNodeTypeSpecificParameters"
+        <$> x .@? "CacheNodeTypeSpecificParameters" .!@ mempty
         <*> x .@? "Marker"
-        <*> x .@  "Parameters"
+        <*> x .@? "Parameters" .!@ mempty
 
 instance AWSPager DescribeCacheParameters where
     page rq rs
diff --git a/gen/Network/AWS/ElastiCache/DescribeCacheSecurityGroups.hs b/gen/Network/AWS/ElastiCache/DescribeCacheSecurityGroups.hs
--- a/gen/Network/AWS/ElastiCache/DescribeCacheSecurityGroups.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeCacheSecurityGroups.hs
@@ -150,7 +150,7 @@
 
 instance FromXML DescribeCacheSecurityGroupsResponse where
     parseXML = withElement "DescribeCacheSecurityGroupsResult" $ \x -> DescribeCacheSecurityGroupsResponse
-        <$> x .@  "CacheSecurityGroups"
+        <$> x .@? "CacheSecurityGroups" .!@ mempty
         <*> x .@? "Marker"
 
 instance AWSPager DescribeCacheSecurityGroups where
diff --git a/gen/Network/AWS/ElastiCache/DescribeCacheSubnetGroups.hs b/gen/Network/AWS/ElastiCache/DescribeCacheSubnetGroups.hs
--- a/gen/Network/AWS/ElastiCache/DescribeCacheSubnetGroups.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeCacheSubnetGroups.hs
@@ -149,7 +149,7 @@
 
 instance FromXML DescribeCacheSubnetGroupsResponse where
     parseXML = withElement "DescribeCacheSubnetGroupsResult" $ \x -> DescribeCacheSubnetGroupsResponse
-        <$> x .@  "CacheSubnetGroups"
+        <$> x .@? "CacheSubnetGroups" .!@ mempty
         <*> x .@? "Marker"
 
 instance AWSPager DescribeCacheSubnetGroups where
diff --git a/gen/Network/AWS/ElastiCache/DescribeEvents.hs b/gen/Network/AWS/ElastiCache/DescribeEvents.hs
--- a/gen/Network/AWS/ElastiCache/DescribeEvents.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeEvents.hs
@@ -196,7 +196,7 @@
 
 instance FromXML DescribeEventsResponse where
     parseXML = withElement "DescribeEventsResult" $ \x -> DescribeEventsResponse
-        <$> x .@  "Events"
+        <$> x .@? "Events" .!@ mempty
         <*> x .@? "Marker"
 
 instance AWSPager DescribeEvents where
diff --git a/gen/Network/AWS/ElastiCache/DescribeReplicationGroups.hs b/gen/Network/AWS/ElastiCache/DescribeReplicationGroups.hs
--- a/gen/Network/AWS/ElastiCache/DescribeReplicationGroups.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeReplicationGroups.hs
@@ -152,7 +152,7 @@
 instance FromXML DescribeReplicationGroupsResponse where
     parseXML = withElement "DescribeReplicationGroupsResult" $ \x -> DescribeReplicationGroupsResponse
         <$> x .@? "Marker"
-        <*> x .@  "ReplicationGroups"
+        <*> x .@? "ReplicationGroups" .!@ mempty
 
 instance AWSPager DescribeReplicationGroups where
     page rq rs
diff --git a/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodes.hs b/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodes.hs
--- a/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodes.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodes.hs
@@ -212,7 +212,7 @@
 instance FromXML DescribeReservedCacheNodesResponse where
     parseXML = withElement "DescribeReservedCacheNodesResult" $ \x -> DescribeReservedCacheNodesResponse
         <$> x .@? "Marker"
-        <*> x .@  "ReservedCacheNodes"
+        <*> x .@? "ReservedCacheNodes" .!@ mempty
 
 instance AWSPager DescribeReservedCacheNodes where
     page rq rs
diff --git a/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodesOfferings.hs b/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodesOfferings.hs
--- a/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodesOfferings.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeReservedCacheNodesOfferings.hs
@@ -204,7 +204,7 @@
 instance FromXML DescribeReservedCacheNodesOfferingsResponse where
     parseXML = withElement "DescribeReservedCacheNodesOfferingsResult" $ \x -> DescribeReservedCacheNodesOfferingsResponse
         <$> x .@? "Marker"
-        <*> x .@  "ReservedCacheNodesOfferings"
+        <*> x .@? "ReservedCacheNodesOfferings" .!@ mempty
 
 instance AWSPager DescribeReservedCacheNodesOfferings where
     page rq rs
diff --git a/gen/Network/AWS/ElastiCache/DescribeSnapshots.hs b/gen/Network/AWS/ElastiCache/DescribeSnapshots.hs
--- a/gen/Network/AWS/ElastiCache/DescribeSnapshots.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeSnapshots.hs
@@ -175,7 +175,7 @@
 instance FromXML DescribeSnapshotsResponse where
     parseXML = withElement "DescribeSnapshotsResult" $ \x -> DescribeSnapshotsResponse
         <$> x .@? "Marker"
-        <*> x .@  "Snapshots"
+        <*> x .@? "Snapshots" .!@ mempty
 
 instance AWSPager DescribeSnapshots where
     page rq rs
diff --git a/gen/Network/AWS/ElastiCache/Types.hs b/gen/Network/AWS/ElastiCache/Types.hs
--- a/gen/Network/AWS/ElastiCache/Types.hs
+++ b/gen/Network/AWS/ElastiCache/Types.hs
@@ -628,7 +628,7 @@
         <*> x .@? "CacheSubnetGroupName"
         <*> x .@? "Engine"
         <*> x .@? "EngineVersion"
-        <*> x .@  "NodeSnapshots"
+        <*> x .@? "NodeSnapshots" .!@ mempty
         <*> x .@? "NumCacheNodes"
         <*> x .@? "Port"
         <*> x .@? "PreferredAvailabilityZone"
@@ -776,7 +776,7 @@
 instance FromXML NodeGroup where
     parseXML x = NodeGroup
         <$> x .@? "NodeGroupId"
-        <*> x .@  "NodeGroupMembers"
+        <*> x .@? "NodeGroupMembers" .!@ mempty
         <*> x .@? "PrimaryEndpoint"
         <*> x .@? "Status"
 
@@ -1106,7 +1106,7 @@
     parseXML x = CacheSubnetGroup
         <$> x .@? "CacheSubnetGroupDescription"
         <*> x .@? "CacheSubnetGroupName"
-        <*> x .@  "Subnets"
+        <*> x .@? "Subnets" .!@ mempty
         <*> x .@? "VpcId"
 
 instance ToQuery CacheSubnetGroup where
@@ -1239,7 +1239,7 @@
         <*> x .@? "FixedPrice"
         <*> x .@? "OfferingType"
         <*> x .@? "ProductDescription"
-        <*> x .@  "RecurringCharges"
+        <*> x .@? "RecurringCharges" .!@ mempty
         <*> x .@? "ReservedCacheNodeId"
         <*> x .@? "ReservedCacheNodesOfferingId"
         <*> x .@? "StartTime"
@@ -1573,9 +1573,9 @@
         <*> x .@? "CacheClusterId"
         <*> x .@? "CacheClusterStatus"
         <*> x .@? "CacheNodeType"
-        <*> x .@  "CacheNodes"
+        <*> x .@? "CacheNodes" .!@ mempty
         <*> x .@? "CacheParameterGroup"
-        <*> x .@  "CacheSecurityGroups"
+        <*> x .@? "CacheSecurityGroups" .!@ mempty
         <*> x .@? "CacheSubnetGroupName"
         <*> x .@? "ClientDownloadLandingPage"
         <*> x .@? "ConfigurationEndpoint"
@@ -1587,7 +1587,7 @@
         <*> x .@? "PreferredAvailabilityZone"
         <*> x .@? "PreferredMaintenanceWindow"
         <*> x .@? "ReplicationGroupId"
-        <*> x .@  "SecurityGroups"
+        <*> x .@? "SecurityGroups" .!@ mempty
         <*> x .@? "SnapshotRetentionLimit"
         <*> x .@? "SnapshotWindow"
 
@@ -1669,10 +1669,10 @@
 
 instance FromXML EngineDefaults where
     parseXML x = EngineDefaults
-        <$> x .@  "CacheNodeTypeSpecificParameters"
+        <$> x .@? "CacheNodeTypeSpecificParameters" .!@ mempty
         <*> x .@? "CacheParameterGroupFamily"
         <*> x .@? "Marker"
-        <*> x .@  "Parameters"
+        <*> x .@? "Parameters" .!@ mempty
 
 instance ToQuery EngineDefaults where
     toQuery EngineDefaults{..} = mconcat
@@ -1727,7 +1727,7 @@
 
 instance FromXML CacheParameterGroupStatus where
     parseXML x = CacheParameterGroupStatus
-        <$> x .@  "CacheNodeIdsToReboot"
+        <$> x .@? "CacheNodeIdsToReboot" .!@ mempty
         <*> x .@? "CacheParameterGroupName"
         <*> x .@? "ParameterApplyStatus"
 
@@ -2115,7 +2115,7 @@
     parseXML x = CacheSecurityGroup
         <$> x .@? "CacheSecurityGroupName"
         <*> x .@? "Description"
-        <*> x .@  "EC2SecurityGroups"
+        <*> x .@? "EC2SecurityGroups" .!@ mempty
         <*> x .@? "OwnerId"
 
 instance ToQuery CacheSecurityGroup where
@@ -2214,7 +2214,7 @@
 instance FromXML CacheNodeTypeSpecificParameter where
     parseXML x = CacheNodeTypeSpecificParameter
         <$> x .@? "AllowedValues"
-        <*> x .@  "CacheNodeTypeSpecificValues"
+        <*> x .@? "CacheNodeTypeSpecificValues" .!@ mempty
         <*> x .@? "DataType"
         <*> x .@? "Description"
         <*> x .@? "IsModifiable"
@@ -2421,8 +2421,8 @@
     parseXML x = ReplicationGroup
         <$> x .@? "AutomaticFailover"
         <*> x .@? "Description"
-        <*> x .@  "MemberClusters"
-        <*> x .@  "NodeGroups"
+        <*> x .@? "MemberClusters" .!@ mempty
+        <*> x .@? "NodeGroups" .!@ mempty
         <*> x .@? "PendingModifiedValues"
         <*> x .@? "ReplicationGroupId"
         <*> x .@? "SnapshottingClusterId"
@@ -2569,7 +2569,7 @@
         <*> x .@? "FixedPrice"
         <*> x .@? "OfferingType"
         <*> x .@? "ProductDescription"
-        <*> x .@  "RecurringCharges"
+        <*> x .@? "RecurringCharges" .!@ mempty
         <*> x .@? "ReservedCacheNodesOfferingId"
         <*> x .@? "UsagePrice"
 
@@ -2663,7 +2663,7 @@
 
 instance FromXML PendingModifiedValues where
     parseXML x = PendingModifiedValues
-        <$> x .@  "CacheNodeIdsToRemove"
+        <$> x .@? "CacheNodeIdsToRemove" .!@ mempty
         <*> x .@? "EngineVersion"
         <*> x .@? "NumCacheNodes"
 
