diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -33,3 +33,5 @@
 ## Licence
 
 `amazonka-elasticache` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+
+Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.
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.4
+version:               0.0.5
 synopsis:              Amazon ElastiCache SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -81,5 +81,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.0.4.*
+          amazonka-core == 0.0.5.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/ElastiCache.hs b/gen/Network/AWS/ElastiCache.hs
--- a/gen/Network/AWS/ElastiCache.hs
+++ b/gen/Network/AWS/ElastiCache.hs
@@ -7,6 +7,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | ElastiCache is a web service that makes it easy to deploy, operate, and scale
 -- an in-memory cache in the cloud. The service improves the performance of web
diff --git a/gen/Network/AWS/ElastiCache/AuthorizeCacheSecurityGroupIngress.hs b/gen/Network/AWS/ElastiCache/AuthorizeCacheSecurityGroupIngress.hs
--- a/gen/Network/AWS/ElastiCache/AuthorizeCacheSecurityGroupIngress.hs
+++ b/gen/Network/AWS/ElastiCache/AuthorizeCacheSecurityGroupIngress.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /AuthorizeCacheSecurityGroupIngress/ operation allows network ingress to a
 -- cache security group. Applications using ElastiCache must be running on
diff --git a/gen/Network/AWS/ElastiCache/CopySnapshot.hs b/gen/Network/AWS/ElastiCache/CopySnapshot.hs
--- a/gen/Network/AWS/ElastiCache/CopySnapshot.hs
+++ b/gen/Network/AWS/ElastiCache/CopySnapshot.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CopySnapshot/ operation makes a copy of an existing snapshot.
 --
diff --git a/gen/Network/AWS/ElastiCache/CreateCacheCluster.hs b/gen/Network/AWS/ElastiCache/CreateCacheCluster.hs
--- a/gen/Network/AWS/ElastiCache/CreateCacheCluster.hs
+++ b/gen/Network/AWS/ElastiCache/CreateCacheCluster.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CreateCacheCluster/ operation creates a cache cluster. All nodes in the
 -- cache cluster run the same protocol-compliant cache engine software, either
@@ -73,7 +75,7 @@
     , _cccCacheClusterId             :: Text
     , _cccCacheNodeType              :: Maybe Text
     , _cccCacheParameterGroupName    :: Maybe Text
-    , _cccCacheSecurityGroupNames    :: List "CacheSecurityGroupName" Text
+    , _cccCacheSecurityGroupNames    :: List "member" Text
     , _cccCacheSubnetGroupName       :: Maybe Text
     , _cccEngine                     :: Maybe Text
     , _cccEngineVersion              :: Maybe Text
@@ -81,11 +83,11 @@
     , _cccNumCacheNodes              :: Maybe Int
     , _cccPort                       :: Maybe Int
     , _cccPreferredAvailabilityZone  :: Maybe Text
-    , _cccPreferredAvailabilityZones :: List "PreferredAvailabilityZone" Text
+    , _cccPreferredAvailabilityZones :: List "member" Text
     , _cccPreferredMaintenanceWindow :: Maybe Text
     , _cccReplicationGroupId         :: Maybe Text
-    , _cccSecurityGroupIds           :: List "SecurityGroupId" Text
-    , _cccSnapshotArns               :: List "SnapshotArn" Text
+    , _cccSecurityGroupIds           :: List "member" Text
+    , _cccSnapshotArns               :: List "member" Text
     , _cccSnapshotName               :: Maybe Text
     , _cccSnapshotRetentionLimit     :: Maybe Int
     , _cccSnapshotWindow             :: Maybe Text
diff --git a/gen/Network/AWS/ElastiCache/CreateCacheParameterGroup.hs b/gen/Network/AWS/ElastiCache/CreateCacheParameterGroup.hs
--- a/gen/Network/AWS/ElastiCache/CreateCacheParameterGroup.hs
+++ b/gen/Network/AWS/ElastiCache/CreateCacheParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CreateCacheParameterGroup/ operation creates a new cache parameter group.
 -- A cache parameter group is a collection of parameters that you apply to all
diff --git a/gen/Network/AWS/ElastiCache/CreateCacheSecurityGroup.hs b/gen/Network/AWS/ElastiCache/CreateCacheSecurityGroup.hs
--- a/gen/Network/AWS/ElastiCache/CreateCacheSecurityGroup.hs
+++ b/gen/Network/AWS/ElastiCache/CreateCacheSecurityGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CreateCacheSecurityGroup/ operation creates a new cache security group.
 -- Use a cache security group to control access to one or more cache clusters.
diff --git a/gen/Network/AWS/ElastiCache/CreateCacheSubnetGroup.hs b/gen/Network/AWS/ElastiCache/CreateCacheSubnetGroup.hs
--- a/gen/Network/AWS/ElastiCache/CreateCacheSubnetGroup.hs
+++ b/gen/Network/AWS/ElastiCache/CreateCacheSubnetGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CreateCacheSubnetGroup/ operation creates a new cache subnet group.
 --
@@ -53,7 +55,7 @@
 data CreateCacheSubnetGroup = CreateCacheSubnetGroup
     { _ccsgCacheSubnetGroupDescription :: Text
     , _ccsgCacheSubnetGroupName        :: Text
-    , _ccsgSubnetIds                   :: List "SubnetIdentifier" Text
+    , _ccsgSubnetIds                   :: List "member" Text
     } deriving (Eq, Ord, Show)
 
 -- | 'CreateCacheSubnetGroup' constructor.
diff --git a/gen/Network/AWS/ElastiCache/CreateReplicationGroup.hs b/gen/Network/AWS/ElastiCache/CreateReplicationGroup.hs
--- a/gen/Network/AWS/ElastiCache/CreateReplicationGroup.hs
+++ b/gen/Network/AWS/ElastiCache/CreateReplicationGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CreateReplicationGroup/ operation creates a replication group. A
 -- replication group is a collection of cache clusters, where one of the cache
@@ -80,20 +82,20 @@
     , _crgAutomaticFailoverEnabled    :: Maybe Bool
     , _crgCacheNodeType               :: Maybe Text
     , _crgCacheParameterGroupName     :: Maybe Text
-    , _crgCacheSecurityGroupNames     :: List "CacheSecurityGroupName" Text
+    , _crgCacheSecurityGroupNames     :: List "member" Text
     , _crgCacheSubnetGroupName        :: Maybe Text
     , _crgEngine                      :: Maybe Text
     , _crgEngineVersion               :: Maybe Text
     , _crgNotificationTopicArn        :: Maybe Text
     , _crgNumCacheClusters            :: Maybe Int
     , _crgPort                        :: Maybe Int
-    , _crgPreferredCacheClusterAZs    :: List "AvailabilityZone" Text
+    , _crgPreferredCacheClusterAZs    :: List "member" Text
     , _crgPreferredMaintenanceWindow  :: Maybe Text
     , _crgPrimaryClusterId            :: Maybe Text
     , _crgReplicationGroupDescription :: Text
     , _crgReplicationGroupId          :: Text
-    , _crgSecurityGroupIds            :: List "SecurityGroupId" Text
-    , _crgSnapshotArns                :: List "SnapshotArn" Text
+    , _crgSecurityGroupIds            :: List "member" Text
+    , _crgSnapshotArns                :: List "member" Text
     , _crgSnapshotName                :: Maybe Text
     , _crgSnapshotRetentionLimit      :: Maybe Int
     , _crgSnapshotWindow              :: Maybe Text
diff --git a/gen/Network/AWS/ElastiCache/CreateSnapshot.hs b/gen/Network/AWS/ElastiCache/CreateSnapshot.hs
--- a/gen/Network/AWS/ElastiCache/CreateSnapshot.hs
+++ b/gen/Network/AWS/ElastiCache/CreateSnapshot.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /CreateSnapshot/ operation creates a copy of an entire cache cluster at a
 -- specific moment in time.
diff --git a/gen/Network/AWS/ElastiCache/DeleteCacheCluster.hs b/gen/Network/AWS/ElastiCache/DeleteCacheCluster.hs
--- a/gen/Network/AWS/ElastiCache/DeleteCacheCluster.hs
+++ b/gen/Network/AWS/ElastiCache/DeleteCacheCluster.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DeleteCacheCluster/ operation deletes a previously provisioned cache
 -- cluster. /DeleteCacheCluster/ deletes all associated cache nodes, node
diff --git a/gen/Network/AWS/ElastiCache/DeleteCacheParameterGroup.hs b/gen/Network/AWS/ElastiCache/DeleteCacheParameterGroup.hs
--- a/gen/Network/AWS/ElastiCache/DeleteCacheParameterGroup.hs
+++ b/gen/Network/AWS/ElastiCache/DeleteCacheParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DeleteCacheParameterGroup/ operation deletes the specified cache parameter
 -- group. You cannot delete a cache parameter group if it is associated with any
diff --git a/gen/Network/AWS/ElastiCache/DeleteCacheSecurityGroup.hs b/gen/Network/AWS/ElastiCache/DeleteCacheSecurityGroup.hs
--- a/gen/Network/AWS/ElastiCache/DeleteCacheSecurityGroup.hs
+++ b/gen/Network/AWS/ElastiCache/DeleteCacheSecurityGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DeleteCacheSecurityGroup/ operation deletes a cache security group.
 --
diff --git a/gen/Network/AWS/ElastiCache/DeleteCacheSubnetGroup.hs b/gen/Network/AWS/ElastiCache/DeleteCacheSubnetGroup.hs
--- a/gen/Network/AWS/ElastiCache/DeleteCacheSubnetGroup.hs
+++ b/gen/Network/AWS/ElastiCache/DeleteCacheSubnetGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DeleteCacheSubnetGroup/ operation deletes a cache subnet group.
 --
diff --git a/gen/Network/AWS/ElastiCache/DeleteReplicationGroup.hs b/gen/Network/AWS/ElastiCache/DeleteReplicationGroup.hs
--- a/gen/Network/AWS/ElastiCache/DeleteReplicationGroup.hs
+++ b/gen/Network/AWS/ElastiCache/DeleteReplicationGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DeleteReplicationGroup/ operation deletes an existing cluster. By default,
 -- this operation deletes the entire cluster, including the primary node group
diff --git a/gen/Network/AWS/ElastiCache/DeleteSnapshot.hs b/gen/Network/AWS/ElastiCache/DeleteSnapshot.hs
--- a/gen/Network/AWS/ElastiCache/DeleteSnapshot.hs
+++ b/gen/Network/AWS/ElastiCache/DeleteSnapshot.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DeleteSnapshot/ operation deletes an existing snapshot. When you receive a
 -- successful response from this operation, ElastiCache immediately begins
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeCacheClusters/ operation returns information about all provisioned
 -- cache clusters if no cache cluster identifier is specified, or about a
@@ -127,7 +129,7 @@
     lens _dcc1ShowCacheNodeInfo (\s a -> s { _dcc1ShowCacheNodeInfo = a })
 
 data DescribeCacheClustersResponse = DescribeCacheClustersResponse
-    { _dccrCacheClusters :: List "CacheCluster" CacheCluster
+    { _dccrCacheClusters :: List "member" CacheCluster
     , _dccrMarker        :: Maybe Text
     } deriving (Eq, Show)
 
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeCacheEngineVersions/ operation returns a list of the available
 -- cache engines and their versions.
@@ -132,7 +134,7 @@
 dcevMaxRecords = lens _dcevMaxRecords (\s a -> s { _dcevMaxRecords = a })
 
 data DescribeCacheEngineVersionsResponse = DescribeCacheEngineVersionsResponse
-    { _dcevrCacheEngineVersions :: List "CacheEngineVersion" CacheEngineVersion
+    { _dcevrCacheEngineVersions :: List "member" CacheEngineVersion
     , _dcevrMarker              :: Maybe Text
     } deriving (Eq, Show)
 
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeCacheParameterGroups/ operation returns a list of cache parameter
 -- group descriptions. If a cache parameter group name is specified, the list
@@ -97,7 +99,7 @@
 dcpgMaxRecords = lens _dcpgMaxRecords (\s a -> s { _dcpgMaxRecords = a })
 
 data DescribeCacheParameterGroupsResponse = DescribeCacheParameterGroupsResponse
-    { _dcpgrCacheParameterGroups :: List "CacheParameterGroup" CacheParameterGroup
+    { _dcpgrCacheParameterGroups :: List "member" CacheParameterGroup
     , _dcpgrMarker               :: Maybe Text
     } deriving (Eq, Show)
 
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeCacheParameters/ operation returns the detailed parameter list for
 -- a particular cache parameter group.
@@ -109,9 +111,9 @@
 dcpSource = lens _dcpSource (\s a -> s { _dcpSource = a })
 
 data DescribeCacheParametersResponse = DescribeCacheParametersResponse
-    { _dcprCacheNodeTypeSpecificParameters :: List "CacheNodeTypeSpecificParameter" CacheNodeTypeSpecificParameter
+    { _dcprCacheNodeTypeSpecificParameters :: List "member" CacheNodeTypeSpecificParameter
     , _dcprMarker                          :: Maybe Text
-    , _dcprParameters                      :: List "Parameter" Parameter
+    , _dcprParameters                      :: List "member" Parameter
     } deriving (Eq, Show)
 
 -- | 'DescribeCacheParametersResponse' constructor.
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeCacheSecurityGroups/ operation returns a list of cache security
 -- group descriptions. If a cache security group name is specified, the list
@@ -97,7 +99,7 @@
 dcsg1MaxRecords = lens _dcsg1MaxRecords (\s a -> s { _dcsg1MaxRecords = a })
 
 data DescribeCacheSecurityGroupsResponse = DescribeCacheSecurityGroupsResponse
-    { _dcsgr1CacheSecurityGroups :: List "CacheSecurityGroup" CacheSecurityGroup
+    { _dcsgr1CacheSecurityGroups :: List "member" CacheSecurityGroup
     , _dcsgr1Marker              :: Maybe Text
     } deriving (Eq, Show)
 
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeCacheSubnetGroups/ operation returns a list of cache subnet group
 -- descriptions. If a subnet group name is specified, the list will contain only
@@ -97,7 +99,7 @@
 dcsgMaxRecords = lens _dcsgMaxRecords (\s a -> s { _dcsgMaxRecords = a })
 
 data DescribeCacheSubnetGroupsResponse = DescribeCacheSubnetGroupsResponse
-    { _dcsgrCacheSubnetGroups :: List "CacheSubnetGroup" CacheSubnetGroup
+    { _dcsgrCacheSubnetGroups :: List "member" CacheSubnetGroup
     , _dcsgrMarker            :: Maybe Text
     } deriving (Eq, Show)
 
diff --git a/gen/Network/AWS/ElastiCache/DescribeEngineDefaultParameters.hs b/gen/Network/AWS/ElastiCache/DescribeEngineDefaultParameters.hs
--- a/gen/Network/AWS/ElastiCache/DescribeEngineDefaultParameters.hs
+++ b/gen/Network/AWS/ElastiCache/DescribeEngineDefaultParameters.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeEngineDefaultParameters/ operation returns the default engine and
 -- system parameter information for the specified cache engine.
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeEvents/ operation returns events related to cache clusters, cache
 -- security groups, and cache parameter groups. You can obtain events specific
@@ -142,7 +144,7 @@
 deStartTime = lens _deStartTime (\s a -> s { _deStartTime = a }) . mapping _Time
 
 data DescribeEventsResponse = DescribeEventsResponse
-    { _derEvents :: List "Event" Event
+    { _derEvents :: List "member" Event
     , _derMarker :: Maybe Text
     } deriving (Eq, Show)
 
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeReplicationGroups/ operation returns information about a
 -- particular replication group. If no identifier is specified, /DescribeReplicationGroups/ returns information about all replication groups.
@@ -100,7 +102,7 @@
 
 data DescribeReplicationGroupsResponse = DescribeReplicationGroupsResponse
     { _drgrMarker            :: Maybe Text
-    , _drgrReplicationGroups :: List "ReplicationGroup" ReplicationGroup
+    , _drgrReplicationGroups :: List "member" ReplicationGroup
     } deriving (Eq, Show)
 
 -- | 'DescribeReplicationGroupsResponse' constructor.
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeReservedCacheNodes/ operation returns information about reserved
 -- cache nodes for this account, or about a specified reserved cache node.
@@ -155,7 +157,7 @@
 
 data DescribeReservedCacheNodesResponse = DescribeReservedCacheNodesResponse
     { _drcnrMarker             :: Maybe Text
-    , _drcnrReservedCacheNodes :: List "ReservedCacheNode" ReservedCacheNode
+    , _drcnrReservedCacheNodes :: List "member" ReservedCacheNode
     } deriving (Eq, Show)
 
 -- | 'DescribeReservedCacheNodesResponse' constructor.
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeReservedCacheNodesOfferings/ operation lists available reserved
 -- cache node offerings.
@@ -147,7 +149,7 @@
 
 data DescribeReservedCacheNodesOfferingsResponse = DescribeReservedCacheNodesOfferingsResponse
     { _drcnorMarker                      :: Maybe Text
-    , _drcnorReservedCacheNodesOfferings :: List "ReservedCacheNodesOffering" ReservedCacheNodesOffering
+    , _drcnorReservedCacheNodesOfferings :: List "member" ReservedCacheNodesOffering
     } deriving (Eq, Show)
 
 -- | 'DescribeReservedCacheNodesOfferingsResponse' constructor.
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /DescribeSnapshots/ operation returns information about cache cluster
 -- snapshots. By default, /DescribeSnapshots/ lists all of your snapshots; it can
@@ -120,7 +122,7 @@
 
 data DescribeSnapshotsResponse = DescribeSnapshotsResponse
     { _dsrMarker    :: Maybe Text
-    , _dsrSnapshots :: List "Snapshot" Snapshot
+    , _dsrSnapshots :: List "member" Snapshot
     } deriving (Eq, Show)
 
 -- | 'DescribeSnapshotsResponse' constructor.
diff --git a/gen/Network/AWS/ElastiCache/ModifyCacheCluster.hs b/gen/Network/AWS/ElastiCache/ModifyCacheCluster.hs
--- a/gen/Network/AWS/ElastiCache/ModifyCacheCluster.hs
+++ b/gen/Network/AWS/ElastiCache/ModifyCacheCluster.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /ModifyCacheCluster/ operation modifies the settings for a cache cluster.
 -- You can use this operation to change one or more cluster configuration
@@ -67,16 +69,16 @@
     , _mccApplyImmediately           :: Maybe Bool
     , _mccAutoMinorVersionUpgrade    :: Maybe Bool
     , _mccCacheClusterId             :: Text
-    , _mccCacheNodeIdsToRemove       :: List "CacheNodeId" Text
+    , _mccCacheNodeIdsToRemove       :: List "member" Text
     , _mccCacheParameterGroupName    :: Maybe Text
-    , _mccCacheSecurityGroupNames    :: List "CacheSecurityGroupName" Text
+    , _mccCacheSecurityGroupNames    :: List "member" Text
     , _mccEngineVersion              :: Maybe Text
-    , _mccNewAvailabilityZones       :: List "PreferredAvailabilityZone" Text
+    , _mccNewAvailabilityZones       :: List "member" Text
     , _mccNotificationTopicArn       :: Maybe Text
     , _mccNotificationTopicStatus    :: Maybe Text
     , _mccNumCacheNodes              :: Maybe Int
     , _mccPreferredMaintenanceWindow :: Maybe Text
-    , _mccSecurityGroupIds           :: List "SecurityGroupId" Text
+    , _mccSecurityGroupIds           :: List "member" Text
     , _mccSnapshotRetentionLimit     :: Maybe Int
     , _mccSnapshotWindow             :: Maybe Text
     } deriving (Eq, Show)
diff --git a/gen/Network/AWS/ElastiCache/ModifyCacheParameterGroup.hs b/gen/Network/AWS/ElastiCache/ModifyCacheParameterGroup.hs
--- a/gen/Network/AWS/ElastiCache/ModifyCacheParameterGroup.hs
+++ b/gen/Network/AWS/ElastiCache/ModifyCacheParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /ModifyCacheParameterGroup/ operation modifies the parameters of a cache
 -- parameter group. You can modify up to 20 parameters in a single request by
@@ -50,7 +52,7 @@
 
 data ModifyCacheParameterGroup = ModifyCacheParameterGroup
     { _mcpgCacheParameterGroupName :: Text
-    , _mcpgParameterNameValues     :: List "ParameterNameValue" ParameterNameValue
+    , _mcpgParameterNameValues     :: List "member" ParameterNameValue
     } deriving (Eq, Show)
 
 -- | 'ModifyCacheParameterGroup' constructor.
diff --git a/gen/Network/AWS/ElastiCache/ModifyCacheSubnetGroup.hs b/gen/Network/AWS/ElastiCache/ModifyCacheSubnetGroup.hs
--- a/gen/Network/AWS/ElastiCache/ModifyCacheSubnetGroup.hs
+++ b/gen/Network/AWS/ElastiCache/ModifyCacheSubnetGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /ModifyCacheSubnetGroup/ operation modifies an existing cache subnet group.
 --
@@ -50,7 +52,7 @@
 data ModifyCacheSubnetGroup = ModifyCacheSubnetGroup
     { _mcsgCacheSubnetGroupDescription :: Maybe Text
     , _mcsgCacheSubnetGroupName        :: Text
-    , _mcsgSubnetIds                   :: List "SubnetIdentifier" Text
+    , _mcsgSubnetIds                   :: List "member" Text
     } deriving (Eq, Ord, Show)
 
 -- | 'ModifyCacheSubnetGroup' constructor.
diff --git a/gen/Network/AWS/ElastiCache/ModifyReplicationGroup.hs b/gen/Network/AWS/ElastiCache/ModifyReplicationGroup.hs
--- a/gen/Network/AWS/ElastiCache/ModifyReplicationGroup.hs
+++ b/gen/Network/AWS/ElastiCache/ModifyReplicationGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /ModifyReplicationGroup/ operation modifies the settings for a replication
 -- group.
@@ -66,7 +68,7 @@
     , _mrgAutoMinorVersionUpgrade     :: Maybe Bool
     , _mrgAutomaticFailoverEnabled    :: Maybe Bool
     , _mrgCacheParameterGroupName     :: Maybe Text
-    , _mrgCacheSecurityGroupNames     :: List "CacheSecurityGroupName" Text
+    , _mrgCacheSecurityGroupNames     :: List "member" Text
     , _mrgEngineVersion               :: Maybe Text
     , _mrgNotificationTopicArn        :: Maybe Text
     , _mrgNotificationTopicStatus     :: Maybe Text
@@ -74,7 +76,7 @@
     , _mrgPrimaryClusterId            :: Maybe Text
     , _mrgReplicationGroupDescription :: Maybe Text
     , _mrgReplicationGroupId          :: Text
-    , _mrgSecurityGroupIds            :: List "SecurityGroupId" Text
+    , _mrgSecurityGroupIds            :: List "member" Text
     , _mrgSnapshotRetentionLimit      :: Maybe Int
     , _mrgSnapshotWindow              :: Maybe Text
     , _mrgSnapshottingClusterId       :: Maybe Text
diff --git a/gen/Network/AWS/ElastiCache/PurchaseReservedCacheNodesOffering.hs b/gen/Network/AWS/ElastiCache/PurchaseReservedCacheNodesOffering.hs
--- a/gen/Network/AWS/ElastiCache/PurchaseReservedCacheNodesOffering.hs
+++ b/gen/Network/AWS/ElastiCache/PurchaseReservedCacheNodesOffering.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /PurchaseReservedCacheNodesOffering/ operation allows you to purchase a
 -- reserved cache node offering.
diff --git a/gen/Network/AWS/ElastiCache/RebootCacheCluster.hs b/gen/Network/AWS/ElastiCache/RebootCacheCluster.hs
--- a/gen/Network/AWS/ElastiCache/RebootCacheCluster.hs
+++ b/gen/Network/AWS/ElastiCache/RebootCacheCluster.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /RebootCacheCluster/ operation reboots some, or all, of the cache nodes
 -- within a provisioned cache cluster. This API will apply any modified cache
@@ -57,7 +59,7 @@
 
 data RebootCacheCluster = RebootCacheCluster
     { _rccCacheClusterId       :: Text
-    , _rccCacheNodeIdsToReboot :: List "CacheNodeId" Text
+    , _rccCacheNodeIdsToReboot :: List "member" Text
     } deriving (Eq, Ord, Show)
 
 -- | 'RebootCacheCluster' constructor.
diff --git a/gen/Network/AWS/ElastiCache/ResetCacheParameterGroup.hs b/gen/Network/AWS/ElastiCache/ResetCacheParameterGroup.hs
--- a/gen/Network/AWS/ElastiCache/ResetCacheParameterGroup.hs
+++ b/gen/Network/AWS/ElastiCache/ResetCacheParameterGroup.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /ResetCacheParameterGroup/ operation modifies the parameters of a cache
 -- parameter group to the engine or system default value. You can reset specific
@@ -53,7 +55,7 @@
 
 data ResetCacheParameterGroup = ResetCacheParameterGroup
     { _rcpgCacheParameterGroupName :: Text
-    , _rcpgParameterNameValues     :: List "ParameterNameValue" ParameterNameValue
+    , _rcpgParameterNameValues     :: List "member" ParameterNameValue
     , _rcpgResetAllParameters      :: Maybe Bool
     } deriving (Eq, Show)
 
diff --git a/gen/Network/AWS/ElastiCache/RevokeCacheSecurityGroupIngress.hs b/gen/Network/AWS/ElastiCache/RevokeCacheSecurityGroupIngress.hs
--- a/gen/Network/AWS/ElastiCache/RevokeCacheSecurityGroupIngress.hs
+++ b/gen/Network/AWS/ElastiCache/RevokeCacheSecurityGroupIngress.hs
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 -- | The /RevokeCacheSecurityGroupIngress/ operation revokes ingress from a cache
 -- security group. Use this operation to disallow access from an Amazon EC2
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
@@ -19,6 +19,8 @@
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : experimental
 -- Portability : non-portable (GHC extensions)
+--
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
 
 module Network.AWS.ElastiCache.Types
     (
@@ -422,7 +424,7 @@
     , _sCacheSubnetGroupName       :: Maybe Text
     , _sEngine                     :: Maybe Text
     , _sEngineVersion              :: Maybe Text
-    , _sNodeSnapshots              :: List "NodeSnapshot" NodeSnapshot
+    , _sNodeSnapshots              :: List "member" NodeSnapshot
     , _sNumCacheNodes              :: Maybe Int
     , _sPort                       :: Maybe Int
     , _sPreferredAvailabilityZone  :: Maybe Text
@@ -727,7 +729,7 @@
 
 data NodeGroup = NodeGroup
     { _ngNodeGroupId      :: Maybe Text
-    , _ngNodeGroupMembers :: List "NodeGroupMember" NodeGroupMember
+    , _ngNodeGroupMembers :: List "member" NodeGroupMember
     , _ngPrimaryEndpoint  :: Maybe Endpoint
     , _ngStatus           :: Maybe Text
     } deriving (Eq, Show)
@@ -1056,7 +1058,7 @@
 data CacheSubnetGroup = CacheSubnetGroup
     { _csgCacheSubnetGroupDescription :: Maybe Text
     , _csgCacheSubnetGroupName        :: Maybe Text
-    , _csgSubnets                     :: List "Subnet" Subnet
+    , _csgSubnets                     :: List "member" Subnet
     , _csgVpcId                       :: Maybe Text
     } deriving (Eq, Show)
 
@@ -1122,7 +1124,7 @@
     , _rcnFixedPrice                   :: Maybe Double
     , _rcnOfferingType                 :: Maybe Text
     , _rcnProductDescription           :: Maybe Text
-    , _rcnRecurringCharges             :: List "RecurringCharge" RecurringCharge
+    , _rcnRecurringCharges             :: List "member" RecurringCharge
     , _rcnReservedCacheNodeId          :: Maybe Text
     , _rcnReservedCacheNodesOfferingId :: Maybe Text
     , _rcnStartTime                    :: Maybe ISO8601
@@ -1347,9 +1349,9 @@
     , _ccCacheClusterId             :: Maybe Text
     , _ccCacheClusterStatus         :: Maybe Text
     , _ccCacheNodeType              :: Maybe Text
-    , _ccCacheNodes                 :: List "CacheNode" CacheNode
+    , _ccCacheNodes                 :: List "member" CacheNode
     , _ccCacheParameterGroup        :: Maybe CacheParameterGroupStatus
-    , _ccCacheSecurityGroups        :: List "CacheSecurityGroup" CacheSecurityGroupMembership
+    , _ccCacheSecurityGroups        :: List "member" CacheSecurityGroupMembership
     , _ccCacheSubnetGroupName       :: Maybe Text
     , _ccClientDownloadLandingPage  :: Maybe Text
     , _ccConfigurationEndpoint      :: Maybe Endpoint
@@ -1361,7 +1363,7 @@
     , _ccPreferredAvailabilityZone  :: Maybe Text
     , _ccPreferredMaintenanceWindow :: Maybe Text
     , _ccReplicationGroupId         :: Maybe Text
-    , _ccSecurityGroups             :: List "SecurityGroups" SecurityGroupMembership
+    , _ccSecurityGroups             :: List "member" SecurityGroupMembership
     , _ccSnapshotRetentionLimit     :: Maybe Int
     , _ccSnapshotWindow             :: Maybe Text
     } deriving (Eq, Show)
@@ -1616,10 +1618,10 @@
         ]
 
 data EngineDefaults = EngineDefaults
-    { _edCacheNodeTypeSpecificParameters :: List "CacheNodeTypeSpecificParameter" CacheNodeTypeSpecificParameter
+    { _edCacheNodeTypeSpecificParameters :: List "member" CacheNodeTypeSpecificParameter
     , _edCacheParameterGroupFamily       :: Maybe Text
     , _edMarker                          :: Maybe Text
-    , _edParameters                      :: List "Parameter" Parameter
+    , _edParameters                      :: List "member" Parameter
     } deriving (Eq, Show)
 
 -- | 'EngineDefaults' constructor.
@@ -1681,7 +1683,7 @@
         ]
 
 data CacheParameterGroupStatus = CacheParameterGroupStatus
-    { _cpgsCacheNodeIdsToReboot    :: List "CacheNodeId" Text
+    { _cpgsCacheNodeIdsToReboot    :: List "member" Text
     , _cpgsCacheParameterGroupName :: Maybe Text
     , _cpgsParameterApplyStatus    :: Maybe Text
     } deriving (Eq, Ord, Show)
@@ -2064,7 +2066,7 @@
 data CacheSecurityGroup = CacheSecurityGroup
     { _csgCacheSecurityGroupName :: Maybe Text
     , _csgDescription            :: Maybe Text
-    , _csgEC2SecurityGroups      :: List "EC2SecurityGroup" EC2SecurityGroup
+    , _csgEC2SecurityGroups      :: List "member" EC2SecurityGroup
     , _csgOwnerId                :: Maybe Text
     } deriving (Eq, Show)
 
@@ -2126,7 +2128,7 @@
 
 data CacheNodeTypeSpecificParameter = CacheNodeTypeSpecificParameter
     { _cntspAllowedValues               :: Maybe Text
-    , _cntspCacheNodeTypeSpecificValues :: List "CacheNodeTypeSpecificValue" CacheNodeTypeSpecificValue
+    , _cntspCacheNodeTypeSpecificValues :: List "member" CacheNodeTypeSpecificValue
     , _cntspDataType                    :: Maybe Text
     , _cntspDescription                 :: Maybe Text
     , _cntspIsModifiable                :: Maybe Bool
@@ -2336,8 +2338,8 @@
 data ReplicationGroup = ReplicationGroup
     { _rgAutomaticFailover     :: Maybe AutomaticFailoverStatus
     , _rgDescription           :: Maybe Text
-    , _rgMemberClusters        :: List "ClusterId" Text
-    , _rgNodeGroups            :: List "NodeGroup" NodeGroup
+    , _rgMemberClusters        :: List "member" Text
+    , _rgNodeGroups            :: List "member" NodeGroup
     , _rgPendingModifiedValues :: Maybe ReplicationGroupPendingModifiedValues
     , _rgReplicationGroupId    :: Maybe Text
     , _rgSnapshottingClusterId :: Maybe Text
@@ -2485,7 +2487,7 @@
     , _rcnoFixedPrice                   :: Maybe Double
     , _rcnoOfferingType                 :: Maybe Text
     , _rcnoProductDescription           :: Maybe Text
-    , _rcnoRecurringCharges             :: List "RecurringCharge" RecurringCharge
+    , _rcnoRecurringCharges             :: List "member" RecurringCharge
     , _rcnoReservedCacheNodesOfferingId :: Maybe Text
     , _rcnoUsagePrice                   :: Maybe Double
     } deriving (Eq, Show)
@@ -2622,7 +2624,7 @@
         ]
 
 data PendingModifiedValues = PendingModifiedValues
-    { _pmvCacheNodeIdsToRemove :: List "CacheNodeId" Text
+    { _pmvCacheNodeIdsToRemove :: List "member" Text
     , _pmvEngineVersion        :: Maybe Text
     , _pmvNumCacheNodes        :: Maybe Int
     } deriving (Eq, Ord, Show)
