diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.1.0`
+`1.2.0`
 
 
 ## Description
diff --git a/amazonka-swf.cabal b/amazonka-swf.cabal
--- a/amazonka-swf.cabal
+++ b/amazonka-swf.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-swf
-version:               1.1.0
+version:               1.2.0
 synopsis:              Amazon Simple Workflow Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -96,7 +96,7 @@
         , Network.AWS.SWF.Types.Sum
 
     build-depends:
-          amazonka-core == 1.1.0.*
+          amazonka-core == 1.2.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-swf-test
@@ -115,9 +115,9 @@
         , Test.AWS.SWF.Internal
 
     build-depends:
-          amazonka-core == 1.1.0
-        , amazonka-test == 1.1.0
-        , amazonka-swf == 1.1.0
+          amazonka-core == 1.2.0
+        , amazonka-test == 1.2.0
+        , amazonka-swf == 1.2.0
         , base
         , bytestring
         , lens
diff --git a/gen/Network/AWS/SWF.hs b/gen/Network/AWS/SWF.hs
--- a/gen/Network/AWS/SWF.hs
+++ b/gen/Network/AWS/SWF.hs
@@ -32,8 +32,8 @@
 -- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/Welcome.html AWS API Reference>
 module Network.AWS.SWF
     (
-    -- * Service
-      SWF
+    -- * Service Configuration
+      sWF
 
     -- * Errors
     -- $errors
diff --git a/gen/Network/AWS/SWF/CountClosedWorkflowExecutions.hs b/gen/Network/AWS/SWF/CountClosedWorkflowExecutions.hs
--- a/gen/Network/AWS/SWF/CountClosedWorkflowExecutions.hs
+++ b/gen/Network/AWS/SWF/CountClosedWorkflowExecutions.hs
@@ -175,10 +175,9 @@
 
 instance AWSRequest CountClosedWorkflowExecutions
          where
-        type Sv CountClosedWorkflowExecutions = SWF
         type Rs CountClosedWorkflowExecutions =
              WorkflowExecutionCount
-        request = postJSON
+        request = postJSON sWF
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance ToHeaders CountClosedWorkflowExecutions
@@ -195,13 +194,14 @@
 instance ToJSON CountClosedWorkflowExecutions where
         toJSON CountClosedWorkflowExecutions'{..}
           = object
-              ["closeStatusFilter" .= _ccweCloseStatusFilter,
-               "executionFilter" .= _ccweExecutionFilter,
-               "typeFilter" .= _ccweTypeFilter,
-               "closeTimeFilter" .= _ccweCloseTimeFilter,
-               "tagFilter" .= _ccweTagFilter,
-               "startTimeFilter" .= _ccweStartTimeFilter,
-               "domain" .= _ccweDomain]
+              (catMaybes
+                 [("closeStatusFilter" .=) <$> _ccweCloseStatusFilter,
+                  ("executionFilter" .=) <$> _ccweExecutionFilter,
+                  ("typeFilter" .=) <$> _ccweTypeFilter,
+                  ("closeTimeFilter" .=) <$> _ccweCloseTimeFilter,
+                  ("tagFilter" .=) <$> _ccweTagFilter,
+                  ("startTimeFilter" .=) <$> _ccweStartTimeFilter,
+                  Just ("domain" .= _ccweDomain)])
 
 instance ToPath CountClosedWorkflowExecutions where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/CountOpenWorkflowExecutions.hs b/gen/Network/AWS/SWF/CountOpenWorkflowExecutions.hs
--- a/gen/Network/AWS/SWF/CountOpenWorkflowExecutions.hs
+++ b/gen/Network/AWS/SWF/CountOpenWorkflowExecutions.hs
@@ -144,10 +144,9 @@
 coweStartTimeFilter = lens _coweStartTimeFilter (\ s a -> s{_coweStartTimeFilter = a});
 
 instance AWSRequest CountOpenWorkflowExecutions where
-        type Sv CountOpenWorkflowExecutions = SWF
         type Rs CountOpenWorkflowExecutions =
              WorkflowExecutionCount
-        request = postJSON
+        request = postJSON sWF
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance ToHeaders CountOpenWorkflowExecutions where
@@ -163,11 +162,12 @@
 instance ToJSON CountOpenWorkflowExecutions where
         toJSON CountOpenWorkflowExecutions'{..}
           = object
-              ["executionFilter" .= _coweExecutionFilter,
-               "typeFilter" .= _coweTypeFilter,
-               "tagFilter" .= _coweTagFilter,
-               "domain" .= _coweDomain,
-               "startTimeFilter" .= _coweStartTimeFilter]
+              (catMaybes
+                 [("executionFilter" .=) <$> _coweExecutionFilter,
+                  ("typeFilter" .=) <$> _coweTypeFilter,
+                  ("tagFilter" .=) <$> _coweTagFilter,
+                  Just ("domain" .= _coweDomain),
+                  Just ("startTimeFilter" .= _coweStartTimeFilter)])
 
 instance ToPath CountOpenWorkflowExecutions where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/CountPendingActivityTasks.hs b/gen/Network/AWS/SWF/CountPendingActivityTasks.hs
--- a/gen/Network/AWS/SWF/CountPendingActivityTasks.hs
+++ b/gen/Network/AWS/SWF/CountPendingActivityTasks.hs
@@ -99,9 +99,8 @@
 cpatTaskList = lens _cpatTaskList (\ s a -> s{_cpatTaskList = a});
 
 instance AWSRequest CountPendingActivityTasks where
-        type Sv CountPendingActivityTasks = SWF
         type Rs CountPendingActivityTasks = PendingTaskCount
-        request = postJSON
+        request = postJSON sWF
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance ToHeaders CountPendingActivityTasks where
@@ -117,8 +116,9 @@
 instance ToJSON CountPendingActivityTasks where
         toJSON CountPendingActivityTasks'{..}
           = object
-              ["domain" .= _cpatDomain,
-               "taskList" .= _cpatTaskList]
+              (catMaybes
+                 [Just ("domain" .= _cpatDomain),
+                  Just ("taskList" .= _cpatTaskList)])
 
 instance ToPath CountPendingActivityTasks where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/CountPendingDecisionTasks.hs b/gen/Network/AWS/SWF/CountPendingDecisionTasks.hs
--- a/gen/Network/AWS/SWF/CountPendingDecisionTasks.hs
+++ b/gen/Network/AWS/SWF/CountPendingDecisionTasks.hs
@@ -99,9 +99,8 @@
 cpdtTaskList = lens _cpdtTaskList (\ s a -> s{_cpdtTaskList = a});
 
 instance AWSRequest CountPendingDecisionTasks where
-        type Sv CountPendingDecisionTasks = SWF
         type Rs CountPendingDecisionTasks = PendingTaskCount
-        request = postJSON
+        request = postJSON sWF
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance ToHeaders CountPendingDecisionTasks where
@@ -117,8 +116,9 @@
 instance ToJSON CountPendingDecisionTasks where
         toJSON CountPendingDecisionTasks'{..}
           = object
-              ["domain" .= _cpdtDomain,
-               "taskList" .= _cpdtTaskList]
+              (catMaybes
+                 [Just ("domain" .= _cpdtDomain),
+                  Just ("taskList" .= _cpdtTaskList)])
 
 instance ToPath CountPendingDecisionTasks where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DeprecateActivityType.hs b/gen/Network/AWS/SWF/DeprecateActivityType.hs
--- a/gen/Network/AWS/SWF/DeprecateActivityType.hs
+++ b/gen/Network/AWS/SWF/DeprecateActivityType.hs
@@ -102,10 +102,9 @@
 depActivityType = lens _depActivityType (\ s a -> s{_depActivityType = a});
 
 instance AWSRequest DeprecateActivityType where
-        type Sv DeprecateActivityType = SWF
         type Rs DeprecateActivityType =
              DeprecateActivityTypeResponse
-        request = postJSON
+        request = postJSON sWF
         response = receiveNull DeprecateActivityTypeResponse'
 
 instance ToHeaders DeprecateActivityType where
@@ -121,8 +120,9 @@
 instance ToJSON DeprecateActivityType where
         toJSON DeprecateActivityType'{..}
           = object
-              ["domain" .= _depDomain,
-               "activityType" .= _depActivityType]
+              (catMaybes
+                 [Just ("domain" .= _depDomain),
+                  Just ("activityType" .= _depActivityType)])
 
 instance ToPath DeprecateActivityType where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DeprecateDomain.hs b/gen/Network/AWS/SWF/DeprecateDomain.hs
--- a/gen/Network/AWS/SWF/DeprecateDomain.hs
+++ b/gen/Network/AWS/SWF/DeprecateDomain.hs
@@ -89,9 +89,8 @@
 dName = lens _dName (\ s a -> s{_dName = a});
 
 instance AWSRequest DeprecateDomain where
-        type Sv DeprecateDomain = SWF
         type Rs DeprecateDomain = DeprecateDomainResponse
-        request = postJSON
+        request = postJSON sWF
         response = receiveNull DeprecateDomainResponse'
 
 instance ToHeaders DeprecateDomain where
@@ -106,7 +105,7 @@
 
 instance ToJSON DeprecateDomain where
         toJSON DeprecateDomain'{..}
-          = object ["name" .= _dName]
+          = object (catMaybes [Just ("name" .= _dName)])
 
 instance ToPath DeprecateDomain where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DeprecateWorkflowType.hs b/gen/Network/AWS/SWF/DeprecateWorkflowType.hs
--- a/gen/Network/AWS/SWF/DeprecateWorkflowType.hs
+++ b/gen/Network/AWS/SWF/DeprecateWorkflowType.hs
@@ -103,10 +103,9 @@
 dWorkflowType = lens _dWorkflowType (\ s a -> s{_dWorkflowType = a});
 
 instance AWSRequest DeprecateWorkflowType where
-        type Sv DeprecateWorkflowType = SWF
         type Rs DeprecateWorkflowType =
              DeprecateWorkflowTypeResponse
-        request = postJSON
+        request = postJSON sWF
         response = receiveNull DeprecateWorkflowTypeResponse'
 
 instance ToHeaders DeprecateWorkflowType where
@@ -122,8 +121,9 @@
 instance ToJSON DeprecateWorkflowType where
         toJSON DeprecateWorkflowType'{..}
           = object
-              ["domain" .= _dDomain,
-               "workflowType" .= _dWorkflowType]
+              (catMaybes
+                 [Just ("domain" .= _dDomain),
+                  Just ("workflowType" .= _dWorkflowType)])
 
 instance ToPath DeprecateWorkflowType where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DescribeActivityType.hs b/gen/Network/AWS/SWF/DescribeActivityType.hs
--- a/gen/Network/AWS/SWF/DescribeActivityType.hs
+++ b/gen/Network/AWS/SWF/DescribeActivityType.hs
@@ -104,10 +104,9 @@
 datActivityType = lens _datActivityType (\ s a -> s{_datActivityType = a});
 
 instance AWSRequest DescribeActivityType where
-        type Sv DescribeActivityType = SWF
         type Rs DescribeActivityType =
              DescribeActivityTypeResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -128,8 +127,9 @@
 instance ToJSON DescribeActivityType where
         toJSON DescribeActivityType'{..}
           = object
-              ["domain" .= _datDomain,
-               "activityType" .= _datActivityType]
+              (catMaybes
+                 [Just ("domain" .= _datDomain),
+                  Just ("activityType" .= _datActivityType)])
 
 instance ToPath DescribeActivityType where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DescribeDomain.hs b/gen/Network/AWS/SWF/DescribeDomain.hs
--- a/gen/Network/AWS/SWF/DescribeDomain.hs
+++ b/gen/Network/AWS/SWF/DescribeDomain.hs
@@ -86,9 +86,8 @@
 ddName = lens _ddName (\ s a -> s{_ddName = a});
 
 instance AWSRequest DescribeDomain where
-        type Sv DescribeDomain = SWF
         type Rs DescribeDomain = DescribeDomainResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -108,7 +107,7 @@
 
 instance ToJSON DescribeDomain where
         toJSON DescribeDomain'{..}
-          = object ["name" .= _ddName]
+          = object (catMaybes [Just ("name" .= _ddName)])
 
 instance ToPath DescribeDomain where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DescribeWorkflowExecution.hs b/gen/Network/AWS/SWF/DescribeWorkflowExecution.hs
--- a/gen/Network/AWS/SWF/DescribeWorkflowExecution.hs
+++ b/gen/Network/AWS/SWF/DescribeWorkflowExecution.hs
@@ -102,10 +102,9 @@
 dweExecution = lens _dweExecution (\ s a -> s{_dweExecution = a});
 
 instance AWSRequest DescribeWorkflowExecution where
-        type Sv DescribeWorkflowExecution = SWF
         type Rs DescribeWorkflowExecution =
              DescribeWorkflowExecutionResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -130,8 +129,9 @@
 instance ToJSON DescribeWorkflowExecution where
         toJSON DescribeWorkflowExecution'{..}
           = object
-              ["domain" .= _dweDomain,
-               "execution" .= _dweExecution]
+              (catMaybes
+                 [Just ("domain" .= _dweDomain),
+                  Just ("execution" .= _dweExecution)])
 
 instance ToPath DescribeWorkflowExecution where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/DescribeWorkflowType.hs b/gen/Network/AWS/SWF/DescribeWorkflowType.hs
--- a/gen/Network/AWS/SWF/DescribeWorkflowType.hs
+++ b/gen/Network/AWS/SWF/DescribeWorkflowType.hs
@@ -102,10 +102,9 @@
 dwtWorkflowType = lens _dwtWorkflowType (\ s a -> s{_dwtWorkflowType = a});
 
 instance AWSRequest DescribeWorkflowType where
-        type Sv DescribeWorkflowType = SWF
         type Rs DescribeWorkflowType =
              DescribeWorkflowTypeResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -126,8 +125,9 @@
 instance ToJSON DescribeWorkflowType where
         toJSON DescribeWorkflowType'{..}
           = object
-              ["domain" .= _dwtDomain,
-               "workflowType" .= _dwtWorkflowType]
+              (catMaybes
+                 [Just ("domain" .= _dwtDomain),
+                  Just ("workflowType" .= _dwtWorkflowType)])
 
 instance ToPath DescribeWorkflowType where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/GetWorkflowExecutionHistory.hs b/gen/Network/AWS/SWF/GetWorkflowExecutionHistory.hs
--- a/gen/Network/AWS/SWF/GetWorkflowExecutionHistory.hs
+++ b/gen/Network/AWS/SWF/GetWorkflowExecutionHistory.hs
@@ -152,10 +152,9 @@
               gwehNextPageToken .~ rs ^. gwehrsNextPageToken
 
 instance AWSRequest GetWorkflowExecutionHistory where
-        type Sv GetWorkflowExecutionHistory = SWF
         type Rs GetWorkflowExecutionHistory =
              GetWorkflowExecutionHistoryResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -176,11 +175,12 @@
 instance ToJSON GetWorkflowExecutionHistory where
         toJSON GetWorkflowExecutionHistory'{..}
           = object
-              ["nextPageToken" .= _gwehNextPageToken,
-               "reverseOrder" .= _gwehReverseOrder,
-               "maximumPageSize" .= _gwehMaximumPageSize,
-               "domain" .= _gwehDomain,
-               "execution" .= _gwehExecution]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _gwehNextPageToken,
+                  ("reverseOrder" .=) <$> _gwehReverseOrder,
+                  ("maximumPageSize" .=) <$> _gwehMaximumPageSize,
+                  Just ("domain" .= _gwehDomain),
+                  Just ("execution" .= _gwehExecution)])
 
 instance ToPath GetWorkflowExecutionHistory where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/ListActivityTypes.hs b/gen/Network/AWS/SWF/ListActivityTypes.hs
--- a/gen/Network/AWS/SWF/ListActivityTypes.hs
+++ b/gen/Network/AWS/SWF/ListActivityTypes.hs
@@ -161,9 +161,8 @@
               latNextPageToken .~ rs ^. latrsNextPageToken
 
 instance AWSRequest ListActivityTypes where
-        type Sv ListActivityTypes = SWF
         type Rs ListActivityTypes = ListActivityTypesResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -184,12 +183,14 @@
 instance ToJSON ListActivityTypes where
         toJSON ListActivityTypes'{..}
           = object
-              ["nextPageToken" .= _latNextPageToken,
-               "reverseOrder" .= _latReverseOrder,
-               "name" .= _latName,
-               "maximumPageSize" .= _latMaximumPageSize,
-               "domain" .= _latDomain,
-               "registrationStatus" .= _latRegistrationStatus]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _latNextPageToken,
+                  ("reverseOrder" .=) <$> _latReverseOrder,
+                  ("name" .=) <$> _latName,
+                  ("maximumPageSize" .=) <$> _latMaximumPageSize,
+                  Just ("domain" .= _latDomain),
+                  Just
+                    ("registrationStatus" .= _latRegistrationStatus)])
 
 instance ToPath ListActivityTypes where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/ListClosedWorkflowExecutions.hs b/gen/Network/AWS/SWF/ListClosedWorkflowExecutions.hs
--- a/gen/Network/AWS/SWF/ListClosedWorkflowExecutions.hs
+++ b/gen/Network/AWS/SWF/ListClosedWorkflowExecutions.hs
@@ -232,10 +232,9 @@
 
 instance AWSRequest ListClosedWorkflowExecutions
          where
-        type Sv ListClosedWorkflowExecutions = SWF
         type Rs ListClosedWorkflowExecutions =
              WorkflowExecutionInfos
-        request = postJSON
+        request = postJSON sWF
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance ToHeaders ListClosedWorkflowExecutions where
@@ -251,16 +250,17 @@
 instance ToJSON ListClosedWorkflowExecutions where
         toJSON ListClosedWorkflowExecutions'{..}
           = object
-              ["nextPageToken" .= _lcweNextPageToken,
-               "closeStatusFilter" .= _lcweCloseStatusFilter,
-               "executionFilter" .= _lcweExecutionFilter,
-               "typeFilter" .= _lcweTypeFilter,
-               "closeTimeFilter" .= _lcweCloseTimeFilter,
-               "reverseOrder" .= _lcweReverseOrder,
-               "tagFilter" .= _lcweTagFilter,
-               "startTimeFilter" .= _lcweStartTimeFilter,
-               "maximumPageSize" .= _lcweMaximumPageSize,
-               "domain" .= _lcweDomain]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _lcweNextPageToken,
+                  ("closeStatusFilter" .=) <$> _lcweCloseStatusFilter,
+                  ("executionFilter" .=) <$> _lcweExecutionFilter,
+                  ("typeFilter" .=) <$> _lcweTypeFilter,
+                  ("closeTimeFilter" .=) <$> _lcweCloseTimeFilter,
+                  ("reverseOrder" .=) <$> _lcweReverseOrder,
+                  ("tagFilter" .=) <$> _lcweTagFilter,
+                  ("startTimeFilter" .=) <$> _lcweStartTimeFilter,
+                  ("maximumPageSize" .=) <$> _lcweMaximumPageSize,
+                  Just ("domain" .= _lcweDomain)])
 
 instance ToPath ListClosedWorkflowExecutions where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/ListDomains.hs b/gen/Network/AWS/SWF/ListDomains.hs
--- a/gen/Network/AWS/SWF/ListDomains.hs
+++ b/gen/Network/AWS/SWF/ListDomains.hs
@@ -144,9 +144,8 @@
               ldNextPageToken .~ rs ^. ldrsNextPageToken
 
 instance AWSRequest ListDomains where
-        type Sv ListDomains = SWF
         type Rs ListDomains = ListDomainsResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -166,10 +165,12 @@
 instance ToJSON ListDomains where
         toJSON ListDomains'{..}
           = object
-              ["nextPageToken" .= _ldNextPageToken,
-               "reverseOrder" .= _ldReverseOrder,
-               "maximumPageSize" .= _ldMaximumPageSize,
-               "registrationStatus" .= _ldRegistrationStatus]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _ldNextPageToken,
+                  ("reverseOrder" .=) <$> _ldReverseOrder,
+                  ("maximumPageSize" .=) <$> _ldMaximumPageSize,
+                  Just
+                    ("registrationStatus" .= _ldRegistrationStatus)])
 
 instance ToPath ListDomains where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/ListOpenWorkflowExecutions.hs b/gen/Network/AWS/SWF/ListOpenWorkflowExecutions.hs
--- a/gen/Network/AWS/SWF/ListOpenWorkflowExecutions.hs
+++ b/gen/Network/AWS/SWF/ListOpenWorkflowExecutions.hs
@@ -198,10 +198,9 @@
               loweNextPageToken .~ rs ^. weiNextPageToken
 
 instance AWSRequest ListOpenWorkflowExecutions where
-        type Sv ListOpenWorkflowExecutions = SWF
         type Rs ListOpenWorkflowExecutions =
              WorkflowExecutionInfos
-        request = postJSON
+        request = postJSON sWF
         response = receiveJSON (\ s h x -> eitherParseJSON x)
 
 instance ToHeaders ListOpenWorkflowExecutions where
@@ -217,14 +216,15 @@
 instance ToJSON ListOpenWorkflowExecutions where
         toJSON ListOpenWorkflowExecutions'{..}
           = object
-              ["nextPageToken" .= _loweNextPageToken,
-               "executionFilter" .= _loweExecutionFilter,
-               "typeFilter" .= _loweTypeFilter,
-               "reverseOrder" .= _loweReverseOrder,
-               "tagFilter" .= _loweTagFilter,
-               "maximumPageSize" .= _loweMaximumPageSize,
-               "domain" .= _loweDomain,
-               "startTimeFilter" .= _loweStartTimeFilter]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _loweNextPageToken,
+                  ("executionFilter" .=) <$> _loweExecutionFilter,
+                  ("typeFilter" .=) <$> _loweTypeFilter,
+                  ("reverseOrder" .=) <$> _loweReverseOrder,
+                  ("tagFilter" .=) <$> _loweTagFilter,
+                  ("maximumPageSize" .=) <$> _loweMaximumPageSize,
+                  Just ("domain" .= _loweDomain),
+                  Just ("startTimeFilter" .= _loweStartTimeFilter)])
 
 instance ToPath ListOpenWorkflowExecutions where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/ListWorkflowTypes.hs b/gen/Network/AWS/SWF/ListWorkflowTypes.hs
--- a/gen/Network/AWS/SWF/ListWorkflowTypes.hs
+++ b/gen/Network/AWS/SWF/ListWorkflowTypes.hs
@@ -158,9 +158,8 @@
               lwtNextPageToken .~ rs ^. lwtrsNextPageToken
 
 instance AWSRequest ListWorkflowTypes where
-        type Sv ListWorkflowTypes = SWF
         type Rs ListWorkflowTypes = ListWorkflowTypesResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -181,12 +180,14 @@
 instance ToJSON ListWorkflowTypes where
         toJSON ListWorkflowTypes'{..}
           = object
-              ["nextPageToken" .= _lwtNextPageToken,
-               "reverseOrder" .= _lwtReverseOrder,
-               "name" .= _lwtName,
-               "maximumPageSize" .= _lwtMaximumPageSize,
-               "domain" .= _lwtDomain,
-               "registrationStatus" .= _lwtRegistrationStatus]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _lwtNextPageToken,
+                  ("reverseOrder" .=) <$> _lwtReverseOrder,
+                  ("name" .=) <$> _lwtName,
+                  ("maximumPageSize" .=) <$> _lwtMaximumPageSize,
+                  Just ("domain" .= _lwtDomain),
+                  Just
+                    ("registrationStatus" .= _lwtRegistrationStatus)])
 
 instance ToPath ListWorkflowTypes where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/PollForActivityTask.hs b/gen/Network/AWS/SWF/PollForActivityTask.hs
--- a/gen/Network/AWS/SWF/PollForActivityTask.hs
+++ b/gen/Network/AWS/SWF/PollForActivityTask.hs
@@ -130,10 +130,9 @@
 pfatTaskList = lens _pfatTaskList (\ s a -> s{_pfatTaskList = a});
 
 instance AWSRequest PollForActivityTask where
-        type Sv PollForActivityTask = SWF
         type Rs PollForActivityTask =
              PollForActivityTaskResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -158,8 +157,10 @@
 instance ToJSON PollForActivityTask where
         toJSON PollForActivityTask'{..}
           = object
-              ["identity" .= _pfatIdentity,
-               "domain" .= _pfatDomain, "taskList" .= _pfatTaskList]
+              (catMaybes
+                 [("identity" .=) <$> _pfatIdentity,
+                  Just ("domain" .= _pfatDomain),
+                  Just ("taskList" .= _pfatTaskList)])
 
 instance ToPath PollForActivityTask where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/PollForDecisionTask.hs b/gen/Network/AWS/SWF/PollForDecisionTask.hs
--- a/gen/Network/AWS/SWF/PollForDecisionTask.hs
+++ b/gen/Network/AWS/SWF/PollForDecisionTask.hs
@@ -202,10 +202,9 @@
               pfdtNextPageToken .~ rs ^. pfdtrsNextPageToken
 
 instance AWSRequest PollForDecisionTask where
-        type Sv PollForDecisionTask = SWF
         type Rs PollForDecisionTask =
              PollForDecisionTaskResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -232,11 +231,13 @@
 instance ToJSON PollForDecisionTask where
         toJSON PollForDecisionTask'{..}
           = object
-              ["nextPageToken" .= _pfdtNextPageToken,
-               "reverseOrder" .= _pfdtReverseOrder,
-               "identity" .= _pfdtIdentity,
-               "maximumPageSize" .= _pfdtMaximumPageSize,
-               "domain" .= _pfdtDomain, "taskList" .= _pfdtTaskList]
+              (catMaybes
+                 [("nextPageToken" .=) <$> _pfdtNextPageToken,
+                  ("reverseOrder" .=) <$> _pfdtReverseOrder,
+                  ("identity" .=) <$> _pfdtIdentity,
+                  ("maximumPageSize" .=) <$> _pfdtMaximumPageSize,
+                  Just ("domain" .= _pfdtDomain),
+                  Just ("taskList" .= _pfdtTaskList)])
 
 instance ToPath PollForDecisionTask where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RecordActivityTaskHeartbeat.hs b/gen/Network/AWS/SWF/RecordActivityTaskHeartbeat.hs
--- a/gen/Network/AWS/SWF/RecordActivityTaskHeartbeat.hs
+++ b/gen/Network/AWS/SWF/RecordActivityTaskHeartbeat.hs
@@ -127,10 +127,9 @@
 rathTaskToken = lens _rathTaskToken (\ s a -> s{_rathTaskToken = a});
 
 instance AWSRequest RecordActivityTaskHeartbeat where
-        type Sv RecordActivityTaskHeartbeat = SWF
         type Rs RecordActivityTaskHeartbeat =
              RecordActivityTaskHeartbeatResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -150,8 +149,9 @@
 instance ToJSON RecordActivityTaskHeartbeat where
         toJSON RecordActivityTaskHeartbeat'{..}
           = object
-              ["details" .= _rathDetails,
-               "taskToken" .= _rathTaskToken]
+              (catMaybes
+                 [("details" .=) <$> _rathDetails,
+                  Just ("taskToken" .= _rathTaskToken)])
 
 instance ToPath RecordActivityTaskHeartbeat where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RegisterActivityType.hs b/gen/Network/AWS/SWF/RegisterActivityType.hs
--- a/gen/Network/AWS/SWF/RegisterActivityType.hs
+++ b/gen/Network/AWS/SWF/RegisterActivityType.hs
@@ -224,10 +224,9 @@
 ratVersion = lens _ratVersion (\ s a -> s{_ratVersion = a});
 
 instance AWSRequest RegisterActivityType where
-        type Sv RegisterActivityType = SWF
         type Rs RegisterActivityType =
              RegisterActivityTypeResponse
-        request = postJSON
+        request = postJSON sWF
         response = receiveNull RegisterActivityTypeResponse'
 
 instance ToHeaders RegisterActivityType where
@@ -243,19 +242,22 @@
 instance ToJSON RegisterActivityType where
         toJSON RegisterActivityType'{..}
           = object
-              ["defaultTaskScheduleToStartTimeout" .=
-                 _ratDefaultTaskScheduleToStartTimeout,
-               "defaultTaskList" .= _ratDefaultTaskList,
-               "defaultTaskPriority" .= _ratDefaultTaskPriority,
-               "defaultTaskHeartbeatTimeout" .=
-                 _ratDefaultTaskHeartbeatTimeout,
-               "defaultTaskScheduleToCloseTimeout" .=
-                 _ratDefaultTaskScheduleToCloseTimeout,
-               "defaultTaskStartToCloseTimeout" .=
-                 _ratDefaultTaskStartToCloseTimeout,
-               "description" .= _ratDescription,
-               "domain" .= _ratDomain, "name" .= _ratName,
-               "version" .= _ratVersion]
+              (catMaybes
+                 [("defaultTaskScheduleToStartTimeout" .=) <$>
+                    _ratDefaultTaskScheduleToStartTimeout,
+                  ("defaultTaskList" .=) <$> _ratDefaultTaskList,
+                  ("defaultTaskPriority" .=) <$>
+                    _ratDefaultTaskPriority,
+                  ("defaultTaskHeartbeatTimeout" .=) <$>
+                    _ratDefaultTaskHeartbeatTimeout,
+                  ("defaultTaskScheduleToCloseTimeout" .=) <$>
+                    _ratDefaultTaskScheduleToCloseTimeout,
+                  ("defaultTaskStartToCloseTimeout" .=) <$>
+                    _ratDefaultTaskStartToCloseTimeout,
+                  ("description" .=) <$> _ratDescription,
+                  Just ("domain" .= _ratDomain),
+                  Just ("name" .= _ratName),
+                  Just ("version" .= _ratVersion)])
 
 instance ToPath RegisterActivityType where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RegisterDomain.hs b/gen/Network/AWS/SWF/RegisterDomain.hs
--- a/gen/Network/AWS/SWF/RegisterDomain.hs
+++ b/gen/Network/AWS/SWF/RegisterDomain.hs
@@ -119,9 +119,8 @@
 rdWorkflowExecutionRetentionPeriodInDays = lens _rdWorkflowExecutionRetentionPeriodInDays (\ s a -> s{_rdWorkflowExecutionRetentionPeriodInDays = a});
 
 instance AWSRequest RegisterDomain where
-        type Sv RegisterDomain = SWF
         type Rs RegisterDomain = RegisterDomainResponse
-        request = postJSON
+        request = postJSON sWF
         response = receiveNull RegisterDomainResponse'
 
 instance ToHeaders RegisterDomain where
@@ -137,9 +136,12 @@
 instance ToJSON RegisterDomain where
         toJSON RegisterDomain'{..}
           = object
-              ["description" .= _rdDescription, "name" .= _rdName,
-               "workflowExecutionRetentionPeriodInDays" .=
-                 _rdWorkflowExecutionRetentionPeriodInDays]
+              (catMaybes
+                 [("description" .=) <$> _rdDescription,
+                  Just ("name" .= _rdName),
+                  Just
+                    ("workflowExecutionRetentionPeriodInDays" .=
+                       _rdWorkflowExecutionRetentionPeriodInDays)])
 
 instance ToPath RegisterDomain where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RegisterWorkflowType.hs b/gen/Network/AWS/SWF/RegisterWorkflowType.hs
--- a/gen/Network/AWS/SWF/RegisterWorkflowType.hs
+++ b/gen/Network/AWS/SWF/RegisterWorkflowType.hs
@@ -237,10 +237,9 @@
 rwtVersion = lens _rwtVersion (\ s a -> s{_rwtVersion = a});
 
 instance AWSRequest RegisterWorkflowType where
-        type Sv RegisterWorkflowType = SWF
         type Rs RegisterWorkflowType =
              RegisterWorkflowTypeResponse
-        request = postJSON
+        request = postJSON sWF
         response = receiveNull RegisterWorkflowTypeResponse'
 
 instance ToHeaders RegisterWorkflowType where
@@ -256,17 +255,20 @@
 instance ToJSON RegisterWorkflowType where
         toJSON RegisterWorkflowType'{..}
           = object
-              ["defaultLambdaRole" .= _rwtDefaultLambdaRole,
-               "defaultChildPolicy" .= _rwtDefaultChildPolicy,
-               "defaultTaskList" .= _rwtDefaultTaskList,
-               "defaultTaskPriority" .= _rwtDefaultTaskPriority,
-               "defaultExecutionStartToCloseTimeout" .=
-                 _rwtDefaultExecutionStartToCloseTimeout,
-               "defaultTaskStartToCloseTimeout" .=
-                 _rwtDefaultTaskStartToCloseTimeout,
-               "description" .= _rwtDescription,
-               "domain" .= _rwtDomain, "name" .= _rwtName,
-               "version" .= _rwtVersion]
+              (catMaybes
+                 [("defaultLambdaRole" .=) <$> _rwtDefaultLambdaRole,
+                  ("defaultChildPolicy" .=) <$> _rwtDefaultChildPolicy,
+                  ("defaultTaskList" .=) <$> _rwtDefaultTaskList,
+                  ("defaultTaskPriority" .=) <$>
+                    _rwtDefaultTaskPriority,
+                  ("defaultExecutionStartToCloseTimeout" .=) <$>
+                    _rwtDefaultExecutionStartToCloseTimeout,
+                  ("defaultTaskStartToCloseTimeout" .=) <$>
+                    _rwtDefaultTaskStartToCloseTimeout,
+                  ("description" .=) <$> _rwtDescription,
+                  Just ("domain" .= _rwtDomain),
+                  Just ("name" .= _rwtName),
+                  Just ("version" .= _rwtVersion)])
 
 instance ToPath RegisterWorkflowType where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RequestCancelWorkflowExecution.hs b/gen/Network/AWS/SWF/RequestCancelWorkflowExecution.hs
--- a/gen/Network/AWS/SWF/RequestCancelWorkflowExecution.hs
+++ b/gen/Network/AWS/SWF/RequestCancelWorkflowExecution.hs
@@ -113,10 +113,9 @@
 
 instance AWSRequest RequestCancelWorkflowExecution
          where
-        type Sv RequestCancelWorkflowExecution = SWF
         type Rs RequestCancelWorkflowExecution =
              RequestCancelWorkflowExecutionResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull RequestCancelWorkflowExecutionResponse'
 
@@ -134,8 +133,10 @@
 instance ToJSON RequestCancelWorkflowExecution where
         toJSON RequestCancelWorkflowExecution'{..}
           = object
-              ["runId" .= _rcweRunId, "domain" .= _rcweDomain,
-               "workflowId" .= _rcweWorkflowId]
+              (catMaybes
+                 [("runId" .=) <$> _rcweRunId,
+                  Just ("domain" .= _rcweDomain),
+                  Just ("workflowId" .= _rcweWorkflowId)])
 
 instance ToPath RequestCancelWorkflowExecution where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RespondActivityTaskCanceled.hs b/gen/Network/AWS/SWF/RespondActivityTaskCanceled.hs
--- a/gen/Network/AWS/SWF/RespondActivityTaskCanceled.hs
+++ b/gen/Network/AWS/SWF/RespondActivityTaskCanceled.hs
@@ -111,10 +111,9 @@
 rTaskToken = lens _rTaskToken (\ s a -> s{_rTaskToken = a});
 
 instance AWSRequest RespondActivityTaskCanceled where
-        type Sv RespondActivityTaskCanceled = SWF
         type Rs RespondActivityTaskCanceled =
              RespondActivityTaskCanceledResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull RespondActivityTaskCanceledResponse'
 
@@ -131,7 +130,9 @@
 instance ToJSON RespondActivityTaskCanceled where
         toJSON RespondActivityTaskCanceled'{..}
           = object
-              ["details" .= _rDetails, "taskToken" .= _rTaskToken]
+              (catMaybes
+                 [("details" .=) <$> _rDetails,
+                  Just ("taskToken" .= _rTaskToken)])
 
 instance ToPath RespondActivityTaskCanceled where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RespondActivityTaskCompleted.hs b/gen/Network/AWS/SWF/RespondActivityTaskCompleted.hs
--- a/gen/Network/AWS/SWF/RespondActivityTaskCompleted.hs
+++ b/gen/Network/AWS/SWF/RespondActivityTaskCompleted.hs
@@ -113,10 +113,9 @@
 
 instance AWSRequest RespondActivityTaskCompleted
          where
-        type Sv RespondActivityTaskCompleted = SWF
         type Rs RespondActivityTaskCompleted =
              RespondActivityTaskCompletedResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull RespondActivityTaskCompletedResponse'
 
@@ -133,8 +132,9 @@
 instance ToJSON RespondActivityTaskCompleted where
         toJSON RespondActivityTaskCompleted'{..}
           = object
-              ["result" .= _ratcResult,
-               "taskToken" .= _ratcTaskToken]
+              (catMaybes
+                 [("result" .=) <$> _ratcResult,
+                  Just ("taskToken" .= _ratcTaskToken)])
 
 instance ToPath RespondActivityTaskCompleted where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RespondActivityTaskFailed.hs b/gen/Network/AWS/SWF/RespondActivityTaskFailed.hs
--- a/gen/Network/AWS/SWF/RespondActivityTaskFailed.hs
+++ b/gen/Network/AWS/SWF/RespondActivityTaskFailed.hs
@@ -114,10 +114,9 @@
 ratfTaskToken = lens _ratfTaskToken (\ s a -> s{_ratfTaskToken = a});
 
 instance AWSRequest RespondActivityTaskFailed where
-        type Sv RespondActivityTaskFailed = SWF
         type Rs RespondActivityTaskFailed =
              RespondActivityTaskFailedResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull RespondActivityTaskFailedResponse'
 
@@ -134,8 +133,10 @@
 instance ToJSON RespondActivityTaskFailed where
         toJSON RespondActivityTaskFailed'{..}
           = object
-              ["reason" .= _ratfReason, "details" .= _ratfDetails,
-               "taskToken" .= _ratfTaskToken]
+              (catMaybes
+                 [("reason" .=) <$> _ratfReason,
+                  ("details" .=) <$> _ratfDetails,
+                  Just ("taskToken" .= _ratfTaskToken)])
 
 instance ToPath RespondActivityTaskFailed where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/RespondDecisionTaskCompleted.hs b/gen/Network/AWS/SWF/RespondDecisionTaskCompleted.hs
--- a/gen/Network/AWS/SWF/RespondDecisionTaskCompleted.hs
+++ b/gen/Network/AWS/SWF/RespondDecisionTaskCompleted.hs
@@ -106,10 +106,9 @@
 
 instance AWSRequest RespondDecisionTaskCompleted
          where
-        type Sv RespondDecisionTaskCompleted = SWF
         type Rs RespondDecisionTaskCompleted =
              RespondDecisionTaskCompletedResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull RespondDecisionTaskCompletedResponse'
 
@@ -126,9 +125,10 @@
 instance ToJSON RespondDecisionTaskCompleted where
         toJSON RespondDecisionTaskCompleted'{..}
           = object
-              ["decisions" .= _rdtcDecisions,
-               "executionContext" .= _rdtcExecutionContext,
-               "taskToken" .= _rdtcTaskToken]
+              (catMaybes
+                 [("decisions" .=) <$> _rdtcDecisions,
+                  ("executionContext" .=) <$> _rdtcExecutionContext,
+                  Just ("taskToken" .= _rdtcTaskToken)])
 
 instance ToPath RespondDecisionTaskCompleted where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/SignalWorkflowExecution.hs b/gen/Network/AWS/SWF/SignalWorkflowExecution.hs
--- a/gen/Network/AWS/SWF/SignalWorkflowExecution.hs
+++ b/gen/Network/AWS/SWF/SignalWorkflowExecution.hs
@@ -132,10 +132,9 @@
 sweSignalName = lens _sweSignalName (\ s a -> s{_sweSignalName = a});
 
 instance AWSRequest SignalWorkflowExecution where
-        type Sv SignalWorkflowExecution = SWF
         type Rs SignalWorkflowExecution =
              SignalWorkflowExecutionResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull SignalWorkflowExecutionResponse'
 
@@ -152,10 +151,12 @@
 instance ToJSON SignalWorkflowExecution where
         toJSON SignalWorkflowExecution'{..}
           = object
-              ["input" .= _sweInput, "runId" .= _sweRunId,
-               "domain" .= _sweDomain,
-               "workflowId" .= _sweWorkflowId,
-               "signalName" .= _sweSignalName]
+              (catMaybes
+                 [("input" .=) <$> _sweInput,
+                  ("runId" .=) <$> _sweRunId,
+                  Just ("domain" .= _sweDomain),
+                  Just ("workflowId" .= _sweWorkflowId),
+                  Just ("signalName" .= _sweSignalName)])
 
 instance ToPath SignalWorkflowExecution where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/StartWorkflowExecution.hs b/gen/Network/AWS/SWF/StartWorkflowExecution.hs
--- a/gen/Network/AWS/SWF/StartWorkflowExecution.hs
+++ b/gen/Network/AWS/SWF/StartWorkflowExecution.hs
@@ -274,10 +274,9 @@
 sWorkflowType = lens _sWorkflowType (\ s a -> s{_sWorkflowType = a});
 
 instance AWSRequest StartWorkflowExecution where
-        type Sv StartWorkflowExecution = SWF
         type Rs StartWorkflowExecution =
              StartWorkflowExecutionResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveJSON
               (\ s h x ->
@@ -297,17 +296,20 @@
 instance ToJSON StartWorkflowExecution where
         toJSON StartWorkflowExecution'{..}
           = object
-              ["tagList" .= _sTagList,
-               "taskStartToCloseTimeout" .=
-                 _sTaskStartToCloseTimeout,
-               "lambdaRole" .= _sLambdaRole, "input" .= _sInput,
-               "executionStartToCloseTimeout" .=
-                 _sExecutionStartToCloseTimeout,
-               "taskList" .= _sTaskList,
-               "taskPriority" .= _sTaskPriority,
-               "childPolicy" .= _sChildPolicy, "domain" .= _sDomain,
-               "workflowId" .= _sWorkflowId,
-               "workflowType" .= _sWorkflowType]
+              (catMaybes
+                 [("tagList" .=) <$> _sTagList,
+                  ("taskStartToCloseTimeout" .=) <$>
+                    _sTaskStartToCloseTimeout,
+                  ("lambdaRole" .=) <$> _sLambdaRole,
+                  ("input" .=) <$> _sInput,
+                  ("executionStartToCloseTimeout" .=) <$>
+                    _sExecutionStartToCloseTimeout,
+                  ("taskList" .=) <$> _sTaskList,
+                  ("taskPriority" .=) <$> _sTaskPriority,
+                  ("childPolicy" .=) <$> _sChildPolicy,
+                  Just ("domain" .= _sDomain),
+                  Just ("workflowId" .= _sWorkflowId),
+                  Just ("workflowType" .= _sWorkflowType)])
 
 instance ToPath StartWorkflowExecution where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/TerminateWorkflowExecution.hs b/gen/Network/AWS/SWF/TerminateWorkflowExecution.hs
--- a/gen/Network/AWS/SWF/TerminateWorkflowExecution.hs
+++ b/gen/Network/AWS/SWF/TerminateWorkflowExecution.hs
@@ -160,10 +160,9 @@
 tweWorkflowId = lens _tweWorkflowId (\ s a -> s{_tweWorkflowId = a});
 
 instance AWSRequest TerminateWorkflowExecution where
-        type Sv TerminateWorkflowExecution = SWF
         type Rs TerminateWorkflowExecution =
              TerminateWorkflowExecutionResponse
-        request = postJSON
+        request = postJSON sWF
         response
           = receiveNull TerminateWorkflowExecutionResponse'
 
@@ -180,11 +179,13 @@
 instance ToJSON TerminateWorkflowExecution where
         toJSON TerminateWorkflowExecution'{..}
           = object
-              ["runId" .= _tweRunId, "reason" .= _tweReason,
-               "details" .= _tweDetails,
-               "childPolicy" .= _tweChildPolicy,
-               "domain" .= _tweDomain,
-               "workflowId" .= _tweWorkflowId]
+              (catMaybes
+                 [("runId" .=) <$> _tweRunId,
+                  ("reason" .=) <$> _tweReason,
+                  ("details" .=) <$> _tweDetails,
+                  ("childPolicy" .=) <$> _tweChildPolicy,
+                  Just ("domain" .= _tweDomain),
+                  Just ("workflowId" .= _tweWorkflowId)])
 
 instance ToPath TerminateWorkflowExecution where
         toPath = const "/"
diff --git a/gen/Network/AWS/SWF/Types.hs b/gen/Network/AWS/SWF/Types.hs
--- a/gen/Network/AWS/SWF/Types.hs
+++ b/gen/Network/AWS/SWF/Types.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE TypeFamilies      #-}
 
 -- Derived from AWS service descriptions, licensed under Apache 2.0.
 
@@ -13,8 +12,8 @@
 --
 module Network.AWS.SWF.Types
     (
-    -- * Service
-      SWF
+    -- * Service Configuration
+      sWF
 
     -- * Errors
     , _LimitExceededFault
@@ -876,39 +875,36 @@
 import           Network.AWS.SWF.Types.Product
 import           Network.AWS.SWF.Types.Sum
 
--- | Version @2012-01-25@ of the Amazon Simple Workflow Service SDK.
-data SWF
-
-instance AWSService SWF where
-    type Sg SWF = V4
-    service = const svc
-      where
-        svc =
-            Service
-            { _svcAbbrev = "SWF"
-            , _svcPrefix = "swf"
-            , _svcVersion = "2012-01-25"
-            , _svcEndpoint = defaultEndpoint svc
-            , _svcTimeout = Just 70
-            , _svcStatus = statusSuccess
-            , _svcError = parseJSONError
-            , _svcRetry = retry
-            }
-        retry =
-            Exponential
-            { _retryBase = 5.0e-2
-            , _retryGrowth = 2
-            , _retryAttempts = 5
-            , _retryCheck = check
-            }
-        check e
-          | has (hasCode "ThrottlingException" . hasStatus 400) e =
-              Just "throttling_exception"
-          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
-          | has (hasStatus 503) e = Just "service_unavailable"
-          | has (hasStatus 500) e = Just "general_server_error"
-          | has (hasStatus 509) e = Just "limit_exceeded"
-          | otherwise = Nothing
+-- | API version '2012-01-25' of the Amazon Simple Workflow Service SDK configuration.
+sWF :: Service
+sWF =
+    Service
+    { _svcAbbrev = "SWF"
+    , _svcSigner = v4
+    , _svcPrefix = "swf"
+    , _svcVersion = "2012-01-25"
+    , _svcEndpoint = defaultEndpoint sWF
+    , _svcTimeout = Just 70
+    , _svcCheck = statusSuccess
+    , _svcError = parseJSONError
+    , _svcRetry = retry
+    }
+  where
+    retry =
+        Exponential
+        { _retryBase = 5.0e-2
+        , _retryGrowth = 2
+        , _retryAttempts = 5
+        , _retryCheck = check
+        }
+    check e
+      | has (hasCode "ThrottlingException" . hasStatus 400) e =
+          Just "throttling_exception"
+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 503) e = Just "service_unavailable"
+      | has (hasStatus 500) e = Just "general_server_error"
+      | has (hasStatus 509) e = Just "limit_exceeded"
+      | otherwise = Nothing
 
 -- | Returned by any operation if a system imposed limitation has been
 -- reached. To address this fault you should either clean up unused
diff --git a/gen/Network/AWS/SWF/Types/Product.hs b/gen/Network/AWS/SWF/Types/Product.hs
--- a/gen/Network/AWS/SWF/Types/Product.hs
+++ b/gen/Network/AWS/SWF/Types/Product.hs
@@ -2,7 +2,6 @@
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
@@ -558,7 +557,10 @@
 
 instance ToJSON ActivityType where
         toJSON ActivityType'{..}
-          = object ["name" .= _atName, "version" .= _atVersion]
+          = object
+              (catMaybes
+                 [Just ("name" .= _atName),
+                  Just ("version" .= _atVersion)])
 
 -- | Configuration settings registered with the activity type.
 --
@@ -794,7 +796,8 @@
 
 instance ToJSON CancelTimerDecisionAttributes where
         toJSON CancelTimerDecisionAttributes'{..}
-          = object ["timerId" .= _ctdaTimerId]
+          = object
+              (catMaybes [Just ("timerId" .= _ctdaTimerId)])
 
 -- | Provides details of the 'CancelTimerFailed' event.
 --
@@ -900,7 +903,8 @@
 instance ToJSON
          CancelWorkflowExecutionDecisionAttributes where
         toJSON CancelWorkflowExecutionDecisionAttributes'{..}
-          = object ["details" .= _cwedaDetails]
+          = object
+              (catMaybes [("details" .=) <$> _cwedaDetails])
 
 -- | Provides details of the 'CancelWorkflowExecutionFailed' event.
 --
@@ -1425,7 +1429,7 @@
 
 instance ToJSON CloseStatusFilter where
         toJSON CloseStatusFilter'{..}
-          = object ["status" .= _csfStatus]
+          = object (catMaybes [Just ("status" .= _csfStatus)])
 
 -- | Provides details of the 'CompleteWorkflowExecution' decision.
 --
@@ -1473,7 +1477,7 @@
          CompleteWorkflowExecutionDecisionAttributes where
         toJSON
           CompleteWorkflowExecutionDecisionAttributes'{..}
-          = object ["result" .= _cwedaResult]
+          = object (catMaybes [("result" .=) <$> _cwedaResult])
 
 -- | Provides details of the 'CompleteWorkflowExecutionFailed' event.
 --
@@ -1703,17 +1707,19 @@
         toJSON
           ContinueAsNewWorkflowExecutionDecisionAttributes'{..}
           = object
-              ["tagList" .= _canwedaTagList,
-               "taskStartToCloseTimeout" .=
-                 _canwedaTaskStartToCloseTimeout,
-               "lambdaRole" .= _canwedaLambdaRole,
-               "input" .= _canwedaInput,
-               "workflowTypeVersion" .= _canwedaWorkflowTypeVersion,
-               "executionStartToCloseTimeout" .=
-                 _canwedaExecutionStartToCloseTimeout,
-               "taskList" .= _canwedaTaskList,
-               "taskPriority" .= _canwedaTaskPriority,
-               "childPolicy" .= _canwedaChildPolicy]
+              (catMaybes
+                 [("tagList" .=) <$> _canwedaTagList,
+                  ("taskStartToCloseTimeout" .=) <$>
+                    _canwedaTaskStartToCloseTimeout,
+                  ("lambdaRole" .=) <$> _canwedaLambdaRole,
+                  ("input" .=) <$> _canwedaInput,
+                  ("workflowTypeVersion" .=) <$>
+                    _canwedaWorkflowTypeVersion,
+                  ("executionStartToCloseTimeout" .=) <$>
+                    _canwedaExecutionStartToCloseTimeout,
+                  ("taskList" .=) <$> _canwedaTaskList,
+                  ("taskPriority" .=) <$> _canwedaTaskPriority,
+                  ("childPolicy" .=) <$> _canwedaChildPolicy])
 
 -- | Provides details of the 'ContinueAsNewWorkflowExecutionFailed' event.
 --
@@ -2059,35 +2065,40 @@
 instance ToJSON Decision where
         toJSON Decision'{..}
           = object
-              ["requestCancelExternalWorkflowExecutionDecisionAttributes"
-                 .=
-                 _dRequestCancelExternalWorkflowExecutionDecisionAttributes,
-               "scheduleActivityTaskDecisionAttributes" .=
-                 _dScheduleActivityTaskDecisionAttributes,
-               "signalExternalWorkflowExecutionDecisionAttributes"
-                 .=
-                 _dSignalExternalWorkflowExecutionDecisionAttributes,
-               "startTimerDecisionAttributes" .=
-                 _dStartTimerDecisionAttributes,
-               "recordMarkerDecisionAttributes" .=
-                 _dRecordMarkerDecisionAttributes,
-               "failWorkflowExecutionDecisionAttributes" .=
-                 _dFailWorkflowExecutionDecisionAttributes,
-               "startChildWorkflowExecutionDecisionAttributes" .=
-                 _dStartChildWorkflowExecutionDecisionAttributes,
-               "scheduleLambdaFunctionDecisionAttributes" .=
-                 _dScheduleLambdaFunctionDecisionAttributes,
-               "completeWorkflowExecutionDecisionAttributes" .=
-                 _dCompleteWorkflowExecutionDecisionAttributes,
-               "requestCancelActivityTaskDecisionAttributes" .=
-                 _dRequestCancelActivityTaskDecisionAttributes,
-               "cancelWorkflowExecutionDecisionAttributes" .=
-                 _dCancelWorkflowExecutionDecisionAttributes,
-               "cancelTimerDecisionAttributes" .=
-                 _dCancelTimerDecisionAttributes,
-               "continueAsNewWorkflowExecutionDecisionAttributes" .=
-                 _dContinueAsNewWorkflowExecutionDecisionAttributes,
-               "decisionType" .= _dDecisionType]
+              (catMaybes
+                 [("requestCancelExternalWorkflowExecutionDecisionAttributes"
+                     .=)
+                    <$>
+                    _dRequestCancelExternalWorkflowExecutionDecisionAttributes,
+                  ("scheduleActivityTaskDecisionAttributes" .=) <$>
+                    _dScheduleActivityTaskDecisionAttributes,
+                  ("signalExternalWorkflowExecutionDecisionAttributes"
+                     .=)
+                    <$>
+                    _dSignalExternalWorkflowExecutionDecisionAttributes,
+                  ("startTimerDecisionAttributes" .=) <$>
+                    _dStartTimerDecisionAttributes,
+                  ("recordMarkerDecisionAttributes" .=) <$>
+                    _dRecordMarkerDecisionAttributes,
+                  ("failWorkflowExecutionDecisionAttributes" .=) <$>
+                    _dFailWorkflowExecutionDecisionAttributes,
+                  ("startChildWorkflowExecutionDecisionAttributes" .=)
+                    <$> _dStartChildWorkflowExecutionDecisionAttributes,
+                  ("scheduleLambdaFunctionDecisionAttributes" .=) <$>
+                    _dScheduleLambdaFunctionDecisionAttributes,
+                  ("completeWorkflowExecutionDecisionAttributes" .=)
+                    <$> _dCompleteWorkflowExecutionDecisionAttributes,
+                  ("requestCancelActivityTaskDecisionAttributes" .=)
+                    <$> _dRequestCancelActivityTaskDecisionAttributes,
+                  ("cancelWorkflowExecutionDecisionAttributes" .=) <$>
+                    _dCancelWorkflowExecutionDecisionAttributes,
+                  ("cancelTimerDecisionAttributes" .=) <$>
+                    _dCancelTimerDecisionAttributes,
+                  ("continueAsNewWorkflowExecutionDecisionAttributes"
+                     .=)
+                    <$>
+                    _dContinueAsNewWorkflowExecutionDecisionAttributes,
+                  Just ("decisionType" .= _dDecisionType)])
 
 -- | Provides details of the 'DecisionTaskCompleted' event.
 --
@@ -2433,8 +2444,9 @@
 instance ToJSON ExecutionTimeFilter where
         toJSON ExecutionTimeFilter'{..}
           = object
-              ["latestDate" .= _etfLatestDate,
-               "oldestDate" .= _etfOldestDate]
+              (catMaybes
+                 [("latestDate" .=) <$> _etfLatestDate,
+                  Just ("oldestDate" .= _etfOldestDate)])
 
 -- | Provides details of the 'ExternalWorkflowExecutionCancelRequested'
 -- event.
@@ -2587,8 +2599,9 @@
          FailWorkflowExecutionDecisionAttributes where
         toJSON FailWorkflowExecutionDecisionAttributes'{..}
           = object
-              ["reason" .= _fwedaReason,
-               "details" .= _fwedaDetails]
+              (catMaybes
+                 [("reason" .=) <$> _fwedaReason,
+                  ("details" .=) <$> _fwedaDetails])
 
 -- | Provides details of the 'FailWorkflowExecutionFailed' event.
 --
@@ -3857,8 +3870,9 @@
 instance ToJSON RecordMarkerDecisionAttributes where
         toJSON RecordMarkerDecisionAttributes'{..}
           = object
-              ["details" .= _rmdaDetails,
-               "markerName" .= _rmdaMarkerName]
+              (catMaybes
+                 [("details" .=) <$> _rmdaDetails,
+                  Just ("markerName" .= _rmdaMarkerName)])
 
 -- | Provides details of the 'RecordMarkerFailed' event.
 --
@@ -3966,7 +3980,9 @@
          RequestCancelActivityTaskDecisionAttributes where
         toJSON
           RequestCancelActivityTaskDecisionAttributes'{..}
-          = object ["activityId" .= _rcatdaActivityId]
+          = object
+              (catMaybes
+                 [Just ("activityId" .= _rcatdaActivityId)])
 
 -- | Provides details of the 'RequestCancelActivityTaskFailed' event.
 --
@@ -4098,9 +4114,10 @@
         toJSON
           RequestCancelExternalWorkflowExecutionDecisionAttributes'{..}
           = object
-              ["control" .= _rcewedaControl,
-               "runId" .= _rcewedaRunId,
-               "workflowId" .= _rcewedaWorkflowId]
+              (catMaybes
+                 [("control" .=) <$> _rcewedaControl,
+                  ("runId" .=) <$> _rcewedaRunId,
+                  Just ("workflowId" .= _rcewedaWorkflowId)])
 
 -- | Provides details of the 'RequestCancelExternalWorkflowExecutionFailed'
 -- event.
@@ -4458,17 +4475,20 @@
          ScheduleActivityTaskDecisionAttributes where
         toJSON ScheduleActivityTaskDecisionAttributes'{..}
           = object
-              ["control" .= _satdaControl,
-               "scheduleToCloseTimeout" .=
-                 _satdaScheduleToCloseTimeout,
-               "heartbeatTimeout" .= _satdaHeartbeatTimeout,
-               "input" .= _satdaInput, "taskList" .= _satdaTaskList,
-               "taskPriority" .= _satdaTaskPriority,
-               "scheduleToStartTimeout" .=
-                 _satdaScheduleToStartTimeout,
-               "startToCloseTimeout" .= _satdaStartToCloseTimeout,
-               "activityType" .= _satdaActivityType,
-               "activityId" .= _satdaActivityId]
+              (catMaybes
+                 [("control" .=) <$> _satdaControl,
+                  ("scheduleToCloseTimeout" .=) <$>
+                    _satdaScheduleToCloseTimeout,
+                  ("heartbeatTimeout" .=) <$> _satdaHeartbeatTimeout,
+                  ("input" .=) <$> _satdaInput,
+                  ("taskList" .=) <$> _satdaTaskList,
+                  ("taskPriority" .=) <$> _satdaTaskPriority,
+                  ("scheduleToStartTimeout" .=) <$>
+                    _satdaScheduleToStartTimeout,
+                  ("startToCloseTimeout" .=) <$>
+                    _satdaStartToCloseTimeout,
+                  Just ("activityType" .= _satdaActivityType),
+                  Just ("activityId" .= _satdaActivityId)])
 
 -- | Provides details of the 'ScheduleActivityTaskFailed' event.
 --
@@ -4625,9 +4645,12 @@
          ScheduleLambdaFunctionDecisionAttributes where
         toJSON ScheduleLambdaFunctionDecisionAttributes'{..}
           = object
-              ["input" .= _slfdaInput,
-               "startToCloseTimeout" .= _slfdaStartToCloseTimeout,
-               "id" .= _slfdaId, "name" .= _slfdaName]
+              (catMaybes
+                 [("input" .=) <$> _slfdaInput,
+                  ("startToCloseTimeout" .=) <$>
+                    _slfdaStartToCloseTimeout,
+                  Just ("id" .= _slfdaId),
+                  Just ("name" .= _slfdaName)])
 
 -- | Provides details for the 'ScheduleLambdaFunctionFailed' event.
 --
@@ -4784,10 +4807,12 @@
         toJSON
           SignalExternalWorkflowExecutionDecisionAttributes'{..}
           = object
-              ["control" .= _sewedaControl,
-               "input" .= _sewedaInput, "runId" .= _sewedaRunId,
-               "workflowId" .= _sewedaWorkflowId,
-               "signalName" .= _sewedaSignalName]
+              (catMaybes
+                 [("control" .=) <$> _sewedaControl,
+                  ("input" .=) <$> _sewedaInput,
+                  ("runId" .=) <$> _sewedaRunId,
+                  Just ("workflowId" .= _sewedaWorkflowId),
+                  Just ("signalName" .= _sewedaSignalName)])
 
 -- | Provides details of the 'SignalExternalWorkflowExecutionFailed' event.
 --
@@ -5183,19 +5208,20 @@
         toJSON
           StartChildWorkflowExecutionDecisionAttributes'{..}
           = object
-              ["control" .= _scwedaControl,
-               "tagList" .= _scwedaTagList,
-               "taskStartToCloseTimeout" .=
-                 _scwedaTaskStartToCloseTimeout,
-               "lambdaRole" .= _scwedaLambdaRole,
-               "input" .= _scwedaInput,
-               "executionStartToCloseTimeout" .=
-                 _scwedaExecutionStartToCloseTimeout,
-               "taskList" .= _scwedaTaskList,
-               "taskPriority" .= _scwedaTaskPriority,
-               "childPolicy" .= _scwedaChildPolicy,
-               "workflowType" .= _scwedaWorkflowType,
-               "workflowId" .= _scwedaWorkflowId]
+              (catMaybes
+                 [("control" .=) <$> _scwedaControl,
+                  ("tagList" .=) <$> _scwedaTagList,
+                  ("taskStartToCloseTimeout" .=) <$>
+                    _scwedaTaskStartToCloseTimeout,
+                  ("lambdaRole" .=) <$> _scwedaLambdaRole,
+                  ("input" .=) <$> _scwedaInput,
+                  ("executionStartToCloseTimeout" .=) <$>
+                    _scwedaExecutionStartToCloseTimeout,
+                  ("taskList" .=) <$> _scwedaTaskList,
+                  ("taskPriority" .=) <$> _scwedaTaskPriority,
+                  ("childPolicy" .=) <$> _scwedaChildPolicy,
+                  Just ("workflowType" .= _scwedaWorkflowType),
+                  Just ("workflowId" .= _scwedaWorkflowId)])
 
 -- | Provides details of the 'StartChildWorkflowExecutionFailed' event.
 --
@@ -5592,9 +5618,11 @@
 instance ToJSON StartTimerDecisionAttributes where
         toJSON StartTimerDecisionAttributes'{..}
           = object
-              ["control" .= _stdaControl,
-               "timerId" .= _stdaTimerId,
-               "startToFireTimeout" .= _stdaStartToFireTimeout]
+              (catMaybes
+                 [("control" .=) <$> _stdaControl,
+                  Just ("timerId" .= _stdaTimerId),
+                  Just
+                    ("startToFireTimeout" .= _stdaStartToFireTimeout)])
 
 -- | Provides details of the 'StartTimerFailed' event.
 --
@@ -5683,7 +5711,8 @@
 tfTag = lens _tfTag (\ s a -> s{_tfTag = a});
 
 instance ToJSON TagFilter where
-        toJSON TagFilter'{..} = object ["tag" .= _tfTag]
+        toJSON TagFilter'{..}
+          = object (catMaybes [Just ("tag" .= _tfTag)])
 
 -- | Represents a task list.
 --
@@ -5715,7 +5744,8 @@
               (\ x -> TaskList' <$> (x .: "name"))
 
 instance ToJSON TaskList where
-        toJSON TaskList'{..} = object ["name" .= _tlName]
+        toJSON TaskList'{..}
+          = object (catMaybes [Just ("name" .= _tlName)])
 
 -- | Provides details of the 'TimerCanceled' event.
 --
@@ -5923,7 +5953,9 @@
 instance ToJSON WorkflowExecution where
         toJSON WorkflowExecution'{..}
           = object
-              ["workflowId" .= _weWorkflowId, "runId" .= _weRunId]
+              (catMaybes
+                 [Just ("workflowId" .= _weWorkflowId),
+                  Just ("runId" .= _weRunId)])
 
 -- | Provides details of the 'WorkflowExecutionCancelRequested' event.
 --
@@ -6458,7 +6490,8 @@
 
 instance ToJSON WorkflowExecutionFilter where
         toJSON WorkflowExecutionFilter'{..}
-          = object ["workflowId" .= _wefWorkflowId]
+          = object
+              (catMaybes [Just ("workflowId" .= _wefWorkflowId)])
 
 -- | Contains information about a workflow execution.
 --
@@ -7107,7 +7140,10 @@
 
 instance ToJSON WorkflowType where
         toJSON WorkflowType'{..}
-          = object ["name" .= _wtName, "version" .= _wtVersion]
+          = object
+              (catMaybes
+                 [Just ("name" .= _wtName),
+                  Just ("version" .= _wtVersion)])
 
 -- | The configuration settings of a workflow type.
 --
@@ -7270,7 +7306,9 @@
 instance ToJSON WorkflowTypeFilter where
         toJSON WorkflowTypeFilter'{..}
           = object
-              ["version" .= _wtfVersion, "name" .= _wtfName]
+              (catMaybes
+                 [("version" .=) <$> _wtfVersion,
+                  Just ("name" .= _wtfName)])
 
 -- | Contains information about a workflow type.
 --
diff --git a/test/Test/AWS/Gen/SWF.hs b/test/Test/AWS/Gen/SWF.hs
--- a/test/Test/AWS/Gen/SWF.hs
+++ b/test/Test/AWS/Gen/SWF.hs
@@ -383,184 +383,215 @@
 testListActivityTypesResponse = res
     "ListActivityTypesResponse"
     "fixture/ListActivityTypesResponse"
+    sWF
     (Proxy :: Proxy ListActivityTypes)
 
 testListOpenWorkflowExecutionsResponse :: WorkflowExecutionInfos -> TestTree
 testListOpenWorkflowExecutionsResponse = res
     "ListOpenWorkflowExecutionsResponse"
     "fixture/ListOpenWorkflowExecutionsResponse"
+    sWF
     (Proxy :: Proxy ListOpenWorkflowExecutions)
 
 testRegisterActivityTypeResponse :: RegisterActivityTypeResponse -> TestTree
 testRegisterActivityTypeResponse = res
     "RegisterActivityTypeResponse"
     "fixture/RegisterActivityTypeResponse"
+    sWF
     (Proxy :: Proxy RegisterActivityType)
 
 testCountPendingActivityTasksResponse :: PendingTaskCount -> TestTree
 testCountPendingActivityTasksResponse = res
     "CountPendingActivityTasksResponse"
     "fixture/CountPendingActivityTasksResponse"
+    sWF
     (Proxy :: Proxy CountPendingActivityTasks)
 
 testRegisterWorkflowTypeResponse :: RegisterWorkflowTypeResponse -> TestTree
 testRegisterWorkflowTypeResponse = res
     "RegisterWorkflowTypeResponse"
     "fixture/RegisterWorkflowTypeResponse"
+    sWF
     (Proxy :: Proxy RegisterWorkflowType)
 
 testRespondActivityTaskFailedResponse :: RespondActivityTaskFailedResponse -> TestTree
 testRespondActivityTaskFailedResponse = res
     "RespondActivityTaskFailedResponse"
     "fixture/RespondActivityTaskFailedResponse"
+    sWF
     (Proxy :: Proxy RespondActivityTaskFailed)
 
 testListWorkflowTypesResponse :: ListWorkflowTypesResponse -> TestTree
 testListWorkflowTypesResponse = res
     "ListWorkflowTypesResponse"
     "fixture/ListWorkflowTypesResponse"
+    sWF
     (Proxy :: Proxy ListWorkflowTypes)
 
 testCountOpenWorkflowExecutionsResponse :: WorkflowExecutionCount -> TestTree
 testCountOpenWorkflowExecutionsResponse = res
     "CountOpenWorkflowExecutionsResponse"
     "fixture/CountOpenWorkflowExecutionsResponse"
+    sWF
     (Proxy :: Proxy CountOpenWorkflowExecutions)
 
 testDescribeWorkflowTypeResponse :: DescribeWorkflowTypeResponse -> TestTree
 testDescribeWorkflowTypeResponse = res
     "DescribeWorkflowTypeResponse"
     "fixture/DescribeWorkflowTypeResponse"
+    sWF
     (Proxy :: Proxy DescribeWorkflowType)
 
 testRequestCancelWorkflowExecutionResponse :: RequestCancelWorkflowExecutionResponse -> TestTree
 testRequestCancelWorkflowExecutionResponse = res
     "RequestCancelWorkflowExecutionResponse"
     "fixture/RequestCancelWorkflowExecutionResponse"
+    sWF
     (Proxy :: Proxy RequestCancelWorkflowExecution)
 
 testDeprecateWorkflowTypeResponse :: DeprecateWorkflowTypeResponse -> TestTree
 testDeprecateWorkflowTypeResponse = res
     "DeprecateWorkflowTypeResponse"
     "fixture/DeprecateWorkflowTypeResponse"
+    sWF
     (Proxy :: Proxy DeprecateWorkflowType)
 
 testRespondDecisionTaskCompletedResponse :: RespondDecisionTaskCompletedResponse -> TestTree
 testRespondDecisionTaskCompletedResponse = res
     "RespondDecisionTaskCompletedResponse"
     "fixture/RespondDecisionTaskCompletedResponse"
+    sWF
     (Proxy :: Proxy RespondDecisionTaskCompleted)
 
 testRegisterDomainResponse :: RegisterDomainResponse -> TestTree
 testRegisterDomainResponse = res
     "RegisterDomainResponse"
     "fixture/RegisterDomainResponse"
+    sWF
     (Proxy :: Proxy RegisterDomain)
 
 testDescribeWorkflowExecutionResponse :: DescribeWorkflowExecutionResponse -> TestTree
 testDescribeWorkflowExecutionResponse = res
     "DescribeWorkflowExecutionResponse"
     "fixture/DescribeWorkflowExecutionResponse"
+    sWF
     (Proxy :: Proxy DescribeWorkflowExecution)
 
 testPollForActivityTaskResponse :: PollForActivityTaskResponse -> TestTree
 testPollForActivityTaskResponse = res
     "PollForActivityTaskResponse"
     "fixture/PollForActivityTaskResponse"
+    sWF
     (Proxy :: Proxy PollForActivityTask)
 
 testRespondActivityTaskCompletedResponse :: RespondActivityTaskCompletedResponse -> TestTree
 testRespondActivityTaskCompletedResponse = res
     "RespondActivityTaskCompletedResponse"
     "fixture/RespondActivityTaskCompletedResponse"
+    sWF
     (Proxy :: Proxy RespondActivityTaskCompleted)
 
 testSignalWorkflowExecutionResponse :: SignalWorkflowExecutionResponse -> TestTree
 testSignalWorkflowExecutionResponse = res
     "SignalWorkflowExecutionResponse"
     "fixture/SignalWorkflowExecutionResponse"
+    sWF
     (Proxy :: Proxy SignalWorkflowExecution)
 
 testCountPendingDecisionTasksResponse :: PendingTaskCount -> TestTree
 testCountPendingDecisionTasksResponse = res
     "CountPendingDecisionTasksResponse"
     "fixture/CountPendingDecisionTasksResponse"
+    sWF
     (Proxy :: Proxy CountPendingDecisionTasks)
 
 testListClosedWorkflowExecutionsResponse :: WorkflowExecutionInfos -> TestTree
 testListClosedWorkflowExecutionsResponse = res
     "ListClosedWorkflowExecutionsResponse"
     "fixture/ListClosedWorkflowExecutionsResponse"
+    sWF
     (Proxy :: Proxy ListClosedWorkflowExecutions)
 
 testRecordActivityTaskHeartbeatResponse :: RecordActivityTaskHeartbeatResponse -> TestTree
 testRecordActivityTaskHeartbeatResponse = res
     "RecordActivityTaskHeartbeatResponse"
     "fixture/RecordActivityTaskHeartbeatResponse"
+    sWF
     (Proxy :: Proxy RecordActivityTaskHeartbeat)
 
 testDescribeDomainResponse :: DescribeDomainResponse -> TestTree
 testDescribeDomainResponse = res
     "DescribeDomainResponse"
     "fixture/DescribeDomainResponse"
+    sWF
     (Proxy :: Proxy DescribeDomain)
 
 testDeprecateDomainResponse :: DeprecateDomainResponse -> TestTree
 testDeprecateDomainResponse = res
     "DeprecateDomainResponse"
     "fixture/DeprecateDomainResponse"
+    sWF
     (Proxy :: Proxy DeprecateDomain)
 
 testGetWorkflowExecutionHistoryResponse :: GetWorkflowExecutionHistoryResponse -> TestTree
 testGetWorkflowExecutionHistoryResponse = res
     "GetWorkflowExecutionHistoryResponse"
     "fixture/GetWorkflowExecutionHistoryResponse"
+    sWF
     (Proxy :: Proxy GetWorkflowExecutionHistory)
 
 testDescribeActivityTypeResponse :: DescribeActivityTypeResponse -> TestTree
 testDescribeActivityTypeResponse = res
     "DescribeActivityTypeResponse"
     "fixture/DescribeActivityTypeResponse"
+    sWF
     (Proxy :: Proxy DescribeActivityType)
 
 testDeprecateActivityTypeResponse :: DeprecateActivityTypeResponse -> TestTree
 testDeprecateActivityTypeResponse = res
     "DeprecateActivityTypeResponse"
     "fixture/DeprecateActivityTypeResponse"
+    sWF
     (Proxy :: Proxy DeprecateActivityType)
 
 testTerminateWorkflowExecutionResponse :: TerminateWorkflowExecutionResponse -> TestTree
 testTerminateWorkflowExecutionResponse = res
     "TerminateWorkflowExecutionResponse"
     "fixture/TerminateWorkflowExecutionResponse"
+    sWF
     (Proxy :: Proxy TerminateWorkflowExecution)
 
 testCountClosedWorkflowExecutionsResponse :: WorkflowExecutionCount -> TestTree
 testCountClosedWorkflowExecutionsResponse = res
     "CountClosedWorkflowExecutionsResponse"
     "fixture/CountClosedWorkflowExecutionsResponse"
+    sWF
     (Proxy :: Proxy CountClosedWorkflowExecutions)
 
 testRespondActivityTaskCanceledResponse :: RespondActivityTaskCanceledResponse -> TestTree
 testRespondActivityTaskCanceledResponse = res
     "RespondActivityTaskCanceledResponse"
     "fixture/RespondActivityTaskCanceledResponse"
+    sWF
     (Proxy :: Proxy RespondActivityTaskCanceled)
 
 testListDomainsResponse :: ListDomainsResponse -> TestTree
 testListDomainsResponse = res
     "ListDomainsResponse"
     "fixture/ListDomainsResponse"
+    sWF
     (Proxy :: Proxy ListDomains)
 
 testStartWorkflowExecutionResponse :: StartWorkflowExecutionResponse -> TestTree
 testStartWorkflowExecutionResponse = res
     "StartWorkflowExecutionResponse"
     "fixture/StartWorkflowExecutionResponse"
+    sWF
     (Proxy :: Proxy StartWorkflowExecution)
 
 testPollForDecisionTaskResponse :: PollForDecisionTaskResponse -> TestTree
 testPollForDecisionTaskResponse = res
     "PollForDecisionTaskResponse"
     "fixture/PollForDecisionTaskResponse"
+    sWF
     (Proxy :: Proxy PollForDecisionTask)
