diff --git a/amazonka-s3.cabal b/amazonka-s3.cabal
--- a/amazonka-s3.cabal
+++ b/amazonka-s3.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-s3
-version:               0.3.0
+version:               0.3.1
 synopsis:              Amazon Simple Storage Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -95,5 +95,5 @@
           Network.AWS.S3.Internal
 
     build-depends:
-          amazonka-core == 0.3.0.*
+          amazonka-core == 0.3.1.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/S3/CreateBucket.hs b/gen/Network/AWS/S3/CreateBucket.hs
--- a/gen/Network/AWS/S3/CreateBucket.hs
+++ b/gen/Network/AWS/S3/CreateBucket.hs
@@ -170,9 +170,7 @@
         ]
 
 instance ToXMLRoot CreateBucket where
-    toXMLRoot CreateBucket{..} = namespaced ns "CreateBucket"
-        [ "CreateBucketConfiguration" =@ _cbCreateBucketConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _cbCreateBucketConfiguration
 
 instance ToXML CreateBucket
 
diff --git a/gen/Network/AWS/S3/DeleteObjects.hs b/gen/Network/AWS/S3/DeleteObjects.hs
--- a/gen/Network/AWS/S3/DeleteObjects.hs
+++ b/gen/Network/AWS/S3/DeleteObjects.hs
@@ -127,9 +127,7 @@
         ]
 
 instance ToXMLRoot DeleteObjects where
-    toXMLRoot DeleteObjects{..} = namespaced ns "DeleteObjects"
-        [ "Delete" =@ _do1Delete
-        ]
+    toXMLRoot = extractRoot ns . toXML . _do1Delete
 
 instance ToXML DeleteObjects
 
diff --git a/gen/Network/AWS/S3/PutBucketAcl.hs b/gen/Network/AWS/S3/PutBucketAcl.hs
--- a/gen/Network/AWS/S3/PutBucketAcl.hs
+++ b/gen/Network/AWS/S3/PutBucketAcl.hs
@@ -165,9 +165,7 @@
         ]
 
 instance ToXMLRoot PutBucketAcl where
-    toXMLRoot PutBucketAcl{..} = namespaced ns "PutBucketAcl"
-        [ "AccessControlPolicy" =@ _pbaAccessControlPolicy
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbaAccessControlPolicy
 
 instance ToXML PutBucketAcl
 
diff --git a/gen/Network/AWS/S3/PutBucketCors.hs b/gen/Network/AWS/S3/PutBucketCors.hs
--- a/gen/Network/AWS/S3/PutBucketCors.hs
+++ b/gen/Network/AWS/S3/PutBucketCors.hs
@@ -103,9 +103,7 @@
         ]
 
 instance ToXMLRoot PutBucketCors where
-    toXMLRoot PutBucketCors{..} = namespaced ns "PutBucketCors"
-        [ "CORSConfiguration" =@ _pbcCORSConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbcCORSConfiguration
 
 instance ToXML PutBucketCors
 
diff --git a/gen/Network/AWS/S3/PutBucketLifecycle.hs b/gen/Network/AWS/S3/PutBucketLifecycle.hs
--- a/gen/Network/AWS/S3/PutBucketLifecycle.hs
+++ b/gen/Network/AWS/S3/PutBucketLifecycle.hs
@@ -105,9 +105,7 @@
         ]
 
 instance ToXMLRoot PutBucketLifecycle where
-    toXMLRoot PutBucketLifecycle{..} = namespaced ns "PutBucketLifecycle"
-        [ "LifecycleConfiguration" =@ _pbl1LifecycleConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbl1LifecycleConfiguration
 
 instance ToXML PutBucketLifecycle
 
diff --git a/gen/Network/AWS/S3/PutBucketLogging.hs b/gen/Network/AWS/S3/PutBucketLogging.hs
--- a/gen/Network/AWS/S3/PutBucketLogging.hs
+++ b/gen/Network/AWS/S3/PutBucketLogging.hs
@@ -106,9 +106,7 @@
         ]
 
 instance ToXMLRoot PutBucketLogging where
-    toXMLRoot PutBucketLogging{..} = namespaced ns "PutBucketLogging"
-        [ "BucketLoggingStatus" =@ _pblBucketLoggingStatus
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pblBucketLoggingStatus
 
 instance ToXML PutBucketLogging
 
diff --git a/gen/Network/AWS/S3/PutBucketNotification.hs b/gen/Network/AWS/S3/PutBucketNotification.hs
--- a/gen/Network/AWS/S3/PutBucketNotification.hs
+++ b/gen/Network/AWS/S3/PutBucketNotification.hs
@@ -105,9 +105,7 @@
         ]
 
 instance ToXMLRoot PutBucketNotification where
-    toXMLRoot PutBucketNotification{..} = namespaced ns "PutBucketNotification"
-        [ "NotificationConfiguration" =@ _pbnNotificationConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbnNotificationConfiguration
 
 instance ToXML PutBucketNotification
 
diff --git a/gen/Network/AWS/S3/PutBucketPolicy.hs b/gen/Network/AWS/S3/PutBucketPolicy.hs
--- a/gen/Network/AWS/S3/PutBucketPolicy.hs
+++ b/gen/Network/AWS/S3/PutBucketPolicy.hs
@@ -105,9 +105,7 @@
         ]
 
 instance ToXMLRoot PutBucketPolicy where
-    toXMLRoot PutBucketPolicy{..} = namespaced ns "PutBucketPolicy"
-        [ "Policy" =@ _pbpPolicy
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbpPolicy
 
 instance ToXML PutBucketPolicy
 
diff --git a/gen/Network/AWS/S3/PutBucketRequestPayment.hs b/gen/Network/AWS/S3/PutBucketRequestPayment.hs
--- a/gen/Network/AWS/S3/PutBucketRequestPayment.hs
+++ b/gen/Network/AWS/S3/PutBucketRequestPayment.hs
@@ -108,9 +108,7 @@
         ]
 
 instance ToXMLRoot PutBucketRequestPayment where
-    toXMLRoot PutBucketRequestPayment{..} = namespaced ns "PutBucketRequestPayment"
-        [ "RequestPaymentConfiguration" =@ _pbrpRequestPaymentConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbrpRequestPaymentConfiguration
 
 instance ToXML PutBucketRequestPayment
 
diff --git a/gen/Network/AWS/S3/PutBucketTagging.hs b/gen/Network/AWS/S3/PutBucketTagging.hs
--- a/gen/Network/AWS/S3/PutBucketTagging.hs
+++ b/gen/Network/AWS/S3/PutBucketTagging.hs
@@ -103,9 +103,7 @@
         ]
 
 instance ToXMLRoot PutBucketTagging where
-    toXMLRoot PutBucketTagging{..} = namespaced ns "PutBucketTagging"
-        [ "Tagging" =@ _pbtTagging
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbtTagging
 
 instance ToXML PutBucketTagging
 
diff --git a/gen/Network/AWS/S3/PutBucketVersioning.hs b/gen/Network/AWS/S3/PutBucketVersioning.hs
--- a/gen/Network/AWS/S3/PutBucketVersioning.hs
+++ b/gen/Network/AWS/S3/PutBucketVersioning.hs
@@ -117,9 +117,7 @@
         ]
 
 instance ToXMLRoot PutBucketVersioning where
-    toXMLRoot PutBucketVersioning{..} = namespaced ns "PutBucketVersioning"
-        [ "VersioningConfiguration" =@ _pbvVersioningConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbvVersioningConfiguration
 
 instance ToXML PutBucketVersioning
 
diff --git a/gen/Network/AWS/S3/PutBucketWebsite.hs b/gen/Network/AWS/S3/PutBucketWebsite.hs
--- a/gen/Network/AWS/S3/PutBucketWebsite.hs
+++ b/gen/Network/AWS/S3/PutBucketWebsite.hs
@@ -104,9 +104,7 @@
         ]
 
 instance ToXMLRoot PutBucketWebsite where
-    toXMLRoot PutBucketWebsite{..} = namespaced ns "PutBucketWebsite"
-        [ "WebsiteConfiguration" =@ _pbwWebsiteConfiguration
-        ]
+    toXMLRoot = extractRoot ns . toXML . _pbwWebsiteConfiguration
 
 instance ToXML PutBucketWebsite
 
diff --git a/gen/Network/AWS/S3/PutObjectAcl.hs b/gen/Network/AWS/S3/PutObjectAcl.hs
--- a/gen/Network/AWS/S3/PutObjectAcl.hs
+++ b/gen/Network/AWS/S3/PutObjectAcl.hs
@@ -177,9 +177,7 @@
         ]
 
 instance ToXMLRoot PutObjectAcl where
-    toXMLRoot PutObjectAcl{..} = namespaced ns "PutObjectAcl"
-        [ "AccessControlPolicy" =@ _poaAccessControlPolicy
-        ]
+    toXMLRoot = extractRoot ns . toXML . _poaAccessControlPolicy
 
 instance ToXML PutObjectAcl
 
