diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.0`
+`1.4.1`
 
 
 ## 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.4.0
+version:               1.4.1
 synopsis:              Amazon Simple Workflow Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -96,7 +96,7 @@
         , Network.AWS.SWF.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.0.*
+          amazonka-core == 1.4.1.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-swf-test
@@ -116,9 +116,9 @@
         , Test.AWS.SWF.Internal
 
     build-depends:
-          amazonka-core == 1.4.0.*
-        , amazonka-test == 1.4.0.*
-        , amazonka-swf == 1.4.0.*
+          amazonka-core == 1.4.1.*
+        , amazonka-test == 1.4.1.*
+        , amazonka-swf == 1.4.1.*
         , base
         , bytestring
         , tasty
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
@@ -181,6 +181,8 @@
 
 instance Hashable CountClosedWorkflowExecutions
 
+instance NFData CountClosedWorkflowExecutions
+
 instance ToHeaders CountClosedWorkflowExecutions
          where
         toHeaders
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
@@ -150,6 +150,8 @@
 
 instance Hashable CountOpenWorkflowExecutions
 
+instance NFData CountOpenWorkflowExecutions
+
 instance ToHeaders CountOpenWorkflowExecutions where
         toHeaders
           = 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
@@ -104,6 +104,8 @@
 
 instance Hashable CountPendingActivityTasks
 
+instance NFData CountPendingActivityTasks
+
 instance ToHeaders CountPendingActivityTasks where
         toHeaders
           = 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
@@ -104,6 +104,8 @@
 
 instance Hashable CountPendingDecisionTasks
 
+instance NFData CountPendingDecisionTasks
+
 instance ToHeaders CountPendingDecisionTasks where
         toHeaders
           = 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
@@ -108,6 +108,8 @@
 
 instance Hashable DeprecateActivityType
 
+instance NFData DeprecateActivityType
+
 instance ToHeaders DeprecateActivityType where
         toHeaders
           = const
@@ -141,3 +143,5 @@
 deprecateActivityTypeResponse
     :: DeprecateActivityTypeResponse
 deprecateActivityTypeResponse = DeprecateActivityTypeResponse'
+
+instance NFData DeprecateActivityTypeResponse
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
@@ -94,6 +94,8 @@
 
 instance Hashable DeprecateDomain
 
+instance NFData DeprecateDomain
+
 instance ToHeaders DeprecateDomain where
         toHeaders
           = const
@@ -124,3 +126,5 @@
 deprecateDomainResponse
     :: DeprecateDomainResponse
 deprecateDomainResponse = DeprecateDomainResponse'
+
+instance NFData DeprecateDomainResponse
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
@@ -109,6 +109,8 @@
 
 instance Hashable DeprecateWorkflowType
 
+instance NFData DeprecateWorkflowType
+
 instance ToHeaders DeprecateWorkflowType where
         toHeaders
           = const
@@ -142,3 +144,5 @@
 deprecateWorkflowTypeResponse
     :: DeprecateWorkflowTypeResponse
 deprecateWorkflowTypeResponse = DeprecateWorkflowTypeResponse'
+
+instance NFData DeprecateWorkflowTypeResponse
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
@@ -115,6 +115,8 @@
 
 instance Hashable DescribeActivityType
 
+instance NFData DescribeActivityType
+
 instance ToHeaders DescribeActivityType where
         toHeaders
           = const
@@ -189,3 +191,5 @@
 -- | The configuration settings registered with the activity type.
 datrsConfiguration :: Lens' DescribeActivityTypeResponse ActivityTypeConfiguration
 datrsConfiguration = lens _datrsConfiguration (\ s a -> s{_datrsConfiguration = a});
+
+instance NFData DescribeActivityTypeResponse
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
@@ -96,6 +96,8 @@
 
 instance Hashable DescribeDomain
 
+instance NFData DescribeDomain
+
 instance ToHeaders DescribeDomain where
         toHeaders
           = const
@@ -157,3 +159,5 @@
 -- | Undocumented member.
 ddrsConfiguration :: Lens' DescribeDomainResponse DomainConfiguration
 ddrsConfiguration = lens _ddrsConfiguration (\ s a -> s{_ddrsConfiguration = a});
+
+instance NFData DescribeDomainResponse
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
@@ -117,6 +117,8 @@
 
 instance Hashable DescribeWorkflowExecution
 
+instance NFData DescribeWorkflowExecution
+
 instance ToHeaders DescribeWorkflowExecution where
         toHeaders
           = const
@@ -214,3 +216,5 @@
 -- closed tasks of all types.
 dwersOpenCounts :: Lens' DescribeWorkflowExecutionResponse WorkflowExecutionOpenCounts
 dwersOpenCounts = lens _dwersOpenCounts (\ s a -> s{_dwersOpenCounts = a});
+
+instance NFData DescribeWorkflowExecutionResponse
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
@@ -113,6 +113,8 @@
 
 instance Hashable DescribeWorkflowType
 
+instance NFData DescribeWorkflowType
+
 instance ToHeaders DescribeWorkflowType where
         toHeaders
           = const
@@ -188,3 +190,5 @@
 -- < RegisterWorkflowType>
 dwtrsConfiguration :: Lens' DescribeWorkflowTypeResponse WorkflowTypeConfiguration
 dwtrsConfiguration = lens _dwtrsConfiguration (\ s a -> s{_dwtrsConfiguration = a});
+
+instance NFData DescribeWorkflowTypeResponse
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
@@ -163,6 +163,8 @@
 
 instance Hashable GetWorkflowExecutionHistory
 
+instance NFData GetWorkflowExecutionHistory
+
 instance ToHeaders GetWorkflowExecutionHistory where
         toHeaders
           = const
@@ -236,3 +238,5 @@
 -- | The list of history events.
 gwehrsEvents :: Lens' GetWorkflowExecutionHistoryResponse [HistoryEvent]
 gwehrsEvents = lens _gwehrsEvents (\ s a -> s{_gwehrsEvents = a}) . _Coerce;
+
+instance NFData GetWorkflowExecutionHistoryResponse
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
@@ -171,6 +171,8 @@
 
 instance Hashable ListActivityTypes
 
+instance NFData ListActivityTypes
+
 instance ToHeaders ListActivityTypes where
         toHeaders
           = const
@@ -244,3 +246,5 @@
 -- | List of activity type information.
 latrsTypeInfos :: Lens' ListActivityTypesResponse [ActivityTypeInfo]
 latrsTypeInfos = lens _latrsTypeInfos (\ s a -> s{_latrsTypeInfos = a}) . _Coerce;
+
+instance NFData ListActivityTypesResponse
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
@@ -238,6 +238,8 @@
 
 instance Hashable ListClosedWorkflowExecutions
 
+instance NFData ListClosedWorkflowExecutions
+
 instance ToHeaders ListClosedWorkflowExecutions where
         toHeaders
           = 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
@@ -154,6 +154,8 @@
 
 instance Hashable ListDomains
 
+instance NFData ListDomains
+
 instance ToHeaders ListDomains where
         toHeaders
           = const
@@ -224,3 +226,5 @@
 -- | A list of DomainInfo structures.
 ldrsDomainInfos :: Lens' ListDomainsResponse [DomainInfo]
 ldrsDomainInfos = lens _ldrsDomainInfos (\ s a -> s{_ldrsDomainInfos = a}) . _Coerce;
+
+instance NFData ListDomainsResponse
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
@@ -204,6 +204,8 @@
 
 instance Hashable ListOpenWorkflowExecutions
 
+instance NFData ListOpenWorkflowExecutions
+
 instance ToHeaders ListOpenWorkflowExecutions where
         toHeaders
           = 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
@@ -168,6 +168,8 @@
 
 instance Hashable ListWorkflowTypes
 
+instance NFData ListWorkflowTypes
+
 instance ToHeaders ListWorkflowTypes where
         toHeaders
           = const
@@ -242,3 +244,5 @@
 -- | The list of workflow type information.
 lwtrsTypeInfos :: Lens' ListWorkflowTypesResponse [WorkflowTypeInfo]
 lwtrsTypeInfos = lens _lwtrsTypeInfos (\ s a -> s{_lwtrsTypeInfos = a}) . _Coerce;
+
+instance NFData ListWorkflowTypesResponse
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
@@ -65,13 +65,13 @@
     , pollForActivityTaskResponse
     , PollForActivityTaskResponse
     -- * Response Lenses
+    , pfatrsActivityType
     , pfatrsActivityId
     , pfatrsInput
     , pfatrsTaskToken
+    , pfatrsWorkflowExecution
     , pfatrsResponseStatus
     , pfatrsStartedEventId
-    , pfatrsWorkflowExecution
-    , pfatrsActivityType
     ) where
 
 import           Network.AWS.Lens
@@ -136,15 +136,17 @@
           = receiveJSON
               (\ s h x ->
                  PollForActivityTaskResponse' <$>
-                   (x .?> "activityId") <*> (x .?> "input") <*>
-                     (x .?> "taskToken")
+                   (x .?> "activityType") <*> (x .?> "activityId") <*>
+                     (x .?> "input")
+                     <*> (x .?> "taskToken")
+                     <*> (x .?> "workflowExecution")
                      <*> (pure (fromEnum s))
-                     <*> (x .:> "startedEventId")
-                     <*> (x .:> "workflowExecution")
-                     <*> (x .:> "activityType"))
+                     <*> (x .:> "startedEventId"))
 
 instance Hashable PollForActivityTask
 
+instance NFData PollForActivityTask
+
 instance ToHeaders PollForActivityTask where
         toHeaders
           = const
@@ -173,49 +175,51 @@
 --
 -- /See:/ 'pollForActivityTaskResponse' smart constructor.
 data PollForActivityTaskResponse = PollForActivityTaskResponse'
-    { _pfatrsActivityId        :: !(Maybe Text)
+    { _pfatrsActivityType      :: !(Maybe ActivityType)
+    , _pfatrsActivityId        :: !(Maybe Text)
     , _pfatrsInput             :: !(Maybe Text)
     , _pfatrsTaskToken         :: !(Maybe Text)
+    , _pfatrsWorkflowExecution :: !(Maybe WorkflowExecution)
     , _pfatrsResponseStatus    :: !Int
     , _pfatrsStartedEventId    :: !Integer
-    , _pfatrsWorkflowExecution :: !WorkflowExecution
-    , _pfatrsActivityType      :: !ActivityType
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'PollForActivityTaskResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
+-- * 'pfatrsActivityType'
+--
 -- * 'pfatrsActivityId'
 --
 -- * 'pfatrsInput'
 --
 -- * 'pfatrsTaskToken'
 --
+-- * 'pfatrsWorkflowExecution'
+--
 -- * 'pfatrsResponseStatus'
 --
 -- * 'pfatrsStartedEventId'
---
--- * 'pfatrsWorkflowExecution'
---
--- * 'pfatrsActivityType'
 pollForActivityTaskResponse
     :: Int -- ^ 'pfatrsResponseStatus'
     -> Integer -- ^ 'pfatrsStartedEventId'
-    -> WorkflowExecution -- ^ 'pfatrsWorkflowExecution'
-    -> ActivityType -- ^ 'pfatrsActivityType'
     -> PollForActivityTaskResponse
-pollForActivityTaskResponse pResponseStatus_ pStartedEventId_ pWorkflowExecution_ pActivityType_ =
+pollForActivityTaskResponse pResponseStatus_ pStartedEventId_ =
     PollForActivityTaskResponse'
-    { _pfatrsActivityId = Nothing
+    { _pfatrsActivityType = Nothing
+    , _pfatrsActivityId = Nothing
     , _pfatrsInput = Nothing
     , _pfatrsTaskToken = Nothing
+    , _pfatrsWorkflowExecution = Nothing
     , _pfatrsResponseStatus = pResponseStatus_
     , _pfatrsStartedEventId = pStartedEventId_
-    , _pfatrsWorkflowExecution = pWorkflowExecution_
-    , _pfatrsActivityType = pActivityType_
     }
 
+-- | The type of this activity task.
+pfatrsActivityType :: Lens' PollForActivityTaskResponse (Maybe ActivityType)
+pfatrsActivityType = lens _pfatrsActivityType (\ s a -> s{_pfatrsActivityType = a});
+
 -- | The unique ID of the task.
 pfatrsActivityId :: Lens' PollForActivityTaskResponse (Maybe Text)
 pfatrsActivityId = lens _pfatrsActivityId (\ s a -> s{_pfatrsActivityId = a});
@@ -232,6 +236,10 @@
 pfatrsTaskToken :: Lens' PollForActivityTaskResponse (Maybe Text)
 pfatrsTaskToken = lens _pfatrsTaskToken (\ s a -> s{_pfatrsTaskToken = a});
 
+-- | The workflow execution that started this activity task.
+pfatrsWorkflowExecution :: Lens' PollForActivityTaskResponse (Maybe WorkflowExecution)
+pfatrsWorkflowExecution = lens _pfatrsWorkflowExecution (\ s a -> s{_pfatrsWorkflowExecution = a});
+
 -- | The response status code.
 pfatrsResponseStatus :: Lens' PollForActivityTaskResponse Int
 pfatrsResponseStatus = lens _pfatrsResponseStatus (\ s a -> s{_pfatrsResponseStatus = a});
@@ -240,10 +248,4 @@
 pfatrsStartedEventId :: Lens' PollForActivityTaskResponse Integer
 pfatrsStartedEventId = lens _pfatrsStartedEventId (\ s a -> s{_pfatrsStartedEventId = a});
 
--- | The workflow execution that started this activity task.
-pfatrsWorkflowExecution :: Lens' PollForActivityTaskResponse WorkflowExecution
-pfatrsWorkflowExecution = lens _pfatrsWorkflowExecution (\ s a -> s{_pfatrsWorkflowExecution = a});
-
--- | The type of this activity task.
-pfatrsActivityType :: Lens' PollForActivityTaskResponse ActivityType
-pfatrsActivityType = lens _pfatrsActivityType (\ s a -> s{_pfatrsActivityType = a});
+instance NFData PollForActivityTaskResponse
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
@@ -82,13 +82,13 @@
     , PollForDecisionTaskResponse
     -- * Response Lenses
     , pfdtrsNextPageToken
+    , pfdtrsWorkflowType
     , pfdtrsPreviousStartedEventId
+    , pfdtrsEvents
     , pfdtrsTaskToken
+    , pfdtrsWorkflowExecution
     , pfdtrsResponseStatus
     , pfdtrsStartedEventId
-    , pfdtrsWorkflowExecution
-    , pfdtrsWorkflowType
-    , pfdtrsEvents
     ) where
 
 import           Network.AWS.Lens
@@ -208,17 +208,18 @@
           = receiveJSON
               (\ s h x ->
                  PollForDecisionTaskResponse' <$>
-                   (x .?> "nextPageToken") <*>
-                     (x .?> "previousStartedEventId")
+                   (x .?> "nextPageToken") <*> (x .?> "workflowType")
+                     <*> (x .?> "previousStartedEventId")
+                     <*> (x .?> "events" .!@ mempty)
                      <*> (x .?> "taskToken")
+                     <*> (x .?> "workflowExecution")
                      <*> (pure (fromEnum s))
-                     <*> (x .:> "startedEventId")
-                     <*> (x .:> "workflowExecution")
-                     <*> (x .:> "workflowType")
-                     <*> (x .?> "events" .!@ mempty))
+                     <*> (x .:> "startedEventId"))
 
 instance Hashable PollForDecisionTask
 
+instance NFData PollForDecisionTask
+
 instance ToHeaders PollForDecisionTask where
         toHeaders
           = const
@@ -252,13 +253,13 @@
 -- /See:/ 'pollForDecisionTaskResponse' smart constructor.
 data PollForDecisionTaskResponse = PollForDecisionTaskResponse'
     { _pfdtrsNextPageToken          :: !(Maybe Text)
+    , _pfdtrsWorkflowType           :: !(Maybe WorkflowType)
     , _pfdtrsPreviousStartedEventId :: !(Maybe Integer)
+    , _pfdtrsEvents                 :: !(Maybe [HistoryEvent])
     , _pfdtrsTaskToken              :: !(Maybe Text)
+    , _pfdtrsWorkflowExecution      :: !(Maybe WorkflowExecution)
     , _pfdtrsResponseStatus         :: !Int
     , _pfdtrsStartedEventId         :: !Integer
-    , _pfdtrsWorkflowExecution      :: !WorkflowExecution
-    , _pfdtrsWorkflowType           :: !WorkflowType
-    , _pfdtrsEvents                 :: ![HistoryEvent]
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'PollForDecisionTaskResponse' with the minimum fields required to make a request.
@@ -267,35 +268,33 @@
 --
 -- * 'pfdtrsNextPageToken'
 --
--- * 'pfdtrsPreviousStartedEventId'
+-- * 'pfdtrsWorkflowType'
 --
--- * 'pfdtrsTaskToken'
+-- * 'pfdtrsPreviousStartedEventId'
 --
--- * 'pfdtrsResponseStatus'
+-- * 'pfdtrsEvents'
 --
--- * 'pfdtrsStartedEventId'
+-- * 'pfdtrsTaskToken'
 --
 -- * 'pfdtrsWorkflowExecution'
 --
--- * 'pfdtrsWorkflowType'
+-- * 'pfdtrsResponseStatus'
 --
--- * 'pfdtrsEvents'
+-- * 'pfdtrsStartedEventId'
 pollForDecisionTaskResponse
     :: Int -- ^ 'pfdtrsResponseStatus'
     -> Integer -- ^ 'pfdtrsStartedEventId'
-    -> WorkflowExecution -- ^ 'pfdtrsWorkflowExecution'
-    -> WorkflowType -- ^ 'pfdtrsWorkflowType'
     -> PollForDecisionTaskResponse
-pollForDecisionTaskResponse pResponseStatus_ pStartedEventId_ pWorkflowExecution_ pWorkflowType_ =
+pollForDecisionTaskResponse pResponseStatus_ pStartedEventId_ =
     PollForDecisionTaskResponse'
     { _pfdtrsNextPageToken = Nothing
+    , _pfdtrsWorkflowType = Nothing
     , _pfdtrsPreviousStartedEventId = Nothing
+    , _pfdtrsEvents = Nothing
     , _pfdtrsTaskToken = Nothing
+    , _pfdtrsWorkflowExecution = Nothing
     , _pfdtrsResponseStatus = pResponseStatus_
     , _pfdtrsStartedEventId = pStartedEventId_
-    , _pfdtrsWorkflowExecution = pWorkflowExecution_
-    , _pfdtrsWorkflowType = pWorkflowType_
-    , _pfdtrsEvents = mempty
     }
 
 -- | If a 'NextPageToken' was returned by a previous call, there are more
@@ -308,6 +307,11 @@
 pfdtrsNextPageToken :: Lens' PollForDecisionTaskResponse (Maybe Text)
 pfdtrsNextPageToken = lens _pfdtrsNextPageToken (\ s a -> s{_pfdtrsNextPageToken = a});
 
+-- | The type of the workflow execution for which this decision task was
+-- created.
+pfdtrsWorkflowType :: Lens' PollForDecisionTaskResponse (Maybe WorkflowType)
+pfdtrsWorkflowType = lens _pfdtrsWorkflowType (\ s a -> s{_pfdtrsWorkflowType = a});
+
 -- | The ID of the DecisionTaskStarted event of the previous decision task of
 -- this workflow execution that was processed by the decider. This can be
 -- used to determine the events in the history new since the last decision
@@ -315,12 +319,21 @@
 pfdtrsPreviousStartedEventId :: Lens' PollForDecisionTaskResponse (Maybe Integer)
 pfdtrsPreviousStartedEventId = lens _pfdtrsPreviousStartedEventId (\ s a -> s{_pfdtrsPreviousStartedEventId = a});
 
+-- | A paginated list of history events of the workflow execution. The
+-- decider uses this during the processing of the decision task.
+pfdtrsEvents :: Lens' PollForDecisionTaskResponse [HistoryEvent]
+pfdtrsEvents = lens _pfdtrsEvents (\ s a -> s{_pfdtrsEvents = a}) . _Default . _Coerce;
+
 -- | The opaque string used as a handle on the task. This token is used by
 -- workers to communicate progress and response information back to the
 -- system about the task.
 pfdtrsTaskToken :: Lens' PollForDecisionTaskResponse (Maybe Text)
 pfdtrsTaskToken = lens _pfdtrsTaskToken (\ s a -> s{_pfdtrsTaskToken = a});
 
+-- | The workflow execution for which this decision task was created.
+pfdtrsWorkflowExecution :: Lens' PollForDecisionTaskResponse (Maybe WorkflowExecution)
+pfdtrsWorkflowExecution = lens _pfdtrsWorkflowExecution (\ s a -> s{_pfdtrsWorkflowExecution = a});
+
 -- | The response status code.
 pfdtrsResponseStatus :: Lens' PollForDecisionTaskResponse Int
 pfdtrsResponseStatus = lens _pfdtrsResponseStatus (\ s a -> s{_pfdtrsResponseStatus = a});
@@ -329,16 +342,4 @@
 pfdtrsStartedEventId :: Lens' PollForDecisionTaskResponse Integer
 pfdtrsStartedEventId = lens _pfdtrsStartedEventId (\ s a -> s{_pfdtrsStartedEventId = a});
 
--- | The workflow execution for which this decision task was created.
-pfdtrsWorkflowExecution :: Lens' PollForDecisionTaskResponse WorkflowExecution
-pfdtrsWorkflowExecution = lens _pfdtrsWorkflowExecution (\ s a -> s{_pfdtrsWorkflowExecution = a});
-
--- | The type of the workflow execution for which this decision task was
--- created.
-pfdtrsWorkflowType :: Lens' PollForDecisionTaskResponse WorkflowType
-pfdtrsWorkflowType = lens _pfdtrsWorkflowType (\ s a -> s{_pfdtrsWorkflowType = a});
-
--- | A paginated list of history events of the workflow execution. The
--- decider uses this during the processing of the decision task.
-pfdtrsEvents :: Lens' PollForDecisionTaskResponse [HistoryEvent]
-pfdtrsEvents = lens _pfdtrsEvents (\ s a -> s{_pfdtrsEvents = a}) . _Coerce;
+instance NFData PollForDecisionTaskResponse
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
@@ -137,6 +137,8 @@
 
 instance Hashable RecordActivityTaskHeartbeat
 
+instance NFData RecordActivityTaskHeartbeat
+
 instance ToHeaders RecordActivityTaskHeartbeat where
         toHeaders
           = const
@@ -192,3 +194,5 @@
 -- | Set to 'true' if cancellation of the task is requested.
 rathrsCancelRequested :: Lens' RecordActivityTaskHeartbeatResponse Bool
 rathrsCancelRequested = lens _rathrsCancelRequested (\ s a -> s{_rathrsCancelRequested = a});
+
+instance NFData RecordActivityTaskHeartbeatResponse
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
@@ -230,6 +230,8 @@
 
 instance Hashable RegisterActivityType
 
+instance NFData RegisterActivityType
+
 instance ToHeaders RegisterActivityType where
         toHeaders
           = const
@@ -276,3 +278,5 @@
 registerActivityTypeResponse
     :: RegisterActivityTypeResponse
 registerActivityTypeResponse = RegisterActivityTypeResponse'
+
+instance NFData RegisterActivityTypeResponse
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
@@ -124,6 +124,8 @@
 
 instance Hashable RegisterDomain
 
+instance NFData RegisterDomain
+
 instance ToHeaders RegisterDomain where
         toHeaders
           = const
@@ -160,3 +162,5 @@
 registerDomainResponse
     :: RegisterDomainResponse
 registerDomainResponse = RegisterDomainResponse'
+
+instance NFData RegisterDomainResponse
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
@@ -245,6 +245,8 @@
 
 instance Hashable RegisterWorkflowType
 
+instance NFData RegisterWorkflowType
+
 instance ToHeaders RegisterWorkflowType where
         toHeaders
           = const
@@ -289,3 +291,5 @@
 registerWorkflowTypeResponse
     :: RegisterWorkflowTypeResponse
 registerWorkflowTypeResponse = RegisterWorkflowTypeResponse'
+
+instance NFData RegisterWorkflowTypeResponse
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
@@ -120,6 +120,8 @@
 
 instance Hashable RequestCancelWorkflowExecution
 
+instance NFData RequestCancelWorkflowExecution
+
 instance ToHeaders RequestCancelWorkflowExecution
          where
         toHeaders
@@ -156,3 +158,6 @@
     :: RequestCancelWorkflowExecutionResponse
 requestCancelWorkflowExecutionResponse =
     RequestCancelWorkflowExecutionResponse'
+
+instance NFData
+         RequestCancelWorkflowExecutionResponse
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
@@ -118,6 +118,8 @@
 
 instance Hashable RespondActivityTaskCanceled
 
+instance NFData RespondActivityTaskCanceled
+
 instance ToHeaders RespondActivityTaskCanceled where
         toHeaders
           = const
@@ -151,3 +153,5 @@
 respondActivityTaskCanceledResponse
     :: RespondActivityTaskCanceledResponse
 respondActivityTaskCanceledResponse = RespondActivityTaskCanceledResponse'
+
+instance NFData RespondActivityTaskCanceledResponse
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
@@ -120,6 +120,8 @@
 
 instance Hashable RespondActivityTaskCompleted
 
+instance NFData RespondActivityTaskCompleted
+
 instance ToHeaders RespondActivityTaskCompleted where
         toHeaders
           = const
@@ -153,3 +155,5 @@
 respondActivityTaskCompletedResponse
     :: RespondActivityTaskCompletedResponse
 respondActivityTaskCompletedResponse = RespondActivityTaskCompletedResponse'
+
+instance NFData RespondActivityTaskCompletedResponse
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
@@ -121,6 +121,8 @@
 
 instance Hashable RespondActivityTaskFailed
 
+instance NFData RespondActivityTaskFailed
+
 instance ToHeaders RespondActivityTaskFailed where
         toHeaders
           = const
@@ -155,3 +157,5 @@
 respondActivityTaskFailedResponse
     :: RespondActivityTaskFailedResponse
 respondActivityTaskFailedResponse = RespondActivityTaskFailedResponse'
+
+instance NFData RespondActivityTaskFailedResponse
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
@@ -113,6 +113,8 @@
 
 instance Hashable RespondDecisionTaskCompleted
 
+instance NFData RespondDecisionTaskCompleted
+
 instance ToHeaders RespondDecisionTaskCompleted where
         toHeaders
           = const
@@ -147,3 +149,5 @@
 respondDecisionTaskCompletedResponse
     :: RespondDecisionTaskCompletedResponse
 respondDecisionTaskCompletedResponse = RespondDecisionTaskCompletedResponse'
+
+instance NFData RespondDecisionTaskCompletedResponse
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
@@ -139,6 +139,8 @@
 
 instance Hashable SignalWorkflowExecution
 
+instance NFData SignalWorkflowExecution
+
 instance ToHeaders SignalWorkflowExecution where
         toHeaders
           = const
@@ -175,3 +177,5 @@
 signalWorkflowExecutionResponse
     :: SignalWorkflowExecutionResponse
 signalWorkflowExecutionResponse = SignalWorkflowExecutionResponse'
+
+instance NFData SignalWorkflowExecutionResponse
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
@@ -285,6 +285,8 @@
 
 instance Hashable StartWorkflowExecution
 
+instance NFData StartWorkflowExecution
+
 instance ToHeaders StartWorkflowExecution where
         toHeaders
           = const
@@ -352,3 +354,5 @@
 -- | The response status code.
 swersResponseStatus :: Lens' StartWorkflowExecutionResponse Int
 swersResponseStatus = lens _swersResponseStatus (\ s a -> s{_swersResponseStatus = a});
+
+instance NFData StartWorkflowExecutionResponse
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
@@ -167,6 +167,8 @@
 
 instance Hashable TerminateWorkflowExecution
 
+instance NFData TerminateWorkflowExecution
+
 instance ToHeaders TerminateWorkflowExecution where
         toHeaders
           = const
@@ -204,3 +206,5 @@
 terminateWorkflowExecutionResponse
     :: TerminateWorkflowExecutionResponse
 terminateWorkflowExecutionResponse = TerminateWorkflowExecutionResponse'
+
+instance NFData TerminateWorkflowExecutionResponse
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
@@ -903,6 +903,8 @@
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 504) e = Just "gateway_timeout"
+      | has (hasStatus 502) e = Just "bad_gateway"
       | has (hasStatus 503) e = Just "service_unavailable"
       | has (hasStatus 500) e = Just "general_server_error"
       | has (hasStatus 509) e = Just "limit_exceeded"
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
@@ -71,6 +71,9 @@
 instance Hashable
          ActivityTaskCancelRequestedEventAttributes
 
+instance NFData
+         ActivityTaskCancelRequestedEventAttributes
+
 -- | Provides details of the 'ActivityTaskCanceled' event.
 --
 -- /See:/ 'activityTaskCanceledEventAttributes' smart constructor.
@@ -141,6 +144,8 @@
 
 instance Hashable ActivityTaskCanceledEventAttributes
 
+instance NFData ActivityTaskCanceledEventAttributes
+
 -- | Provides details of the 'ActivityTaskCompleted' event.
 --
 -- /See:/ 'activityTaskCompletedEventAttributes' smart constructor.
@@ -199,6 +204,8 @@
 instance Hashable
          ActivityTaskCompletedEventAttributes
 
+instance NFData ActivityTaskCompletedEventAttributes
+
 -- | Provides details of the 'ActivityTaskFailed' event.
 --
 -- /See:/ 'activityTaskFailedEventAttributes' smart constructor.
@@ -265,6 +272,8 @@
 
 instance Hashable ActivityTaskFailedEventAttributes
 
+instance NFData ActivityTaskFailedEventAttributes
+
 -- | Provides details of the 'ActivityTaskScheduled' event.
 --
 -- /See:/ 'activityTaskScheduledEventAttributes' smart constructor.
@@ -412,6 +421,8 @@
 instance Hashable
          ActivityTaskScheduledEventAttributes
 
+instance NFData ActivityTaskScheduledEventAttributes
+
 -- | Provides details of the 'ActivityTaskStarted' event.
 --
 -- /See:/ 'activityTaskStartedEventAttributes' smart constructor.
@@ -459,6 +470,8 @@
 
 instance Hashable ActivityTaskStartedEventAttributes
 
+instance NFData ActivityTaskStartedEventAttributes
+
 -- | Provides details of the 'ActivityTaskTimedOut' event.
 --
 -- /See:/ 'activityTaskTimedOutEventAttributes' smart constructor.
@@ -527,6 +540,8 @@
 
 instance Hashable ActivityTaskTimedOutEventAttributes
 
+instance NFData ActivityTaskTimedOutEventAttributes
+
 -- | Represents an activity type.
 --
 -- /See:/ 'activityType' smart constructor.
@@ -574,6 +589,8 @@
 
 instance Hashable ActivityType
 
+instance NFData ActivityType
+
 instance ToJSON ActivityType where
         toJSON ActivityType'{..}
           = object
@@ -704,6 +721,8 @@
 
 instance Hashable ActivityTypeConfiguration
 
+instance NFData ActivityTypeConfiguration
+
 -- | Detailed information about an activity type.
 --
 -- /See:/ 'activityTypeInfo' smart constructor.
@@ -776,6 +795,8 @@
 
 instance Hashable ActivityTypeInfo
 
+instance NFData ActivityTypeInfo
+
 -- | Provides details of the 'CancelTimer' decision.
 --
 -- __Access Control__
@@ -820,6 +841,8 @@
 
 instance Hashable CancelTimerDecisionAttributes
 
+instance NFData CancelTimerDecisionAttributes
+
 instance ToJSON CancelTimerDecisionAttributes where
         toJSON CancelTimerDecisionAttributes'{..}
           = object
@@ -887,6 +910,8 @@
 
 instance Hashable CancelTimerFailedEventAttributes
 
+instance NFData CancelTimerFailedEventAttributes
+
 -- | Provides details of the 'CancelWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -931,6 +956,9 @@
 instance Hashable
          CancelWorkflowExecutionDecisionAttributes
 
+instance NFData
+         CancelWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          CancelWorkflowExecutionDecisionAttributes where
         toJSON CancelWorkflowExecutionDecisionAttributes'{..}
@@ -993,6 +1021,9 @@
 instance Hashable
          CancelWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         CancelWorkflowExecutionFailedEventAttributes
+
 -- | Provide details of the 'ChildWorkflowExecutionCanceled' event.
 --
 -- /See:/ 'childWorkflowExecutionCanceledEventAttributes' smart constructor.
@@ -1073,6 +1104,9 @@
 instance Hashable
          ChildWorkflowExecutionCanceledEventAttributes
 
+instance NFData
+         ChildWorkflowExecutionCanceledEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionCompleted' event.
 --
 -- /See:/ 'childWorkflowExecutionCompletedEventAttributes' smart constructor.
@@ -1153,6 +1187,9 @@
 instance Hashable
          ChildWorkflowExecutionCompletedEventAttributes
 
+instance NFData
+         ChildWorkflowExecutionCompletedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionFailed' event.
 --
 -- /See:/ 'childWorkflowExecutionFailedEventAttributes' smart constructor.
@@ -1242,6 +1279,9 @@
 instance Hashable
          ChildWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         ChildWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionStarted' event.
 --
 -- /See:/ 'childWorkflowExecutionStartedEventAttributes' smart constructor.
@@ -1300,6 +1340,9 @@
 instance Hashable
          ChildWorkflowExecutionStartedEventAttributes
 
+instance NFData
+         ChildWorkflowExecutionStartedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionTerminated' event.
 --
 -- /See:/ 'childWorkflowExecutionTerminatedEventAttributes' smart constructor.
@@ -1371,6 +1414,9 @@
 instance Hashable
          ChildWorkflowExecutionTerminatedEventAttributes
 
+instance NFData
+         ChildWorkflowExecutionTerminatedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionTimedOut' event.
 --
 -- /See:/ 'childWorkflowExecutionTimedOutEventAttributes' smart constructor.
@@ -1453,6 +1499,9 @@
 instance Hashable
          ChildWorkflowExecutionTimedOutEventAttributes
 
+instance NFData
+         ChildWorkflowExecutionTimedOutEventAttributes
+
 -- | Used to filter the closed workflow executions in visibility APIs by
 -- their close status.
 --
@@ -1481,6 +1530,8 @@
 
 instance Hashable CloseStatusFilter
 
+instance NFData CloseStatusFilter
+
 instance ToJSON CloseStatusFilter where
         toJSON CloseStatusFilter'{..}
           = object (catMaybes [Just ("status" .= _csfStatus)])
@@ -1530,6 +1581,9 @@
 instance Hashable
          CompleteWorkflowExecutionDecisionAttributes
 
+instance NFData
+         CompleteWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          CompleteWorkflowExecutionDecisionAttributes where
         toJSON
@@ -1592,6 +1646,9 @@
 instance Hashable
          CompleteWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         CompleteWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'ContinueAsNewWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -1765,6 +1822,9 @@
 instance Hashable
          ContinueAsNewWorkflowExecutionDecisionAttributes
 
+instance NFData
+         ContinueAsNewWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          ContinueAsNewWorkflowExecutionDecisionAttributes
          where
@@ -1843,6 +1903,9 @@
 instance Hashable
          ContinueAsNewWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         ContinueAsNewWorkflowExecutionFailedEventAttributes
+
 -- | Specifies a decision made by the decider. A decision can be one of these
 -- types:
 --
@@ -2131,6 +2194,8 @@
 
 instance Hashable Decision
 
+instance NFData Decision
+
 instance ToJSON Decision where
         toJSON Decision'{..}
           = object
@@ -2228,6 +2293,8 @@
 instance Hashable
          DecisionTaskCompletedEventAttributes
 
+instance NFData DecisionTaskCompletedEventAttributes
+
 -- | Provides details about the 'DecisionTaskScheduled' event.
 --
 -- /See:/ 'decisionTaskScheduledEventAttributes' smart constructor.
@@ -2292,6 +2359,8 @@
 instance Hashable
          DecisionTaskScheduledEventAttributes
 
+instance NFData DecisionTaskScheduledEventAttributes
+
 -- | Provides details of the 'DecisionTaskStarted' event.
 --
 -- /See:/ 'decisionTaskStartedEventAttributes' smart constructor.
@@ -2338,6 +2407,8 @@
 
 instance Hashable DecisionTaskStartedEventAttributes
 
+instance NFData DecisionTaskStartedEventAttributes
+
 -- | Provides details of the 'DecisionTaskTimedOut' event.
 --
 -- /See:/ 'decisionTaskTimedOutEventAttributes' smart constructor.
@@ -2397,6 +2468,8 @@
 
 instance Hashable DecisionTaskTimedOutEventAttributes
 
+instance NFData DecisionTaskTimedOutEventAttributes
+
 -- | Contains the configuration settings of a domain.
 --
 -- /See:/ 'domainConfiguration' smart constructor.
@@ -2430,6 +2503,8 @@
 
 instance Hashable DomainConfiguration
 
+instance NFData DomainConfiguration
+
 -- | Contains general information about a domain.
 --
 -- /See:/ 'domainInfo' smart constructor.
@@ -2488,6 +2563,8 @@
 
 instance Hashable DomainInfo
 
+instance NFData DomainInfo
+
 -- | Used to filter the workflow executions in visibility APIs by various
 -- time-based rules. Each parameter, if specified, defines a rule that must
 -- be satisfied by each returned query result. The parameter values are in
@@ -2526,6 +2603,8 @@
 
 instance Hashable ExecutionTimeFilter
 
+instance NFData ExecutionTimeFilter
+
 instance ToJSON ExecutionTimeFilter where
         toJSON ExecutionTimeFilter'{..}
           = object
@@ -2587,6 +2666,9 @@
 instance Hashable
          ExternalWorkflowExecutionCancelRequestedEventAttributes
 
+instance NFData
+         ExternalWorkflowExecutionCancelRequestedEventAttributes
+
 -- | Provides details of the 'ExternalWorkflowExecutionSignaled' event.
 --
 -- /See:/ 'externalWorkflowExecutionSignaledEventAttributes' smart constructor.
@@ -2637,6 +2719,9 @@
 instance Hashable
          ExternalWorkflowExecutionSignaledEventAttributes
 
+instance NFData
+         ExternalWorkflowExecutionSignaledEventAttributes
+
 -- | Provides details of the 'FailWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -2689,6 +2774,9 @@
 instance Hashable
          FailWorkflowExecutionDecisionAttributes
 
+instance NFData
+         FailWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          FailWorkflowExecutionDecisionAttributes where
         toJSON FailWorkflowExecutionDecisionAttributes'{..}
@@ -2752,6 +2840,9 @@
 instance Hashable
          FailWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         FailWorkflowExecutionFailedEventAttributes
+
 -- | Event within a workflow execution. A history event can be one of these
 -- types:
 --
@@ -3547,6 +3638,8 @@
 
 instance Hashable HistoryEvent
 
+instance NFData HistoryEvent
+
 -- | Provides details for the 'LambdaFunctionCompleted' event.
 --
 -- /See:/ 'lambdaFunctionCompletedEventAttributes' smart constructor.
@@ -3603,6 +3696,9 @@
 instance Hashable
          LambdaFunctionCompletedEventAttributes
 
+instance NFData
+         LambdaFunctionCompletedEventAttributes
+
 -- | Provides details for the 'LambdaFunctionFailed' event.
 --
 -- /See:/ 'lambdaFunctionFailedEventAttributes' smart constructor.
@@ -3667,6 +3763,8 @@
 
 instance Hashable LambdaFunctionFailedEventAttributes
 
+instance NFData LambdaFunctionFailedEventAttributes
+
 -- | Provides details for the 'LambdaFunctionScheduled' event.
 --
 -- /See:/ 'lambdaFunctionScheduledEventAttributes' smart constructor.
@@ -3743,6 +3841,9 @@
 instance Hashable
          LambdaFunctionScheduledEventAttributes
 
+instance NFData
+         LambdaFunctionScheduledEventAttributes
+
 -- | Provides details for the 'LambdaFunctionStarted' event.
 --
 -- /See:/ 'lambdaFunctionStartedEventAttributes' smart constructor.
@@ -3781,6 +3882,8 @@
 instance Hashable
          LambdaFunctionStartedEventAttributes
 
+instance NFData LambdaFunctionStartedEventAttributes
+
 -- | Provides details for the 'LambdaFunctionTimedOut' event.
 --
 -- /See:/ 'lambdaFunctionTimedOutEventAttributes' smart constructor.
@@ -3837,6 +3940,8 @@
 instance Hashable
          LambdaFunctionTimedOutEventAttributes
 
+instance NFData LambdaFunctionTimedOutEventAttributes
+
 -- | Provides details of the 'MarkerRecorded' event.
 --
 -- /See:/ 'markerRecordedEventAttributes' smart constructor.
@@ -3891,6 +3996,8 @@
 
 instance Hashable MarkerRecordedEventAttributes
 
+instance NFData MarkerRecordedEventAttributes
+
 -- | Contains the count of tasks in a task list.
 --
 -- /See:/ 'pendingTaskCount' smart constructor.
@@ -3934,6 +4041,8 @@
 
 instance Hashable PendingTaskCount
 
+instance NFData PendingTaskCount
+
 -- | Provides details of the 'RecordMarker' decision.
 --
 -- __Access Control__
@@ -3986,6 +4095,8 @@
 
 instance Hashable RecordMarkerDecisionAttributes
 
+instance NFData RecordMarkerDecisionAttributes
+
 instance ToJSON RecordMarkerDecisionAttributes where
         toJSON RecordMarkerDecisionAttributes'{..}
           = object
@@ -4055,6 +4166,8 @@
 
 instance Hashable RecordMarkerFailedEventAttributes
 
+instance NFData RecordMarkerFailedEventAttributes
+
 -- | Provides details of the 'RequestCancelActivityTask' decision.
 --
 -- __Access Control__
@@ -4100,6 +4213,9 @@
 instance Hashable
          RequestCancelActivityTaskDecisionAttributes
 
+instance NFData
+         RequestCancelActivityTaskDecisionAttributes
+
 instance ToJSON
          RequestCancelActivityTaskDecisionAttributes where
         toJSON
@@ -4174,6 +4290,9 @@
 instance Hashable
          RequestCancelActivityTaskFailedEventAttributes
 
+instance NFData
+         RequestCancelActivityTaskFailedEventAttributes
+
 -- | Provides details of the 'RequestCancelExternalWorkflowExecution'
 -- decision.
 --
@@ -4238,6 +4357,9 @@
 instance Hashable
          RequestCancelExternalWorkflowExecutionDecisionAttributes
 
+instance NFData
+         RequestCancelExternalWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          RequestCancelExternalWorkflowExecutionDecisionAttributes
          where
@@ -4350,6 +4472,9 @@
 instance Hashable
          RequestCancelExternalWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         RequestCancelExternalWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the
 -- 'RequestCancelExternalWorkflowExecutionInitiated' event.
 --
@@ -4421,6 +4546,9 @@
 instance Hashable
          RequestCancelExternalWorkflowExecutionInitiatedEventAttributes
 
+instance NFData
+         RequestCancelExternalWorkflowExecutionInitiatedEventAttributes
+
 -- | Provides details of the 'ScheduleActivityTask' decision.
 --
 -- __Access Control__
@@ -4611,6 +4739,9 @@
 instance Hashable
          ScheduleActivityTaskDecisionAttributes
 
+instance NFData
+         ScheduleActivityTaskDecisionAttributes
+
 instance ToJSON
          ScheduleActivityTaskDecisionAttributes where
         toJSON ScheduleActivityTaskDecisionAttributes'{..}
@@ -4706,6 +4837,9 @@
 instance Hashable
          ScheduleActivityTaskFailedEventAttributes
 
+instance NFData
+         ScheduleActivityTaskFailedEventAttributes
+
 -- | Provides details of the 'ScheduleLambdaFunction' decision.
 --
 -- __Access Control__
@@ -4787,6 +4921,9 @@
 instance Hashable
          ScheduleLambdaFunctionDecisionAttributes
 
+instance NFData
+         ScheduleLambdaFunctionDecisionAttributes
+
 instance ToJSON
          ScheduleLambdaFunctionDecisionAttributes where
         toJSON ScheduleLambdaFunctionDecisionAttributes'{..}
@@ -4871,6 +5008,9 @@
 instance Hashable
          ScheduleLambdaFunctionFailedEventAttributes
 
+instance NFData
+         ScheduleLambdaFunctionFailedEventAttributes
+
 -- | Provides details of the 'SignalExternalWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -4953,6 +5093,9 @@
 instance Hashable
          SignalExternalWorkflowExecutionDecisionAttributes
 
+instance NFData
+         SignalExternalWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          SignalExternalWorkflowExecutionDecisionAttributes
          where
@@ -5065,6 +5208,9 @@
 instance Hashable
          SignalExternalWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         SignalExternalWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'SignalExternalWorkflowExecutionInitiated'
 -- event.
 --
@@ -5154,6 +5300,9 @@
 instance Hashable
          SignalExternalWorkflowExecutionInitiatedEventAttributes
 
+instance NFData
+         SignalExternalWorkflowExecutionInitiatedEventAttributes
+
 -- | Provides details of the 'StartChildWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -5366,6 +5515,9 @@
 instance Hashable
          StartChildWorkflowExecutionDecisionAttributes
 
+instance NFData
+         StartChildWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          StartChildWorkflowExecutionDecisionAttributes where
         toJSON
@@ -5484,6 +5636,9 @@
 instance Hashable
          StartChildWorkflowExecutionFailedEventAttributes
 
+instance NFData
+         StartChildWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'StartChildWorkflowExecutionInitiated' event.
 --
 -- /See:/ 'startChildWorkflowExecutionInitiatedEventAttributes' smart constructor.
@@ -5658,6 +5813,9 @@
 instance Hashable
          StartChildWorkflowExecutionInitiatedEventAttributes
 
+instance NFData
+         StartChildWorkflowExecutionInitiatedEventAttributes
+
 -- | Provides details for the 'StartLambdaFunctionFailed' event.
 --
 -- /See:/ 'startLambdaFunctionFailedEventAttributes' smart constructor.
@@ -5719,6 +5877,9 @@
 instance Hashable
          StartLambdaFunctionFailedEventAttributes
 
+instance NFData
+         StartLambdaFunctionFailedEventAttributes
+
 -- | Provides details of the 'StartTimer' decision.
 --
 -- __Access Control__
@@ -5789,6 +5950,8 @@
 
 instance Hashable StartTimerDecisionAttributes
 
+instance NFData StartTimerDecisionAttributes
+
 instance ToJSON StartTimerDecisionAttributes where
         toJSON StartTimerDecisionAttributes'{..}
           = object
@@ -5860,6 +6023,8 @@
 
 instance Hashable StartTimerFailedEventAttributes
 
+instance NFData StartTimerFailedEventAttributes
+
 -- | Used to filter the workflow executions in visibility APIs based on a
 -- tag.
 --
@@ -5888,6 +6053,8 @@
 
 instance Hashable TagFilter
 
+instance NFData TagFilter
+
 instance ToJSON TagFilter where
         toJSON TagFilter'{..}
           = object (catMaybes [Just ("tag" .= _tfTag)])
@@ -5923,6 +6090,8 @@
 
 instance Hashable TaskList
 
+instance NFData TaskList
+
 instance ToJSON TaskList where
         toJSON TaskList'{..}
           = object (catMaybes [Just ("name" .= _tlName)])
@@ -5984,6 +6153,8 @@
 
 instance Hashable TimerCanceledEventAttributes
 
+instance NFData TimerCanceledEventAttributes
+
 -- | Provides details of the 'TimerFired' event.
 --
 -- /See:/ 'timerFiredEventAttributes' smart constructor.
@@ -6028,6 +6199,8 @@
 
 instance Hashable TimerFiredEventAttributes
 
+instance NFData TimerFiredEventAttributes
+
 -- | Provides details of the 'TimerStarted' event.
 --
 -- /See:/ 'timerStartedEventAttributes' smart constructor.
@@ -6096,6 +6269,8 @@
 
 instance Hashable TimerStartedEventAttributes
 
+instance NFData TimerStartedEventAttributes
+
 -- | Represents a workflow execution.
 --
 -- /See:/ 'workflowExecution' smart constructor.
@@ -6138,6 +6313,8 @@
 
 instance Hashable WorkflowExecution
 
+instance NFData WorkflowExecution
+
 instance ToJSON WorkflowExecution where
         toJSON WorkflowExecution'{..}
           = object
@@ -6207,6 +6384,9 @@
 instance Hashable
          WorkflowExecutionCancelRequestedEventAttributes
 
+instance NFData
+         WorkflowExecutionCancelRequestedEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionCanceled' event.
 --
 -- /See:/ 'workflowExecutionCanceledEventAttributes' smart constructor.
@@ -6256,6 +6436,9 @@
 instance Hashable
          WorkflowExecutionCanceledEventAttributes
 
+instance NFData
+         WorkflowExecutionCanceledEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionCompleted' event.
 --
 -- /See:/ 'workflowExecutionCompletedEventAttributes' smart constructor.
@@ -6306,6 +6489,9 @@
 instance Hashable
          WorkflowExecutionCompletedEventAttributes
 
+instance NFData
+         WorkflowExecutionCompletedEventAttributes
+
 -- | The configuration settings for a workflow execution including timeout
 -- values, tasklist etc. These configuration settings are determined from
 -- the defaults specified when registering the workflow type and those
@@ -6418,6 +6604,8 @@
 
 instance Hashable WorkflowExecutionConfiguration
 
+instance NFData WorkflowExecutionConfiguration
+
 -- | Provides details of the 'WorkflowExecutionContinuedAsNew' event.
 --
 -- /See:/ 'workflowExecutionContinuedAsNewEventAttributes' smart constructor.
@@ -6571,6 +6759,9 @@
 instance Hashable
          WorkflowExecutionContinuedAsNewEventAttributes
 
+instance NFData
+         WorkflowExecutionContinuedAsNewEventAttributes
+
 -- | Contains the count of workflow executions returned from
 -- < CountOpenWorkflowExecutions> or < CountClosedWorkflowExecutions>
 --
@@ -6615,6 +6806,8 @@
 
 instance Hashable WorkflowExecutionCount
 
+instance NFData WorkflowExecutionCount
+
 -- | Provides details of the 'WorkflowExecutionFailed' event.
 --
 -- /See:/ 'workflowExecutionFailedEventAttributes' smart constructor.
@@ -6670,6 +6863,9 @@
 instance Hashable
          WorkflowExecutionFailedEventAttributes
 
+instance NFData
+         WorkflowExecutionFailedEventAttributes
+
 -- | Used to filter the workflow executions in visibility APIs by their
 -- 'workflowId'.
 --
@@ -6697,6 +6893,8 @@
 
 instance Hashable WorkflowExecutionFilter
 
+instance NFData WorkflowExecutionFilter
+
 instance ToJSON WorkflowExecutionFilter where
         toJSON WorkflowExecutionFilter'{..}
           = object
@@ -6826,6 +7024,8 @@
 
 instance Hashable WorkflowExecutionInfo
 
+instance NFData WorkflowExecutionInfo
+
 -- | Contains a paginated list of information about workflow executions.
 --
 -- /See:/ 'workflowExecutionInfos' smart constructor.
@@ -6873,6 +7073,8 @@
 
 instance Hashable WorkflowExecutionInfos
 
+instance NFData WorkflowExecutionInfos
+
 -- | Contains the counts of open tasks, child workflow executions and timers
 -- for a workflow execution.
 --
@@ -6948,6 +7150,8 @@
 
 instance Hashable WorkflowExecutionOpenCounts
 
+instance NFData WorkflowExecutionOpenCounts
+
 -- | Provides details of the 'WorkflowExecutionSignaled' event.
 --
 -- /See:/ 'workflowExecutionSignaledEventAttributes' smart constructor.
@@ -7020,6 +7224,9 @@
 instance Hashable
          WorkflowExecutionSignaledEventAttributes
 
+instance NFData
+         WorkflowExecutionSignaledEventAttributes
+
 -- | Provides details of 'WorkflowExecutionStarted' event.
 --
 -- /See:/ 'workflowExecutionStartedEventAttributes' smart constructor.
@@ -7188,6 +7395,9 @@
 instance Hashable
          WorkflowExecutionStartedEventAttributes
 
+instance NFData
+         WorkflowExecutionStartedEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionTerminated' event.
 --
 -- /See:/ 'workflowExecutionTerminatedEventAttributes' smart constructor.
@@ -7264,6 +7474,9 @@
 instance Hashable
          WorkflowExecutionTerminatedEventAttributes
 
+instance NFData
+         WorkflowExecutionTerminatedEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionTimedOut' event.
 --
 -- /See:/ 'workflowExecutionTimedOutEventAttributes' smart constructor.
@@ -7320,6 +7533,9 @@
 instance Hashable
          WorkflowExecutionTimedOutEventAttributes
 
+instance NFData
+         WorkflowExecutionTimedOutEventAttributes
+
 -- | Represents a workflow type.
 --
 -- /See:/ 'workflowType' smart constructor.
@@ -7367,6 +7583,8 @@
 
 instance Hashable WorkflowType
 
+instance NFData WorkflowType
+
 instance ToJSON WorkflowType where
         toJSON WorkflowType'{..}
           = object
@@ -7500,6 +7718,8 @@
 
 instance Hashable WorkflowTypeConfiguration
 
+instance NFData WorkflowTypeConfiguration
+
 -- | Used to filter workflow execution query results by type. Each parameter,
 -- if specified, defines a rule that must be satisfied by each returned
 -- result.
@@ -7536,6 +7756,8 @@
 
 instance Hashable WorkflowTypeFilter
 
+instance NFData WorkflowTypeFilter
+
 instance ToJSON WorkflowTypeFilter where
         toJSON WorkflowTypeFilter'{..}
           = object
@@ -7613,3 +7835,5 @@
                      <*> (x .: "creationDate"))
 
 instance Hashable WorkflowTypeInfo
+
+instance NFData WorkflowTypeInfo
diff --git a/gen/Network/AWS/SWF/Types/Sum.hs b/gen/Network/AWS/SWF/Types/Sum.hs
--- a/gen/Network/AWS/SWF/Types/Sum.hs
+++ b/gen/Network/AWS/SWF/Types/Sum.hs
@@ -43,6 +43,7 @@
         ATTTStartToClose -> "START_TO_CLOSE"
 
 instance Hashable     ActivityTaskTimeoutType
+instance NFData       ActivityTaskTimeoutType
 instance ToByteString ActivityTaskTimeoutType
 instance ToQuery      ActivityTaskTimeoutType
 instance ToHeader     ActivityTaskTimeoutType
@@ -68,6 +69,7 @@
         CTFCTimerIdUnknown -> "TIMER_ID_UNKNOWN"
 
 instance Hashable     CancelTimerFailedCause
+instance NFData       CancelTimerFailedCause
 instance ToByteString CancelTimerFailedCause
 instance ToQuery      CancelTimerFailedCause
 instance ToHeader     CancelTimerFailedCause
@@ -93,6 +95,7 @@
         CUnhandledDecision -> "UNHANDLED_DECISION"
 
 instance Hashable     CancelWorkflowExecutionFailedCause
+instance NFData       CancelWorkflowExecutionFailedCause
 instance ToByteString CancelWorkflowExecutionFailedCause
 instance ToQuery      CancelWorkflowExecutionFailedCause
 instance ToHeader     CancelWorkflowExecutionFailedCause
@@ -121,6 +124,7 @@
         Terminate -> "TERMINATE"
 
 instance Hashable     ChildPolicy
+instance NFData       ChildPolicy
 instance ToByteString ChildPolicy
 instance ToQuery      ChildPolicy
 instance ToHeader     ChildPolicy
@@ -161,6 +165,7 @@
         TimedOut -> "TIMED_OUT"
 
 instance Hashable     CloseStatus
+instance NFData       CloseStatus
 instance ToByteString CloseStatus
 instance ToQuery      CloseStatus
 instance ToHeader     CloseStatus
@@ -189,6 +194,7 @@
         CWEFCUnhandledDecision -> "UNHANDLED_DECISION"
 
 instance Hashable     CompleteWorkflowExecutionFailedCause
+instance NFData       CompleteWorkflowExecutionFailedCause
 instance ToByteString CompleteWorkflowExecutionFailedCause
 instance ToQuery      CompleteWorkflowExecutionFailedCause
 instance ToHeader     CompleteWorkflowExecutionFailedCause
@@ -235,6 +241,7 @@
         CANWEFCWorkflowTypeDoesNotExist -> "WORKFLOW_TYPE_DOES_NOT_EXIST"
 
 instance Hashable     ContinueAsNewWorkflowExecutionFailedCause
+instance NFData       ContinueAsNewWorkflowExecutionFailedCause
 instance ToByteString ContinueAsNewWorkflowExecutionFailedCause
 instance ToQuery      ContinueAsNewWorkflowExecutionFailedCause
 instance ToHeader     ContinueAsNewWorkflowExecutionFailedCause
@@ -257,6 +264,7 @@
         StartToClose -> "START_TO_CLOSE"
 
 instance Hashable     DecisionTaskTimeoutType
+instance NFData       DecisionTaskTimeoutType
 instance ToByteString DecisionTaskTimeoutType
 instance ToQuery      DecisionTaskTimeoutType
 instance ToHeader     DecisionTaskTimeoutType
@@ -315,6 +323,7 @@
         StartTimer -> "StartTimer"
 
 instance Hashable     DecisionType
+instance NFData       DecisionType
 instance ToByteString DecisionType
 instance ToQuery      DecisionType
 instance ToHeader     DecisionType
@@ -496,6 +505,7 @@
         WorkflowExecutionTimedOut -> "WorkflowExecutionTimedOut"
 
 instance Hashable     EventType
+instance NFData       EventType
 instance ToByteString EventType
 instance ToQuery      EventType
 instance ToHeader     EventType
@@ -521,6 +531,7 @@
         Open -> "OPEN"
 
 instance Hashable     ExecutionStatus
+instance NFData       ExecutionStatus
 instance ToByteString ExecutionStatus
 instance ToQuery      ExecutionStatus
 instance ToHeader     ExecutionStatus
@@ -546,6 +557,7 @@
         FWEFCUnhandledDecision -> "UNHANDLED_DECISION"
 
 instance Hashable     FailWorkflowExecutionFailedCause
+instance NFData       FailWorkflowExecutionFailedCause
 instance ToByteString FailWorkflowExecutionFailedCause
 instance ToQuery      FailWorkflowExecutionFailedCause
 instance ToHeader     FailWorkflowExecutionFailedCause
@@ -568,6 +580,7 @@
         LFTTStartToClose -> "START_TO_CLOSE"
 
 instance Hashable     LambdaFunctionTimeoutType
+instance NFData       LambdaFunctionTimeoutType
 instance ToByteString LambdaFunctionTimeoutType
 instance ToQuery      LambdaFunctionTimeoutType
 instance ToHeader     LambdaFunctionTimeoutType
@@ -590,6 +603,7 @@
         OperationNotPermitted -> "OPERATION_NOT_PERMITTED"
 
 instance Hashable     RecordMarkerFailedCause
+instance NFData       RecordMarkerFailedCause
 instance ToByteString RecordMarkerFailedCause
 instance ToQuery      RecordMarkerFailedCause
 instance ToHeader     RecordMarkerFailedCause
@@ -615,6 +629,7 @@
         Registered -> "REGISTERED"
 
 instance Hashable     RegistrationStatus
+instance NFData       RegistrationStatus
 instance ToByteString RegistrationStatus
 instance ToQuery      RegistrationStatus
 instance ToHeader     RegistrationStatus
@@ -643,6 +658,7 @@
         RCATFCOperationNotPermitted -> "OPERATION_NOT_PERMITTED"
 
 instance Hashable     RequestCancelActivityTaskFailedCause
+instance NFData       RequestCancelActivityTaskFailedCause
 instance ToByteString RequestCancelActivityTaskFailedCause
 instance ToQuery      RequestCancelActivityTaskFailedCause
 instance ToHeader     RequestCancelActivityTaskFailedCause
@@ -671,6 +687,7 @@
         RCEWEFCUnknownExternalWorkflowExecution -> "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
 
 instance Hashable     RequestCancelExternalWorkflowExecutionFailedCause
+instance NFData       RequestCancelExternalWorkflowExecutionFailedCause
 instance ToByteString RequestCancelExternalWorkflowExecutionFailedCause
 instance ToQuery      RequestCancelExternalWorkflowExecutionFailedCause
 instance ToHeader     RequestCancelExternalWorkflowExecutionFailedCause
@@ -723,6 +740,7 @@
         SATFCOperationNotPermitted -> "OPERATION_NOT_PERMITTED"
 
 instance Hashable     ScheduleActivityTaskFailedCause
+instance NFData       ScheduleActivityTaskFailedCause
 instance ToByteString ScheduleActivityTaskFailedCause
 instance ToQuery      ScheduleActivityTaskFailedCause
 instance ToHeader     ScheduleActivityTaskFailedCause
@@ -754,6 +772,7 @@
         OpenLambdaFunctionsLimitExceeded -> "OPEN_LAMBDA_FUNCTIONS_LIMIT_EXCEEDED"
 
 instance Hashable     ScheduleLambdaFunctionFailedCause
+instance NFData       ScheduleLambdaFunctionFailedCause
 instance ToByteString ScheduleLambdaFunctionFailedCause
 instance ToQuery      ScheduleLambdaFunctionFailedCause
 instance ToHeader     ScheduleLambdaFunctionFailedCause
@@ -782,6 +801,7 @@
         SEWEFCUnknownExternalWorkflowExecution -> "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
 
 instance Hashable     SignalExternalWorkflowExecutionFailedCause
+instance NFData       SignalExternalWorkflowExecutionFailedCause
 instance ToByteString SignalExternalWorkflowExecutionFailedCause
 instance ToQuery      SignalExternalWorkflowExecutionFailedCause
 instance ToHeader     SignalExternalWorkflowExecutionFailedCause
@@ -834,6 +854,7 @@
         SCWEFCWorkflowTypeDoesNotExist -> "WORKFLOW_TYPE_DOES_NOT_EXIST"
 
 instance Hashable     StartChildWorkflowExecutionFailedCause
+instance NFData       StartChildWorkflowExecutionFailedCause
 instance ToByteString StartChildWorkflowExecutionFailedCause
 instance ToQuery      StartChildWorkflowExecutionFailedCause
 instance ToHeader     StartChildWorkflowExecutionFailedCause
@@ -856,6 +877,7 @@
         AssumeRoleFailed -> "ASSUME_ROLE_FAILED"
 
 instance Hashable     StartLambdaFunctionFailedCause
+instance NFData       StartLambdaFunctionFailedCause
 instance ToByteString StartLambdaFunctionFailedCause
 instance ToQuery      StartLambdaFunctionFailedCause
 instance ToHeader     StartLambdaFunctionFailedCause
@@ -887,6 +909,7 @@
         STFCTimerIdAlreadyInUse -> "TIMER_ID_ALREADY_IN_USE"
 
 instance Hashable     StartTimerFailedCause
+instance NFData       StartTimerFailedCause
 instance ToByteString StartTimerFailedCause
 instance ToQuery      StartTimerFailedCause
 instance ToHeader     StartTimerFailedCause
@@ -909,6 +932,7 @@
         ChildPolicyApplied -> "CHILD_POLICY_APPLIED"
 
 instance Hashable     WorkflowExecutionCancelRequestedCause
+instance NFData       WorkflowExecutionCancelRequestedCause
 instance ToByteString WorkflowExecutionCancelRequestedCause
 instance ToQuery      WorkflowExecutionCancelRequestedCause
 instance ToHeader     WorkflowExecutionCancelRequestedCause
@@ -937,6 +961,7 @@
         WETCOperatorInitiated -> "OPERATOR_INITIATED"
 
 instance Hashable     WorkflowExecutionTerminatedCause
+instance NFData       WorkflowExecutionTerminatedCause
 instance ToByteString WorkflowExecutionTerminatedCause
 instance ToQuery      WorkflowExecutionTerminatedCause
 instance ToHeader     WorkflowExecutionTerminatedCause
@@ -959,6 +984,7 @@
         WETTStartToClose -> "START_TO_CLOSE"
 
 instance Hashable     WorkflowExecutionTimeoutType
+instance NFData       WorkflowExecutionTimeoutType
 instance ToByteString WorkflowExecutionTimeoutType
 instance ToQuery      WorkflowExecutionTimeoutType
 instance ToHeader     WorkflowExecutionTimeoutType
diff --git a/test/Test/AWS/SWF.hs b/test/Test/AWS/SWF.hs
--- a/test/Test/AWS/SWF.hs
+++ b/test/Test/AWS/SWF.hs
@@ -30,18 +30,17 @@
     [ testGroup "response"
         [ testPollForActivityTaskResponse $
             pollForActivityTaskResponse 200 11
-                (workflowExecution "20110927-T-1" "cfa2bd33-31b0-4b75-b131-255bb0d97b3f")
-                (activityType "activityVerify" "1.0")
-                & pfatrsInput      ?~ "5634-0056-4367-0923,12/12,437"
-                & pfatrsActivityId ?~ "verification-27"
-                & pfatrsTaskToken  ?~
+                & pfatrsWorkflowExecution ?~ workflowExecution "20110927-T-1" "cfa2bd33-31b0-4b75-b131-255bb0d97b3f"
+                & pfatrsActivityType      ?~ activityType "activityVerify" "1.0"
+                & pfatrsInput             ?~ "5634-0056-4367-0923,12/12,437"
+                & pfatrsActivityId        ?~ "verification-27"
+                & pfatrsTaskToken         ?~
                     "AAAAKgAAAAEAAAAAAAAAATZDvCYwk/hP/X1ZGdJhb+T6OWzcBx2DPhsIi5HF4aGQI4OXrDE7Ny3uM+aiAhGrmeNyVAa4yNIBQuoZuJA5G+BoaB0JuHFBOynHDTnm7ayNH43KhMkfdrDG4elfHSz3m/EtbLnFGueAr7+3NKDG6x4sTKg3cZpOtSguSx05yI1X3AtscS8ATcLB2Y3Aub1YonN/i/k67voca/GFsSiwSz3AAnJj1IPvrujgIj9KUvckwRPC5ET7d33XJcRp+gHYzZsBLVBaRmV3gEYAnp2ICslFn4YSjGy+dFXCNpOa4G1O8pczCbFUGbQ3+5wf0RSaa/xMq2pfdBKnuFp0wp8kw1k+5ZsbtDZeZn8g5GyKCLiLms/xD0OxugGGUe5ZlAoHEkTWGxZj/G32P7cMoCgrcACfFPdx1LNYYEre7YiGiyjGnfW2t5mW7VK9Np28vcXVbdpH4JNEB9OuB1xqL8N8ifPVtc72uxB1i9XEdq/8rkXasSEw4TubB2FwgqnuJstmfEhpOdb5HfhR6OwmnHuk9eszO/fUkGucTUXQP2hhB+Gz"
 
         , testPollForDecisionTaskResponse $
-            pollForDecisionTaskResponse 200
-                3
-                (workflowExecution "20110927-T-1" "06b8f87a-24b3-40b6-9ceb-9676f28e9493")
-                (workflowType "customerOrderWorkflow" "1.0")
+            pollForDecisionTaskResponse 200 3
+                & pfdtrsWorkflowExecution      ?~ workflowExecution "20110927-T-1" "06b8f87a-24b3-40b6-9ceb-9676f28e9493"
+                & pfdtrsWorkflowType           ?~ workflowType "customerOrderWorkflow" "1.0"
                 & pfdtrsTaskToken              ?~
                     "AAAAKgAAAAEAAAAAAAAAATZDvCYwk/hP/X1ZGdJhb+T6OWzcBx2DPhsIi5HF4aGQI4OXrDE7Ny3uM+aiAhGrmeNyVAa4yNIBQuoZuJA5G+BoaB0JuHFBOynHDTnm7ayNH43KhMkfdrDG4elfHSz3m/EtbLnFGueAr7+3NKDG6x4sTKg3cZpOtSguSx05yI1X3AtscS8ATcLB2Y3Aub1YonN/i/k67voca/GFsSiwSz3AAnJj1IPvrujgIj9KUvckwRPC5ET7d33XJcRp+gHYzZsBLVBaRmV3gEYAnp2ICslFn4YSjGy+dFXCNpOa4G1O8pczCbFUGbQ3+5wf0RSaa/xMq2pfdBKnuFp0wp8kw1k+5ZsbtDZeZn8g5GyKCLiLms/xD0OxugGGUe5ZlAoHEkTWGxZj/G32P7cMoCgrcACfFPdx1LNYYEre7YiGiyjGnfW2t5mW7VK9Np28vcXVbdpH4JNEB9OuB1xqL8N8ifPVtc72uxB1i9XEdq/8rkXasSEw4TubB2FwgqnuJstmfEhpOdb5HfhR6OwmnHuk9eszO/fUkGucTUXQP2hhB+Gz"
                 & pfdtrsPreviousStartedEventId ?~ 0
