diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
@@ -32,7 +32,7 @@
 <http://docs.aws.amazon.com/amazonswf/latest/developerguide/ Amazon SWF Developer Guide>.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-swf)
-and the [AWS API Reference](http://docs.aws.amazon.com/amazonswf/latest/apireference/Welcome.html).
+and the [AWS API Reference](https://aws.amazon.com/documentation/).
 
 The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),
 which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
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.3.7
+version:               1.4.0
 synopsis:              Amazon Simple Workflow Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,7 +7,7 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2015 Brendan Hay
+copyright:             Copyright (c) 2013-2016 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -42,7 +42,7 @@
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.SWF" and the <http://docs.aws.amazon.com/amazonswf/latest/apireference/Welcome.html AWS API Reference>
+    See "Network.AWS.SWF" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -96,7 +96,7 @@
         , Network.AWS.SWF.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-swf-test
@@ -116,9 +116,9 @@
         , Test.AWS.SWF.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-swf == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-swf == 1.4.0.*
         , base
         , bytestring
         , tasty
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
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -28,12 +28,10 @@
 -- This documentation serves as reference only. For a broader overview of
 -- the Amazon SWF programming model, see the
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/ Amazon SWF Developer Guide>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/Welcome.html AWS API Reference>
 module Network.AWS.SWF
     (
     -- * Service Configuration
-      sWF
+      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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.CountClosedWorkflowExecutions
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -48,8 +48,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountClosedWorkflowExecutions.html AWS API Reference> for CountClosedWorkflowExecutions.
 module Network.AWS.SWF.CountClosedWorkflowExecutions
     (
     -- * Creating a Request
@@ -178,8 +176,10 @@
          where
         type Rs CountClosedWorkflowExecutions =
              WorkflowExecutionCount
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CountClosedWorkflowExecutions
 
 instance ToHeaders CountClosedWorkflowExecutions
          where
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.CountOpenWorkflowExecutions
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -48,8 +48,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountOpenWorkflowExecutions.html AWS API Reference> for CountOpenWorkflowExecutions.
 module Network.AWS.SWF.CountOpenWorkflowExecutions
     (
     -- * Creating a Request
@@ -147,8 +145,10 @@
 instance AWSRequest CountOpenWorkflowExecutions where
         type Rs CountOpenWorkflowExecutions =
              WorkflowExecutionCount
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CountOpenWorkflowExecutions
 
 instance ToHeaders CountOpenWorkflowExecutions where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.CountPendingActivityTasks
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -42,8 +42,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingActivityTasks.html AWS API Reference> for CountPendingActivityTasks.
 module Network.AWS.SWF.CountPendingActivityTasks
     (
     -- * Creating a Request
@@ -101,8 +99,10 @@
 
 instance AWSRequest CountPendingActivityTasks where
         type Rs CountPendingActivityTasks = PendingTaskCount
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CountPendingActivityTasks
 
 instance ToHeaders CountPendingActivityTasks where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.CountPendingDecisionTasks
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -42,8 +42,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingDecisionTasks.html AWS API Reference> for CountPendingDecisionTasks.
 module Network.AWS.SWF.CountPendingDecisionTasks
     (
     -- * Creating a Request
@@ -101,8 +99,10 @@
 
 instance AWSRequest CountPendingDecisionTasks where
         type Rs CountPendingDecisionTasks = PendingTaskCount
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable CountPendingDecisionTasks
 
 instance ToHeaders CountPendingDecisionTasks where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DeprecateActivityType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -48,8 +48,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateActivityType.html AWS API Reference> for DeprecateActivityType.
 module Network.AWS.SWF.DeprecateActivityType
     (
     -- * Creating a Request
@@ -105,8 +103,10 @@
 instance AWSRequest DeprecateActivityType where
         type Rs DeprecateActivityType =
              DeprecateActivityTypeResponse
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveNull DeprecateActivityTypeResponse'
+
+instance Hashable DeprecateActivityType
 
 instance ToHeaders DeprecateActivityType where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DeprecateDomain
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -45,8 +45,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateDomain.html AWS API Reference> for DeprecateDomain.
 module Network.AWS.SWF.DeprecateDomain
     (
     -- * Creating a Request
@@ -91,8 +89,10 @@
 
 instance AWSRequest DeprecateDomain where
         type Rs DeprecateDomain = DeprecateDomainResponse
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveNull DeprecateDomainResponse'
+
+instance Hashable DeprecateDomain
 
 instance ToHeaders DeprecateDomain where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DeprecateWorkflowType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -49,8 +49,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateWorkflowType.html AWS API Reference> for DeprecateWorkflowType.
 module Network.AWS.SWF.DeprecateWorkflowType
     (
     -- * Creating a Request
@@ -106,8 +104,10 @@
 instance AWSRequest DeprecateWorkflowType where
         type Rs DeprecateWorkflowType =
              DeprecateWorkflowTypeResponse
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveNull DeprecateWorkflowTypeResponse'
+
+instance Hashable DeprecateWorkflowType
 
 instance ToHeaders DeprecateWorkflowType where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DescribeActivityType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -44,8 +44,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeActivityType.html AWS API Reference> for DescribeActivityType.
 module Network.AWS.SWF.DescribeActivityType
     (
     -- * Creating a Request
@@ -107,7 +105,7 @@
 instance AWSRequest DescribeActivityType where
         type Rs DescribeActivityType =
              DescribeActivityTypeResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
@@ -115,6 +113,8 @@
                    (pure (fromEnum s)) <*> (x .:> "typeInfo") <*>
                      (x .:> "configuration"))
 
+instance Hashable DescribeActivityType
+
 instance ToHeaders DescribeActivityType where
         toHeaders
           = const
@@ -179,9 +179,10 @@
 --
 -- -   __REGISTERED__: The type is registered and available. Workers
 --     supporting this type should be running.
--- -   __DEPRECATED__: The type was deprecated using DeprecateActivityType,
---     but is still in use. You should keep workers supporting this type
---     running. You cannot create new tasks of this type.
+-- -   __DEPRECATED__: The type was deprecated using
+--     < DeprecateActivityType>, but is still in use. You should keep
+--     workers supporting this type running. You cannot create new tasks of
+--     this type.
 datrsTypeInfo :: Lens' DescribeActivityTypeResponse ActivityTypeInfo
 datrsTypeInfo = lens _datrsTypeInfo (\ s a -> s{_datrsTypeInfo = a});
 
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DescribeDomain
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -38,8 +38,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeDomain.html AWS API Reference> for DescribeDomain.
 module Network.AWS.SWF.DescribeDomain
     (
     -- * Creating a Request
@@ -88,13 +86,15 @@
 
 instance AWSRequest DescribeDomain where
         type Rs DescribeDomain = DescribeDomainResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  DescribeDomainResponse' <$>
                    (pure (fromEnum s)) <*> (x .:> "domainInfo") <*>
                      (x .:> "configuration"))
+
+instance Hashable DescribeDomain
 
 instance ToHeaders DescribeDomain where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DescribeWorkflowExecution
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -41,8 +41,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowExecution.html AWS API Reference> for DescribeWorkflowExecution.
 module Network.AWS.SWF.DescribeWorkflowExecution
     (
     -- * Creating a Request
@@ -105,7 +103,7 @@
 instance AWSRequest DescribeWorkflowExecution where
         type Rs DescribeWorkflowExecution =
              DescribeWorkflowExecutionResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
@@ -117,6 +115,8 @@
                      <*> (x .:> "executionConfiguration")
                      <*> (x .:> "openCounts"))
 
+instance Hashable DescribeWorkflowExecution
+
 instance ToHeaders DescribeWorkflowExecution where
         toHeaders
           = const
@@ -192,7 +192,8 @@
 
 -- | The latest executionContext provided by the decider for this workflow
 -- execution. A decider can provide an executionContext (a free-form
--- string) when closing a decision task using RespondDecisionTaskCompleted.
+-- string) when closing a decision task using
+-- < RespondDecisionTaskCompleted>.
 dwersLatestExecutionContext :: Lens' DescribeWorkflowExecutionResponse (Maybe Text)
 dwersLatestExecutionContext = lens _dwersLatestExecutionContext (\ s a -> s{_dwersLatestExecutionContext = a});
 
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.DescribeWorkflowType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -44,8 +44,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DescribeWorkflowType.html AWS API Reference> for DescribeWorkflowType.
 module Network.AWS.SWF.DescribeWorkflowType
     (
     -- * Creating a Request
@@ -105,7 +103,7 @@
 instance AWSRequest DescribeWorkflowType where
         type Rs DescribeWorkflowType =
              DescribeWorkflowTypeResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
@@ -113,6 +111,8 @@
                    (pure (fromEnum s)) <*> (x .:> "typeInfo") <*>
                      (x .:> "configuration"))
 
+instance Hashable DescribeWorkflowType
+
 instance ToHeaders DescribeWorkflowType where
         toHeaders
           = const
@@ -177,13 +177,14 @@
 --
 -- -   __REGISTERED__: The type is registered and available. Workers
 --     supporting this type should be running.
--- -   __DEPRECATED__: The type was deprecated using DeprecateWorkflowType,
---     but is still in use. You should keep workers supporting this type
---     running. You cannot create new workflow executions of this type.
+-- -   __DEPRECATED__: The type was deprecated using
+--     < DeprecateWorkflowType>, but is still in use. You should keep
+--     workers supporting this type running. You cannot create new workflow
+--     executions of this type.
 dwtrsTypeInfo :: Lens' DescribeWorkflowTypeResponse WorkflowTypeInfo
 dwtrsTypeInfo = lens _dwtrsTypeInfo (\ s a -> s{_dwtrsTypeInfo = a});
 
 -- | Configuration settings of the workflow type registered through
--- RegisterWorkflowType
+-- < RegisterWorkflowType>
 dwtrsConfiguration :: Lens' DescribeWorkflowTypeResponse WorkflowTypeConfiguration
 dwtrsConfiguration = lens _dwtrsConfiguration (\ s a -> s{_dwtrsConfiguration = a});
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.GetWorkflowExecutionHistory
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -43,8 +43,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_GetWorkflowExecutionHistory.html AWS API Reference> for GetWorkflowExecutionHistory.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.GetWorkflowExecutionHistory
     (
@@ -155,13 +153,15 @@
 instance AWSRequest GetWorkflowExecutionHistory where
         type Rs GetWorkflowExecutionHistory =
              GetWorkflowExecutionHistoryResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  GetWorkflowExecutionHistoryResponse' <$>
                    (x .?> "nextPageToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "events" .!@ mempty))
+
+instance Hashable GetWorkflowExecutionHistory
 
 instance ToHeaders GetWorkflowExecutionHistory where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.ListActivityTypes
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -43,8 +43,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListActivityTypes.html AWS API Reference> for ListActivityTypes.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.ListActivityTypes
     (
@@ -163,13 +161,15 @@
 
 instance AWSRequest ListActivityTypes where
         type Rs ListActivityTypes = ListActivityTypesResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  ListActivityTypesResponse' <$>
                    (x .?> "nextPageToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "typeInfos" .!@ mempty))
+
+instance Hashable ListActivityTypes
 
 instance ToHeaders ListActivityTypes where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.ListClosedWorkflowExecutions
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -51,8 +51,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListClosedWorkflowExecutions.html AWS API Reference> for ListClosedWorkflowExecutions.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.ListClosedWorkflowExecutions
     (
@@ -235,8 +233,10 @@
          where
         type Rs ListClosedWorkflowExecutions =
              WorkflowExecutionInfos
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable ListClosedWorkflowExecutions
 
 instance ToHeaders ListClosedWorkflowExecutions where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.ListDomains
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -45,8 +45,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListDomains.html AWS API Reference> for ListDomains.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.ListDomains
     (
@@ -146,13 +144,15 @@
 
 instance AWSRequest ListDomains where
         type Rs ListDomains = ListDomainsResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  ListDomainsResponse' <$>
                    (x .?> "nextPageToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "domainInfos" .!@ mempty))
+
+instance Hashable ListDomains
 
 instance ToHeaders ListDomains where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.ListOpenWorkflowExecutions
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -51,8 +51,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListOpenWorkflowExecutions.html AWS API Reference> for ListOpenWorkflowExecutions.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.ListOpenWorkflowExecutions
     (
@@ -201,8 +199,10 @@
 instance AWSRequest ListOpenWorkflowExecutions where
         type Rs ListOpenWorkflowExecutions =
              WorkflowExecutionInfos
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveJSON (\ s h x -> eitherParseJSON x)
+
+instance Hashable ListOpenWorkflowExecutions
 
 instance ToHeaders ListOpenWorkflowExecutions where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.ListWorkflowTypes
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -40,8 +40,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListWorkflowTypes.html AWS API Reference> for ListWorkflowTypes.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.ListWorkflowTypes
     (
@@ -160,13 +158,15 @@
 
 instance AWSRequest ListWorkflowTypes where
         type Rs ListWorkflowTypes = ListWorkflowTypesResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  ListWorkflowTypesResponse' <$>
                    (x .?> "nextPageToken") <*> (pure (fromEnum s)) <*>
                      (x .?> "typeInfos" .!@ mempty))
+
+instance Hashable ListWorkflowTypes
 
 instance ToHeaders ListWorkflowTypes where
         toHeaders
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
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.SWF.PollForActivityTask
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by workers to get an ActivityTask from the specified activity
+-- Used by workers to get an < ActivityTask> from the specified activity
 -- 'taskList'. This initiates a long poll, where the service holds the HTTP
 -- connection open and responds as soon as a task becomes available. The
 -- maximum time the service holds on to the request before responding is 60
@@ -51,8 +51,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForActivityTask.html AWS API Reference> for PollForActivityTask.
 module Network.AWS.SWF.PollForActivityTask
     (
     -- * Creating a Request
@@ -133,7 +131,7 @@
 instance AWSRequest PollForActivityTask where
         type Rs PollForActivityTask =
              PollForActivityTaskResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
@@ -144,6 +142,8 @@
                      <*> (x .:> "startedEventId")
                      <*> (x .:> "workflowExecution")
                      <*> (x .:> "activityType"))
+
+instance Hashable PollForActivityTask
 
 instance ToHeaders PollForActivityTask where
         toHeaders
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
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.SWF.PollForDecisionTask
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by deciders to get a DecisionTask from the specified decision
+-- Used by deciders to get a < DecisionTask> from the specified decision
 -- 'taskList'. A decision task may be returned for any open workflow
 -- execution that is using the specified task list. The task includes a
 -- paginated view of the history of the workflow execution. The decider
@@ -63,8 +63,6 @@
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
 --
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_PollForDecisionTask.html AWS API Reference> for PollForDecisionTask.
---
 -- This operation returns paginated results.
 module Network.AWS.SWF.PollForDecisionTask
     (
@@ -149,9 +147,9 @@
 -- returned in a single call.
 --
 -- The 'nextPageToken' returned by this action cannot be used with
--- GetWorkflowExecutionHistory to get the next page. You must call
--- PollForDecisionTask again (with the 'nextPageToken') to retrieve the
--- next page of history records. Calling PollForDecisionTask with a
+-- < GetWorkflowExecutionHistory> to get the next page. You must call
+-- < PollForDecisionTask> again (with the 'nextPageToken') to retrieve the
+-- next page of history records. Calling < PollForDecisionTask> with a
 -- 'nextPageToken' will not return a new decision task.
 --
 -- .
@@ -205,7 +203,7 @@
 instance AWSRequest PollForDecisionTask where
         type Rs PollForDecisionTask =
              PollForDecisionTaskResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
@@ -218,6 +216,8 @@
                      <*> (x .:> "workflowExecution")
                      <*> (x .:> "workflowType")
                      <*> (x .?> "events" .!@ mempty))
+
+instance Hashable PollForDecisionTask
 
 instance ToHeaders PollForDecisionTask where
         toHeaders
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
@@ -12,23 +12,23 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RecordActivityTaskHeartbeat
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by activity workers to report to the service that the ActivityTask
--- represented by the specified 'taskToken' is still making progress. The
--- worker can also (optionally) specify details of the progress, for
--- example percent complete, using the 'details' parameter. This action can
--- also be used by the worker as a mechanism to check if cancellation is
--- being requested for the activity task. If a cancellation is being
--- attempted for the specified task, then the boolean 'cancelRequested'
--- flag returned by the service is set to 'true'.
+-- Used by activity workers to report to the service that the
+-- < ActivityTask> represented by the specified 'taskToken' is still making
+-- progress. The worker can also (optionally) specify details of the
+-- progress, for example percent complete, using the 'details' parameter.
+-- This action can also be used by the worker as a mechanism to check if
+-- cancellation is being requested for the activity task. If a cancellation
+-- is being attempted for the specified task, then the boolean
+-- 'cancelRequested' flag returned by the service is set to 'true'.
 --
 -- This action resets the 'taskHeartbeatTimeout' clock. The
--- 'taskHeartbeatTimeout' is specified in RegisterActivityType.
+-- 'taskHeartbeatTimeout' is specified in < RegisterActivityType>.
 --
 -- This action does not in itself create an event in the workflow execution
 -- history. However, if the task times out, the workflow execution history
@@ -37,8 +37,8 @@
 --
 -- The 'taskStartToCloseTimeout' of an activity type is the maximum
 -- duration of an activity task, regardless of the number of
--- RecordActivityTaskHeartbeat requests received. The
--- 'taskStartToCloseTimeout' is also specified in RegisterActivityType.
+-- < RecordActivityTaskHeartbeat> requests received. The
+-- 'taskStartToCloseTimeout' is also specified in < RegisterActivityType>.
 --
 -- This operation is only useful for long-lived activities to report
 -- liveliness of the task and to determine if a cancellation is being
@@ -46,7 +46,7 @@
 --
 -- If the 'cancelRequested' flag returns 'true', a cancellation is being
 -- attempted. If the worker can cancel the activity, it should respond with
--- RespondActivityTaskCanceled. Otherwise, it should ignore the
+-- < RespondActivityTaskCanceled>. Otherwise, it should ignore the
 -- cancellation request.
 --
 -- __Access Control__
@@ -66,8 +66,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RecordActivityTaskHeartbeat.html AWS API Reference> for RecordActivityTaskHeartbeat.
 module Network.AWS.SWF.RecordActivityTaskHeartbeat
     (
     -- * Creating a Request
@@ -118,7 +116,7 @@
 rathDetails :: Lens' RecordActivityTaskHeartbeat (Maybe Text)
 rathDetails = lens _rathDetails (\ s a -> s{_rathDetails = a});
 
--- | The 'taskToken' of the ActivityTask.
+-- | The 'taskToken' of the < ActivityTask>.
 --
 -- 'taskToken' is generated by the service and should be treated as an
 -- opaque value. If the task is passed to another process, its 'taskToken'
@@ -130,12 +128,14 @@
 instance AWSRequest RecordActivityTaskHeartbeat where
         type Rs RecordActivityTaskHeartbeat =
              RecordActivityTaskHeartbeatResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  RecordActivityTaskHeartbeatResponse' <$>
                    (pure (fromEnum s)) <*> (x .:> "cancelRequested"))
+
+instance Hashable RecordActivityTaskHeartbeat
 
 instance ToHeaders RecordActivityTaskHeartbeat where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RegisterActivityType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -47,8 +47,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html AWS API Reference> for RegisterActivityType.
 module Network.AWS.SWF.RegisterActivityType
     (
     -- * Creating a Request
@@ -164,7 +162,7 @@
 
 -- | If set, specifies the default maximum time before which a worker
 -- processing a task of this type must report progress by calling
--- RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity
+-- < RecordActivityTaskHeartbeat>. If the timeout is exceeded, the activity
 -- task is automatically timed out. This default can be overridden when
 -- scheduling an activity task using the 'ScheduleActivityTask' decision.
 -- If the activity worker subsequently attempts to record a heartbeat or
@@ -227,8 +225,10 @@
 instance AWSRequest RegisterActivityType where
         type Rs RegisterActivityType =
              RegisterActivityTypeResponse
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveNull RegisterActivityTypeResponse'
+
+instance Hashable RegisterActivityType
 
 instance ToHeaders RegisterActivityType where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RegisterDomain
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -38,8 +38,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterDomain.html AWS API Reference> for RegisterDomain.
 module Network.AWS.SWF.RegisterDomain
     (
     -- * Creating a Request
@@ -121,8 +119,10 @@
 
 instance AWSRequest RegisterDomain where
         type Rs RegisterDomain = RegisterDomainResponse
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveNull RegisterDomainResponse'
+
+instance Hashable RegisterDomain
 
 instance ToHeaders RegisterDomain where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RegisterWorkflowType
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -22,7 +22,7 @@
 -- specified domain.
 --
 -- The retention period for the workflow history is set by the
--- RegisterDomain action.
+-- < RegisterDomain> action.
 --
 -- If the type already exists, then a 'TypeAlreadyExists' fault is
 -- returned. You cannot change the configuration settings of a workflow
@@ -50,8 +50,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html AWS API Reference> for RegisterWorkflowType.
 module Network.AWS.SWF.RegisterWorkflowType
     (
     -- * Creating a Request
@@ -141,16 +139,17 @@
 -- type invokes AWS Lambda functions.
 --
 -- This default can be overridden when starting a workflow execution using
--- the StartWorkflowExecution action or the 'StartChildWorkflowExecution'
--- and 'ContinueAsNewWorkflowExecution' decision.
+-- the < StartWorkflowExecution> action or the
+-- 'StartChildWorkflowExecution' and 'ContinueAsNewWorkflowExecution'
+-- decision.
 rwtDefaultLambdaRole :: Lens' RegisterWorkflowType (Maybe Text)
 rwtDefaultLambdaRole = lens _rwtDefaultLambdaRole (\ s a -> s{_rwtDefaultLambdaRole = a});
 
 -- | If set, specifies the default policy to use for the child workflow
 -- executions when a workflow execution of this type is terminated, by
--- calling the TerminateWorkflowExecution action explicitly or due to an
+-- calling the < TerminateWorkflowExecution> action explicitly or due to an
 -- expired timeout. This default can be overridden when starting a workflow
--- execution using the StartWorkflowExecution action or the
+-- execution using the < StartWorkflowExecution> action or the
 -- 'StartChildWorkflowExecution' decision.
 --
 -- The supported child policies are:
@@ -168,7 +167,8 @@
 -- | If set, specifies the default task list to use for scheduling decision
 -- tasks for executions of this workflow type. This default is used only if
 -- a task list is not provided when starting the execution through the
--- StartWorkflowExecution action or 'StartChildWorkflowExecution' decision.
+-- < StartWorkflowExecution> action or 'StartChildWorkflowExecution'
+-- decision.
 rwtDefaultTaskList :: Lens' RegisterWorkflowType (Maybe TaskList)
 rwtDefaultTaskList = lens _rwtDefaultTaskList (\ s a -> s{_rwtDefaultTaskList = a});
 
@@ -185,7 +185,7 @@
 
 -- | If set, specifies the default maximum duration for executions of this
 -- workflow type. You can override this default when starting an execution
--- through the StartWorkflowExecution action or
+-- through the < StartWorkflowExecution> action or
 -- 'StartChildWorkflowExecution' decision.
 --
 -- The duration is specified in seconds; an integer greater than or equal
@@ -199,7 +199,7 @@
 
 -- | If set, specifies the default maximum duration of decision tasks for
 -- this workflow type. This default can be overridden when starting a
--- workflow execution using the StartWorkflowExecution action or the
+-- workflow execution using the < StartWorkflowExecution> action or the
 -- 'StartChildWorkflowExecution' decision.
 --
 -- The duration is specified in seconds; an integer greater than or equal
@@ -228,7 +228,7 @@
 --
 -- The workflow type consists of the name and version, the combination of
 -- which must be unique within the domain. To get a list of all currently
--- registered workflow types, use the ListWorkflowTypes action.
+-- registered workflow types, use the < ListWorkflowTypes> action.
 --
 -- The specified string must not start or end with whitespace. It must not
 -- contain a ':' (colon), '\/' (slash), '|' (vertical bar), or any control
@@ -240,8 +240,10 @@
 instance AWSRequest RegisterWorkflowType where
         type Rs RegisterWorkflowType =
              RegisterWorkflowTypeResponse
-        request = postJSON sWF
+        request = postJSON swf
         response = receiveNull RegisterWorkflowTypeResponse'
+
+instance Hashable RegisterWorkflowType
 
 instance ToHeaders RegisterWorkflowType where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RequestCancelWorkflowExecution
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -30,7 +30,7 @@
 --
 -- Because this action allows the workflow to properly clean up and
 -- gracefully close, it should be used instead of
--- TerminateWorkflowExecution when possible.
+-- < TerminateWorkflowExecution> when possible.
 --
 -- __Access Control__
 --
@@ -49,8 +49,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RequestCancelWorkflowExecution.html AWS API Reference> for RequestCancelWorkflowExecution.
 module Network.AWS.SWF.RequestCancelWorkflowExecution
     (
     -- * Creating a Request
@@ -116,9 +114,11 @@
          where
         type Rs RequestCancelWorkflowExecution =
              RequestCancelWorkflowExecutionResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull RequestCancelWorkflowExecutionResponse'
+
+instance Hashable RequestCancelWorkflowExecution
 
 instance ToHeaders RequestCancelWorkflowExecution
          where
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
@@ -12,28 +12,28 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RespondActivityTaskCanceled
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by workers to tell the service that the ActivityTask identified by
--- the 'taskToken' was successfully canceled. Additional 'details' can be
--- optionally provided using the 'details' argument.
+-- Used by workers to tell the service that the < ActivityTask> identified
+-- by the 'taskToken' was successfully canceled. Additional 'details' can
+-- be optionally provided using the 'details' argument.
 --
 -- These 'details' (if provided) appear in the 'ActivityTaskCanceled' event
 -- added to the workflow history.
 --
 -- Only use this operation if the 'canceled' flag of a
--- RecordActivityTaskHeartbeat request returns 'true' and if the activity
--- can be safely undone or abandoned.
+-- < RecordActivityTaskHeartbeat> request returns 'true' and if the
+-- activity can be safely undone or abandoned.
 --
 -- A task is considered open from the time that it is scheduled until it is
 -- closed. Therefore a task is reported as open while a worker is
 -- processing it. A task is closed after it has been specified in a call to
--- RespondActivityTaskCompleted, RespondActivityTaskCanceled,
--- RespondActivityTaskFailed, or the task has
+-- < RespondActivityTaskCompleted>, RespondActivityTaskCanceled,
+-- < RespondActivityTaskFailed>, or the task has
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types timed out>.
 --
 -- __Access Control__
@@ -53,8 +53,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCanceled.html AWS API Reference> for RespondActivityTaskCanceled.
 module Network.AWS.SWF.RespondActivityTaskCanceled
     (
     -- * Creating a Request
@@ -102,7 +100,7 @@
 rDetails :: Lens' RespondActivityTaskCanceled (Maybe Text)
 rDetails = lens _rDetails (\ s a -> s{_rDetails = a});
 
--- | The 'taskToken' of the ActivityTask.
+-- | The 'taskToken' of the < ActivityTask>.
 --
 -- 'taskToken' is generated by the service and should be treated as an
 -- opaque value. If the task is passed to another process, its 'taskToken'
@@ -114,9 +112,11 @@
 instance AWSRequest RespondActivityTaskCanceled where
         type Rs RespondActivityTaskCanceled =
              RespondActivityTaskCanceledResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull RespondActivityTaskCanceledResponse'
+
+instance Hashable RespondActivityTaskCanceled
 
 instance ToHeaders RespondActivityTaskCanceled where
         toHeaders
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
@@ -12,28 +12,28 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RespondActivityTaskCompleted
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by workers to tell the service that the ActivityTask identified by
--- the 'taskToken' completed successfully with a 'result' (if provided).
+-- Used by workers to tell the service that the < ActivityTask> identified
+-- by the 'taskToken' completed successfully with a 'result' (if provided).
 -- The 'result' appears in the 'ActivityTaskCompleted' event in the
 -- workflow history.
 --
 -- If the requested task does not complete successfully, use
--- RespondActivityTaskFailed instead. If the worker finds that the task is
--- canceled through the 'canceled' flag returned by
--- RecordActivityTaskHeartbeat, it should cancel the task, clean up and
--- then call RespondActivityTaskCanceled.
+-- < RespondActivityTaskFailed> instead. If the worker finds that the task
+-- is canceled through the 'canceled' flag returned by
+-- < RecordActivityTaskHeartbeat>, it should cancel the task, clean up and
+-- then call < RespondActivityTaskCanceled>.
 --
 -- A task is considered open from the time that it is scheduled until it is
 -- closed. Therefore a task is reported as open while a worker is
 -- processing it. A task is closed after it has been specified in a call to
--- RespondActivityTaskCompleted, RespondActivityTaskCanceled,
--- RespondActivityTaskFailed, or the task has
+-- RespondActivityTaskCompleted, < RespondActivityTaskCanceled>,
+-- < RespondActivityTaskFailed>, or the task has
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types timed out>.
 --
 -- __Access Control__
@@ -53,8 +53,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskCompleted.html AWS API Reference> for RespondActivityTaskCompleted.
 module Network.AWS.SWF.RespondActivityTaskCompleted
     (
     -- * Creating a Request
@@ -103,7 +101,7 @@
 ratcResult :: Lens' RespondActivityTaskCompleted (Maybe Text)
 ratcResult = lens _ratcResult (\ s a -> s{_ratcResult = a});
 
--- | The 'taskToken' of the ActivityTask.
+-- | The 'taskToken' of the < ActivityTask>.
 --
 -- 'taskToken' is generated by the service and should be treated as an
 -- opaque value. If the task is passed to another process, its 'taskToken'
@@ -116,9 +114,11 @@
          where
         type Rs RespondActivityTaskCompleted =
              RespondActivityTaskCompletedResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull RespondActivityTaskCompletedResponse'
+
+instance Hashable RespondActivityTaskCompleted
 
 instance ToHeaders RespondActivityTaskCompleted where
         toHeaders
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
@@ -12,21 +12,21 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RespondActivityTaskFailed
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by workers to tell the service that the ActivityTask identified by
--- the 'taskToken' has failed with 'reason' (if specified). The 'reason'
+-- Used by workers to tell the service that the < ActivityTask> identified
+-- by the 'taskToken' has failed with 'reason' (if specified). The 'reason'
 -- and 'details' appear in the 'ActivityTaskFailed' event added to the
 -- workflow history.
 --
 -- A task is considered open from the time that it is scheduled until it is
 -- closed. Therefore a task is reported as open while a worker is
 -- processing it. A task is closed after it has been specified in a call to
--- RespondActivityTaskCompleted, RespondActivityTaskCanceled,
+-- < RespondActivityTaskCompleted>, < RespondActivityTaskCanceled>,
 -- RespondActivityTaskFailed, or the task has
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types timed out>.
 --
@@ -47,8 +47,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondActivityTaskFailed.html AWS API Reference> for RespondActivityTaskFailed.
 module Network.AWS.SWF.RespondActivityTaskFailed
     (
     -- * Creating a Request
@@ -105,7 +103,7 @@
 ratfDetails :: Lens' RespondActivityTaskFailed (Maybe Text)
 ratfDetails = lens _ratfDetails (\ s a -> s{_ratfDetails = a});
 
--- | The 'taskToken' of the ActivityTask.
+-- | The 'taskToken' of the < ActivityTask>.
 --
 -- 'taskToken' is generated by the service and should be treated as an
 -- opaque value. If the task is passed to another process, its 'taskToken'
@@ -117,9 +115,11 @@
 instance AWSRequest RespondActivityTaskFailed where
         type Rs RespondActivityTaskFailed =
              RespondActivityTaskFailedResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull RespondActivityTaskFailedResponse'
+
+instance Hashable RespondActivityTaskFailed
 
 instance ToHeaders RespondActivityTaskFailed where
         toHeaders
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
@@ -12,14 +12,14 @@
 
 -- |
 -- Module      : Network.AWS.SWF.RespondDecisionTaskCompleted
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
--- Used by deciders to tell the service that the DecisionTask identified by
--- the 'taskToken' has successfully completed. The 'decisions' argument
+-- Used by deciders to tell the service that the < DecisionTask> identified
+-- by the 'taskToken' has successfully completed. The 'decisions' argument
 -- specifies the list of decisions made while processing the task.
 --
 -- A 'DecisionTaskCompleted' event is added to the workflow history. The
@@ -36,8 +36,6 @@
 -- as if they were actual API calls, including applying conditions to some
 -- parameters. For more information, see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html AWS API Reference> for RespondDecisionTaskCompleted.
 module Network.AWS.SWF.RespondDecisionTaskCompleted
     (
     -- * Creating a Request
@@ -96,7 +94,7 @@
 rdtcExecutionContext :: Lens' RespondDecisionTaskCompleted (Maybe Text)
 rdtcExecutionContext = lens _rdtcExecutionContext (\ s a -> s{_rdtcExecutionContext = a});
 
--- | The 'taskToken' from the DecisionTask.
+-- | The 'taskToken' from the < DecisionTask>.
 --
 -- 'taskToken' is generated by the service and should be treated as an
 -- opaque value. If the task is passed to another process, its 'taskToken'
@@ -109,9 +107,11 @@
          where
         type Rs RespondDecisionTaskCompleted =
              RespondDecisionTaskCompletedResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull RespondDecisionTaskCompletedResponse'
+
+instance Hashable RespondDecisionTaskCompleted
 
 instance ToHeaders RespondDecisionTaskCompleted where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.SignalWorkflowExecution
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -48,8 +48,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_SignalWorkflowExecution.html AWS API Reference> for SignalWorkflowExecution.
 module Network.AWS.SWF.SignalWorkflowExecution
     (
     -- * Creating a Request
@@ -135,9 +133,11 @@
 instance AWSRequest SignalWorkflowExecution where
         type Rs SignalWorkflowExecution =
              SignalWorkflowExecutionResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull SignalWorkflowExecutionResponse'
+
+instance Hashable SignalWorkflowExecution
 
 instance ToHeaders SignalWorkflowExecution where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.StartWorkflowExecution
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -51,8 +51,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html AWS API Reference> for StartWorkflowExecution.
 module Network.AWS.SWF.StartWorkflowExecution
     (
     -- * Creating a Request
@@ -148,14 +146,15 @@
 
 -- | The list of tags to associate with the workflow execution. You can
 -- specify a maximum of 5 tags. You can list workflow executions with a
--- specific tag by calling ListOpenWorkflowExecutions or
--- ListClosedWorkflowExecutions and specifying a TagFilter.
+-- specific tag by calling < ListOpenWorkflowExecutions> or
+-- < ListClosedWorkflowExecutions> and specifying a < TagFilter>.
 sTagList :: Lens' StartWorkflowExecution [Text]
 sTagList = lens _sTagList (\ s a -> s{_sTagList = a}) . _Default . _Coerce;
 
 -- | Specifies the maximum duration of decision tasks for this workflow
 -- execution. This parameter overrides the 'defaultTaskStartToCloseTimout'
--- specified when registering the workflow type using RegisterWorkflowType.
+-- specified when registering the workflow type using
+-- < RegisterWorkflowType>.
 --
 -- The duration is specified in seconds; an integer greater than or equal
 -- to 0. The value \"NONE\" can be used to specify unlimited duration.
@@ -232,9 +231,9 @@
 
 -- | If set, specifies the policy to use for the child workflow executions of
 -- this workflow execution if it is terminated, by calling the
--- TerminateWorkflowExecution action explicitly or due to an expired
+-- < TerminateWorkflowExecution> action explicitly or due to an expired
 -- timeout. This policy overrides the default child policy specified when
--- registering the workflow type using RegisterWorkflowType.
+-- registering the workflow type using < RegisterWorkflowType>.
 --
 -- The supported child policies are:
 --
@@ -277,12 +276,14 @@
 instance AWSRequest StartWorkflowExecution where
         type Rs StartWorkflowExecution =
              StartWorkflowExecutionResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveJSON
               (\ s h x ->
                  StartWorkflowExecutionResponse' <$>
                    (x .?> "runId") <*> (pure (fromEnum s)))
+
+instance Hashable StartWorkflowExecution
 
 instance ToHeaders StartWorkflowExecution where
         toHeaders
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
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.TerminateWorkflowExecution
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -31,9 +31,9 @@
 -- event is recorded in the history of the current open workflow with the
 -- matching workflowId in the domain.
 --
--- You should consider using RequestCancelWorkflowExecution action instead
--- because it allows the workflow to gracefully close while
--- TerminateWorkflowExecution does not.
+-- You should consider using < RequestCancelWorkflowExecution> action
+-- instead because it allows the workflow to gracefully close while
+-- < TerminateWorkflowExecution> does not.
 --
 -- __Access Control__
 --
@@ -52,8 +52,6 @@
 -- be set to OPERATION_NOT_PERMITTED. For details and example IAM policies,
 -- see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html Using IAM to Manage Access to Amazon SWF Workflows>.
---
--- /See:/ <http://docs.aws.amazon.com/amazonswf/latest/apireference/API_TerminateWorkflowExecution.html AWS API Reference> for TerminateWorkflowExecution.
 module Network.AWS.SWF.TerminateWorkflowExecution
     (
     -- * Creating a Request
@@ -163,9 +161,11 @@
 instance AWSRequest TerminateWorkflowExecution where
         type Rs TerminateWorkflowExecution =
              TerminateWorkflowExecutionResponse
-        request = postJSON sWF
+        request = postJSON swf
         response
           = receiveNull TerminateWorkflowExecutionResponse'
+
+instance Hashable TerminateWorkflowExecution
 
 instance ToHeaders TerminateWorkflowExecution where
         toHeaders
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
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.Types
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -13,7 +13,7 @@
 module Network.AWS.SWF.Types
     (
     -- * Service Configuration
-      sWF
+      swf
 
     -- * Errors
     , _DomainAlreadyExistsFault
@@ -877,14 +877,14 @@
 import           Network.AWS.SWF.Types.Sum
 
 -- | API version '2012-01-25' of the Amazon Simple Workflow Service SDK configuration.
-sWF :: Service
-sWF =
+swf :: Service
+swf =
     Service
     { _svcAbbrev = "SWF"
     , _svcSigner = v4
     , _svcPrefix = "swf"
     , _svcVersion = "2012-01-25"
-    , _svcEndpoint = defaultEndpoint sWF
+    , _svcEndpoint = defaultEndpoint swf
     , _svcTimeout = Just 70
     , _svcCheck = statusSuccess
     , _svcError = parseJSONError
@@ -899,6 +899,7 @@
         , _retryCheck = check
         }
     check e
+      | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
@@ -918,8 +919,8 @@
 _LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
 _LimitExceededFault = _ServiceError . hasCode "LimitExceededFault"
 
--- | Returned by StartWorkflowExecution when an open execution with the same
--- workflowId is already running in the specified domain.
+-- | Returned by < StartWorkflowExecution> when an open execution with the
+-- same workflowId is already running in the specified domain.
 _WorkflowExecutionAlreadyStartedFault :: AsError a => Getting (First ServiceError) a ServiceError
 _WorkflowExecutionAlreadyStartedFault =
     _ServiceError . hasCode "WorkflowExecutionAlreadyStartedFault"
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
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.Types.Product
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -68,6 +68,9 @@
                    (x .: "decisionTaskCompletedEventId") <*>
                      (x .: "activityId"))
 
+instance Hashable
+         ActivityTaskCancelRequestedEventAttributes
+
 -- | Provides details of the 'ActivityTaskCanceled' event.
 --
 -- /See:/ 'activityTaskCanceledEventAttributes' smart constructor.
@@ -136,6 +139,8 @@
                      <*> (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable ActivityTaskCanceledEventAttributes
+
 -- | Provides details of the 'ActivityTaskCompleted' event.
 --
 -- /See:/ 'activityTaskCompletedEventAttributes' smart constructor.
@@ -191,6 +196,9 @@
                    (x .:? "result") <*> (x .: "scheduledEventId") <*>
                      (x .: "startedEventId"))
 
+instance Hashable
+         ActivityTaskCompletedEventAttributes
+
 -- | Provides details of the 'ActivityTaskFailed' event.
 --
 -- /See:/ 'activityTaskFailedEventAttributes' smart constructor.
@@ -255,6 +263,8 @@
                      (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable ActivityTaskFailedEventAttributes
+
 -- | Provides details of the 'ActivityTaskScheduled' event.
 --
 -- /See:/ 'activityTaskScheduledEventAttributes' smart constructor.
@@ -324,10 +334,10 @@
 atseaControl = lens _atseaControl (\ s a -> s{_atseaControl = a});
 
 -- | The maximum time before which the worker processing this task must
--- report progress by calling RecordActivityTaskHeartbeat. If the timeout
--- is exceeded, the activity task is automatically timed out. If the worker
--- subsequently attempts to record a heartbeat or return a result, it will
--- be ignored.
+-- report progress by calling < RecordActivityTaskHeartbeat>. If the
+-- timeout is exceeded, the activity task is automatically timed out. If
+-- the worker subsequently attempts to record a heartbeat or return a
+-- result, it will be ignored.
 atseaHeartbeatTimeout :: Lens' ActivityTaskScheduledEventAttributes (Maybe Text)
 atseaHeartbeatTimeout = lens _atseaHeartbeatTimeout (\ s a -> s{_atseaHeartbeatTimeout = a});
 
@@ -399,6 +409,9 @@
                      <*> (x .: "taskList")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         ActivityTaskScheduledEventAttributes
+
 -- | Provides details of the 'ActivityTaskStarted' event.
 --
 -- /See:/ 'activityTaskStartedEventAttributes' smart constructor.
@@ -444,6 +457,8 @@
                  ActivityTaskStartedEventAttributes' <$>
                    (x .:? "identity") <*> (x .: "scheduledEventId"))
 
+instance Hashable ActivityTaskStartedEventAttributes
+
 -- | Provides details of the 'ActivityTaskTimedOut' event.
 --
 -- /See:/ 'activityTaskTimedOutEventAttributes' smart constructor.
@@ -510,6 +525,8 @@
                      (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable ActivityTaskTimedOutEventAttributes
+
 -- | Represents an activity type.
 --
 -- /See:/ 'activityType' smart constructor.
@@ -555,6 +572,8 @@
               (\ x ->
                  ActivityType' <$> (x .: "name") <*> (x .: "version"))
 
+instance Hashable ActivityType
+
 instance ToJSON ActivityType where
         toJSON ActivityType'{..}
           = object
@@ -636,7 +655,7 @@
 
 -- | /Optional./ The default maximum time, in seconds, before which a worker
 -- processing a task must report progress by calling
--- RecordActivityTaskHeartbeat.
+-- < RecordActivityTaskHeartbeat>.
 --
 -- You can specify this value only when /registering/ an activity type. The
 -- registered default value can be overridden when you schedule a task
@@ -683,6 +702,8 @@
                      <*> (x .:? "defaultTaskScheduleToCloseTimeout")
                      <*> (x .:? "defaultTaskStartToCloseTimeout"))
 
+instance Hashable ActivityTypeConfiguration
+
 -- | Detailed information about an activity type.
 --
 -- /See:/ 'activityTypeInfo' smart constructor.
@@ -721,15 +742,16 @@
     , _atiCreationDate = _Time # pCreationDate_
     }
 
--- | If DEPRECATED, the date and time DeprecateActivityType was called.
+-- | If DEPRECATED, the date and time < DeprecateActivityType> was called.
 atiDeprecationDate :: Lens' ActivityTypeInfo (Maybe UTCTime)
 atiDeprecationDate = lens _atiDeprecationDate (\ s a -> s{_atiDeprecationDate = a}) . mapping _Time;
 
--- | The description of the activity type provided in RegisterActivityType.
+-- | The description of the activity type provided in
+-- < RegisterActivityType>.
 atiDescription :: Lens' ActivityTypeInfo (Maybe Text)
 atiDescription = lens _atiDescription (\ s a -> s{_atiDescription = a});
 
--- | The ActivityType type structure representing the activity type.
+-- | The < ActivityType> type structure representing the activity type.
 atiActivityType :: Lens' ActivityTypeInfo ActivityType
 atiActivityType = lens _atiActivityType (\ s a -> s{_atiActivityType = a});
 
@@ -738,7 +760,7 @@
 atiStatus = lens _atiStatus (\ s a -> s{_atiStatus = a});
 
 -- | The date and time this activity type was created through
--- RegisterActivityType.
+-- < RegisterActivityType>.
 atiCreationDate :: Lens' ActivityTypeInfo UTCTime
 atiCreationDate = lens _atiCreationDate (\ s a -> s{_atiCreationDate = a}) . _Time;
 
@@ -752,6 +774,8 @@
                      <*> (x .: "status")
                      <*> (x .: "creationDate"))
 
+instance Hashable ActivityTypeInfo
+
 -- | Provides details of the 'CancelTimer' decision.
 --
 -- __Access Control__
@@ -794,6 +818,8 @@
 ctdaTimerId :: Lens' CancelTimerDecisionAttributes Text
 ctdaTimerId = lens _ctdaTimerId (\ s a -> s{_ctdaTimerId = a});
 
+instance Hashable CancelTimerDecisionAttributes
+
 instance ToJSON CancelTimerDecisionAttributes where
         toJSON CancelTimerDecisionAttributes'{..}
           = object
@@ -859,6 +885,8 @@
                    (x .: "timerId") <*> (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable CancelTimerFailedEventAttributes
+
 -- | Provides details of the 'CancelWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -900,6 +928,9 @@
 cwedaDetails :: Lens' CancelWorkflowExecutionDecisionAttributes (Maybe Text)
 cwedaDetails = lens _cwedaDetails (\ s a -> s{_cwedaDetails = a});
 
+instance Hashable
+         CancelWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          CancelWorkflowExecutionDecisionAttributes where
         toJSON CancelWorkflowExecutionDecisionAttributes'{..}
@@ -959,6 +990,9 @@
                    (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         CancelWorkflowExecutionFailedEventAttributes
+
 -- | Provide details of the 'ChildWorkflowExecutionCanceled' event.
 --
 -- /See:/ 'childWorkflowExecutionCanceledEventAttributes' smart constructor.
@@ -1036,6 +1070,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         ChildWorkflowExecutionCanceledEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionCompleted' event.
 --
 -- /See:/ 'childWorkflowExecutionCompletedEventAttributes' smart constructor.
@@ -1113,6 +1150,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         ChildWorkflowExecutionCompletedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionFailed' event.
 --
 -- /See:/ 'childWorkflowExecutionFailedEventAttributes' smart constructor.
@@ -1199,6 +1239,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         ChildWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionStarted' event.
 --
 -- /See:/ 'childWorkflowExecutionStartedEventAttributes' smart constructor.
@@ -1254,6 +1297,9 @@
                    (x .: "workflowExecution") <*> (x .: "workflowType")
                      <*> (x .: "initiatedEventId"))
 
+instance Hashable
+         ChildWorkflowExecutionStartedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionTerminated' event.
 --
 -- /See:/ 'childWorkflowExecutionTerminatedEventAttributes' smart constructor.
@@ -1322,6 +1368,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         ChildWorkflowExecutionTerminatedEventAttributes
+
 -- | Provides details of the 'ChildWorkflowExecutionTimedOut' event.
 --
 -- /See:/ 'childWorkflowExecutionTimedOutEventAttributes' smart constructor.
@@ -1401,6 +1450,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         ChildWorkflowExecutionTimedOutEventAttributes
+
 -- | Used to filter the closed workflow executions in visibility APIs by
 -- their close status.
 --
@@ -1427,6 +1479,8 @@
 csfStatus :: Lens' CloseStatusFilter CloseStatus
 csfStatus = lens _csfStatus (\ s a -> s{_csfStatus = a});
 
+instance Hashable CloseStatusFilter
+
 instance ToJSON CloseStatusFilter where
         toJSON CloseStatusFilter'{..}
           = object (catMaybes [Just ("status" .= _csfStatus)])
@@ -1473,6 +1527,9 @@
 cwedaResult :: Lens' CompleteWorkflowExecutionDecisionAttributes (Maybe Text)
 cwedaResult = lens _cwedaResult (\ s a -> s{_cwedaResult = a});
 
+instance Hashable
+         CompleteWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          CompleteWorkflowExecutionDecisionAttributes where
         toJSON
@@ -1532,6 +1589,9 @@
                    (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         CompleteWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'ContinueAsNewWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -1609,14 +1669,15 @@
 
 -- | The list of tags to associate with the new workflow execution. A maximum
 -- of 5 tags can be specified. You can list workflow executions with a
--- specific tag by calling ListOpenWorkflowExecutions or
--- ListClosedWorkflowExecutions and specifying a TagFilter.
+-- specific tag by calling < ListOpenWorkflowExecutions> or
+-- < ListClosedWorkflowExecutions> and specifying a < TagFilter>.
 canwedaTagList :: Lens' ContinueAsNewWorkflowExecutionDecisionAttributes [Text]
 canwedaTagList = lens _canwedaTagList (\ s a -> s{_canwedaTagList = a}) . _Default . _Coerce;
 
 -- | Specifies the maximum duration of decision tasks for the new workflow
 -- execution. This parameter overrides the 'defaultTaskStartToCloseTimout'
--- specified when registering the workflow type using RegisterWorkflowType.
+-- specified when registering the workflow type using
+-- < RegisterWorkflowType>.
 --
 -- The duration is specified in seconds; an integer greater than or equal
 -- to 0. The value \"NONE\" can be used to specify unlimited duration.
@@ -1680,9 +1741,9 @@
 
 -- | If set, specifies the policy to use for the child workflow executions of
 -- the new execution if it is terminated by calling the
--- TerminateWorkflowExecution action explicitly or due to an expired
+-- < TerminateWorkflowExecution> action explicitly or due to an expired
 -- timeout. This policy overrides the default child policy specified when
--- registering the workflow type using RegisterWorkflowType.
+-- registering the workflow type using < RegisterWorkflowType>.
 --
 -- The supported child policies are:
 --
@@ -1701,6 +1762,9 @@
 canwedaChildPolicy :: Lens' ContinueAsNewWorkflowExecutionDecisionAttributes (Maybe ChildPolicy)
 canwedaChildPolicy = lens _canwedaChildPolicy (\ s a -> s{_canwedaChildPolicy = a});
 
+instance Hashable
+         ContinueAsNewWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          ContinueAsNewWorkflowExecutionDecisionAttributes
          where
@@ -1776,6 +1840,9 @@
                    (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         ContinueAsNewWorkflowExecutionFailedEventAttributes
+
 -- | Specifies a decision made by the decider. A decision can be one of these
 -- types:
 --
@@ -1800,7 +1867,7 @@
 --     not been assigned to a worker, then it will be canceled. If the
 --     activity task was already assigned to a worker, then the worker will
 --     be informed that cancellation has been requested in the response to
---     RecordActivityTaskHeartbeat.
+--     < RecordActivityTaskHeartbeat>.
 -- -   __RequestCancelExternalWorkflowExecution__: requests that a request
 --     be made to cancel the specified external workflow execution and
 --     records a 'RequestCancelExternalWorkflowExecutionInitiated' event in
@@ -1899,7 +1966,7 @@
 -- history while the decision task was being performed by the decider.
 -- Unlike the above situations which are logic issues, this fault is always
 -- possible because of race conditions in a distributed system. The right
--- action here is to call RespondDecisionTaskCompleted without any
+-- action here is to call < RespondDecisionTaskCompleted> without any
 -- decisions. This would result in another decision task with these new
 -- events included in the history. The decider should handle the new events
 -- and may decide to close the workflow execution.
@@ -1910,19 +1977,19 @@
 -- the above decision values, and then set the corresponding attributes
 -- field shown below:
 --
--- -   ScheduleActivityTaskDecisionAttributes
--- -   ScheduleLambdaFunctionDecisionAttributes
--- -   RequestCancelActivityTaskDecisionAttributes
--- -   CompleteWorkflowExecutionDecisionAttributes
--- -   FailWorkflowExecutionDecisionAttributes
--- -   CancelWorkflowExecutionDecisionAttributes
--- -   ContinueAsNewWorkflowExecutionDecisionAttributes
--- -   RecordMarkerDecisionAttributes
--- -   StartTimerDecisionAttributes
--- -   CancelTimerDecisionAttributes
--- -   SignalExternalWorkflowExecutionDecisionAttributes
--- -   RequestCancelExternalWorkflowExecutionDecisionAttributes
--- -   StartChildWorkflowExecutionDecisionAttributes
+-- -   < ScheduleActivityTaskDecisionAttributes>
+-- -   < ScheduleLambdaFunctionDecisionAttributes>
+-- -   < RequestCancelActivityTaskDecisionAttributes>
+-- -   < CompleteWorkflowExecutionDecisionAttributes>
+-- -   < FailWorkflowExecutionDecisionAttributes>
+-- -   < CancelWorkflowExecutionDecisionAttributes>
+-- -   < ContinueAsNewWorkflowExecutionDecisionAttributes>
+-- -   < RecordMarkerDecisionAttributes>
+-- -   < StartTimerDecisionAttributes>
+-- -   < CancelTimerDecisionAttributes>
+-- -   < SignalExternalWorkflowExecutionDecisionAttributes>
+-- -   < RequestCancelExternalWorkflowExecutionDecisionAttributes>
+-- -   < StartChildWorkflowExecutionDecisionAttributes>
 --
 -- /See:/ 'decision' smart constructor.
 data Decision = Decision'
@@ -2062,6 +2129,8 @@
 dDecisionType :: Lens' Decision DecisionType
 dDecisionType = lens _dDecisionType (\ s a -> s{_dDecisionType = a});
 
+instance Hashable Decision
+
 instance ToJSON Decision where
         toJSON Decision'{..}
           = object
@@ -2156,6 +2225,9 @@
                      (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         DecisionTaskCompletedEventAttributes
+
 -- | Provides details about the 'DecisionTaskScheduled' event.
 --
 -- /See:/ 'decisionTaskScheduledEventAttributes' smart constructor.
@@ -2217,6 +2289,9 @@
                      (x .:? "startToCloseTimeout")
                      <*> (x .: "taskList"))
 
+instance Hashable
+         DecisionTaskScheduledEventAttributes
+
 -- | Provides details of the 'DecisionTaskStarted' event.
 --
 -- /See:/ 'decisionTaskStartedEventAttributes' smart constructor.
@@ -2261,6 +2336,8 @@
                  DecisionTaskStartedEventAttributes' <$>
                    (x .:? "identity") <*> (x .: "scheduledEventId"))
 
+instance Hashable DecisionTaskStartedEventAttributes
+
 -- | Provides details of the 'DecisionTaskTimedOut' event.
 --
 -- /See:/ 'decisionTaskTimedOutEventAttributes' smart constructor.
@@ -2318,6 +2395,8 @@
                    (x .: "timeoutType") <*> (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable DecisionTaskTimedOutEventAttributes
+
 -- | Contains the configuration settings of a domain.
 --
 -- /See:/ 'domainConfiguration' smart constructor.
@@ -2349,6 +2428,8 @@
                  DomainConfiguration' <$>
                    (x .: "workflowExecutionRetentionPeriodInDays"))
 
+instance Hashable DomainConfiguration
+
 -- | Contains general information about a domain.
 --
 -- /See:/ 'domainInfo' smart constructor.
@@ -2378,7 +2459,7 @@
     , _diStatus = pStatus_
     }
 
--- | The description of the domain provided through RegisterDomain.
+-- | The description of the domain provided through < RegisterDomain>.
 diDescription :: Lens' DomainInfo (Maybe Text)
 diDescription = lens _diDescription (\ s a -> s{_diDescription = a});
 
@@ -2391,9 +2472,9 @@
 -- -   __REGISTERED__: The domain is properly registered and available. You
 --     can use this domain for registering types and creating new workflow
 --     executions.
--- -   __DEPRECATED__: The domain was deprecated using DeprecateDomain, but
---     is still in use. You should not create new workflow executions in
---     this domain.
+-- -   __DEPRECATED__: The domain was deprecated using < DeprecateDomain>,
+--     but is still in use. You should not create new workflow executions
+--     in this domain.
 diStatus :: Lens' DomainInfo RegistrationStatus
 diStatus = lens _diStatus (\ s a -> s{_diStatus = a});
 
@@ -2405,6 +2486,8 @@
                    (x .:? "description") <*> (x .: "name") <*>
                      (x .: "status"))
 
+instance Hashable 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
@@ -2441,6 +2524,8 @@
 etfOldestDate :: Lens' ExecutionTimeFilter UTCTime
 etfOldestDate = lens _etfOldestDate (\ s a -> s{_etfOldestDate = a}) . _Time;
 
+instance Hashable ExecutionTimeFilter
+
 instance ToJSON ExecutionTimeFilter where
         toJSON ExecutionTimeFilter'{..}
           = object
@@ -2499,6 +2584,9 @@
                    (x .: "workflowExecution") <*>
                      (x .: "initiatedEventId"))
 
+instance Hashable
+         ExternalWorkflowExecutionCancelRequestedEventAttributes
+
 -- | Provides details of the 'ExternalWorkflowExecutionSignaled' event.
 --
 -- /See:/ 'externalWorkflowExecutionSignaledEventAttributes' smart constructor.
@@ -2546,6 +2634,9 @@
                    (x .: "workflowExecution") <*>
                      (x .: "initiatedEventId"))
 
+instance Hashable
+         ExternalWorkflowExecutionSignaledEventAttributes
+
 -- | Provides details of the 'FailWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -2595,6 +2686,9 @@
 fwedaDetails :: Lens' FailWorkflowExecutionDecisionAttributes (Maybe Text)
 fwedaDetails = lens _fwedaDetails (\ s a -> s{_fwedaDetails = a});
 
+instance Hashable
+         FailWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          FailWorkflowExecutionDecisionAttributes where
         toJSON FailWorkflowExecutionDecisionAttributes'{..}
@@ -2655,6 +2749,9 @@
                    (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         FailWorkflowExecutionFailedEventAttributes
+
 -- | Event within a workflow execution. A history event can be one of these
 -- types:
 --
@@ -2679,7 +2776,7 @@
 -- -   __DecisionTaskStarted__: The decision task was dispatched to a
 --     decider.
 -- -   __DecisionTaskCompleted__: The decider successfully completed a
---     decision task by calling RespondDecisionTaskCompleted.
+--     decision task by calling < RespondDecisionTaskCompleted>.
 -- -   __DecisionTaskTimedOut__: The decision task timed out.
 -- -   __ActivityTaskScheduled__: An activity task was scheduled for
 --     execution.
@@ -2690,9 +2787,9 @@
 -- -   __ActivityTaskStarted__: The scheduled activity task was dispatched
 --     to a worker.
 -- -   __ActivityTaskCompleted__: An activity worker successfully completed
---     an activity task by calling RespondActivityTaskCompleted.
+--     an activity task by calling < RespondActivityTaskCompleted>.
 -- -   __ActivityTaskFailed__: An activity worker failed an activity task
---     by calling RespondActivityTaskFailed.
+--     by calling < RespondActivityTaskFailed>.
 -- -   __ActivityTaskTimedOut__: The activity task timed out.
 -- -   __ActivityTaskCanceled__: The activity task was successfully
 --     canceled.
@@ -3448,6 +3545,8 @@
                      <*> (x .: "eventType")
                      <*> (x .: "eventId"))
 
+instance Hashable HistoryEvent
+
 -- | Provides details for the 'LambdaFunctionCompleted' event.
 --
 -- /See:/ 'lambdaFunctionCompletedEventAttributes' smart constructor.
@@ -3501,6 +3600,9 @@
                    (x .:? "result") <*> (x .: "scheduledEventId") <*>
                      (x .: "startedEventId"))
 
+instance Hashable
+         LambdaFunctionCompletedEventAttributes
+
 -- | Provides details for the 'LambdaFunctionFailed' event.
 --
 -- /See:/ 'lambdaFunctionFailedEventAttributes' smart constructor.
@@ -3563,6 +3665,8 @@
                      (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable LambdaFunctionFailedEventAttributes
+
 -- | Provides details for the 'LambdaFunctionScheduled' event.
 --
 -- /See:/ 'lambdaFunctionScheduledEventAttributes' smart constructor.
@@ -3636,6 +3740,9 @@
                      <*> (x .: "name")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         LambdaFunctionScheduledEventAttributes
+
 -- | Provides details for the 'LambdaFunctionStarted' event.
 --
 -- /See:/ 'lambdaFunctionStartedEventAttributes' smart constructor.
@@ -3671,6 +3778,9 @@
                  LambdaFunctionStartedEventAttributes' <$>
                    (x .: "scheduledEventId"))
 
+instance Hashable
+         LambdaFunctionStartedEventAttributes
+
 -- | Provides details for the 'LambdaFunctionTimedOut' event.
 --
 -- /See:/ 'lambdaFunctionTimedOutEventAttributes' smart constructor.
@@ -3724,6 +3834,9 @@
                    (x .:? "timeoutType") <*> (x .: "scheduledEventId")
                      <*> (x .: "startedEventId"))
 
+instance Hashable
+         LambdaFunctionTimedOutEventAttributes
+
 -- | Provides details of the 'MarkerRecorded' event.
 --
 -- /See:/ 'markerRecordedEventAttributes' smart constructor.
@@ -3776,6 +3889,8 @@
                    (x .:? "details") <*> (x .: "markerName") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable MarkerRecordedEventAttributes
+
 -- | Contains the count of tasks in a task list.
 --
 -- /See:/ 'pendingTaskCount' smart constructor.
@@ -3817,6 +3932,8 @@
                  PendingTaskCount' <$>
                    (x .:? "truncated") <*> (x .: "count"))
 
+instance Hashable PendingTaskCount
+
 -- | Provides details of the 'RecordMarker' decision.
 --
 -- __Access Control__
@@ -3867,6 +3984,8 @@
 rmdaMarkerName :: Lens' RecordMarkerDecisionAttributes Text
 rmdaMarkerName = lens _rmdaMarkerName (\ s a -> s{_rmdaMarkerName = a});
 
+instance Hashable RecordMarkerDecisionAttributes
+
 instance ToJSON RecordMarkerDecisionAttributes where
         toJSON RecordMarkerDecisionAttributes'{..}
           = object
@@ -3934,6 +4053,8 @@
                    (x .: "markerName") <*> (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable RecordMarkerFailedEventAttributes
+
 -- | Provides details of the 'RequestCancelActivityTask' decision.
 --
 -- __Access Control__
@@ -3976,6 +4097,9 @@
 rcatdaActivityId :: Lens' RequestCancelActivityTaskDecisionAttributes Text
 rcatdaActivityId = lens _rcatdaActivityId (\ s a -> s{_rcatdaActivityId = a});
 
+instance Hashable
+         RequestCancelActivityTaskDecisionAttributes
+
 instance ToJSON
          RequestCancelActivityTaskDecisionAttributes where
         toJSON
@@ -4047,6 +4171,9 @@
                    (x .: "activityId") <*> (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         RequestCancelActivityTaskFailedEventAttributes
+
 -- | Provides details of the 'RequestCancelExternalWorkflowExecution'
 -- decision.
 --
@@ -4108,6 +4235,9 @@
 rcewedaWorkflowId :: Lens' RequestCancelExternalWorkflowExecutionDecisionAttributes Text
 rcewedaWorkflowId = lens _rcewedaWorkflowId (\ s a -> s{_rcewedaWorkflowId = a});
 
+instance Hashable
+         RequestCancelExternalWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          RequestCancelExternalWorkflowExecutionDecisionAttributes
          where
@@ -4217,6 +4347,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         RequestCancelExternalWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the
 -- 'RequestCancelExternalWorkflowExecutionInitiated' event.
 --
@@ -4285,6 +4418,9 @@
                      (x .: "workflowId")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         RequestCancelExternalWorkflowExecutionInitiatedEventAttributes
+
 -- | Provides details of the 'ScheduleActivityTask' decision.
 --
 -- __Access Control__
@@ -4373,11 +4509,11 @@
 
 -- | If set, specifies the maximum time before which a worker processing a
 -- task of this type must report progress by calling
--- RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity
+-- < RecordActivityTaskHeartbeat>. If the timeout is exceeded, the activity
 -- task is automatically timed out. If the worker subsequently attempts to
 -- record a heartbeat or returns a result, it will be ignored. This
 -- overrides the default heartbeat timeout specified when registering the
--- activity type using RegisterActivityType.
+-- activity type using < RegisterActivityType>.
 --
 -- The duration is specified in seconds; an integer greater than or equal
 -- to 0. The value \"NONE\" can be used to specify unlimited duration.
@@ -4418,10 +4554,10 @@
 
 -- | /Optional./ If set, specifies the priority with which the activity task
 -- is to be assigned to a worker. This overrides the defaultTaskPriority
--- specified when registering the activity type using RegisterActivityType.
--- Valid values are integers that range from Java\'s 'Integer.MIN_VALUE'
--- (-2147483648) to 'Integer.MAX_VALUE' (2147483647). Higher numbers
--- indicate higher priority.
+-- specified when registering the activity type using
+-- < RegisterActivityType>. Valid values are integers that range from
+-- Java\'s 'Integer.MIN_VALUE' (-2147483648) to 'Integer.MAX_VALUE'
+-- (2147483647). Higher numbers indicate higher priority.
 --
 -- For more information about setting task priority, see
 -- <http://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html Setting Task Priority>
@@ -4432,7 +4568,7 @@
 -- | /Optional./ If set, specifies the maximum duration the activity task can
 -- wait to be assigned to a worker. This overrides the default
 -- schedule-to-start timeout specified when registering the activity type
--- using RegisterActivityType.
+-- using < RegisterActivityType>.
 --
 -- The duration is specified in seconds; an integer greater than or equal
 -- to 0. The value \"NONE\" can be used to specify unlimited duration.
@@ -4446,7 +4582,8 @@
 
 -- | If set, specifies the maximum duration a worker may take to process this
 -- activity task. This overrides the default start-to-close timeout
--- specified when registering the activity type using RegisterActivityType.
+-- specified when registering the activity type using
+-- < RegisterActivityType>.
 --
 -- The duration is specified in seconds; an integer greater than or equal
 -- to 0. The value \"NONE\" can be used to specify unlimited duration.
@@ -4471,6 +4608,9 @@
 satdaActivityId :: Lens' ScheduleActivityTaskDecisionAttributes Text
 satdaActivityId = lens _satdaActivityId (\ s a -> s{_satdaActivityId = a});
 
+instance Hashable
+         ScheduleActivityTaskDecisionAttributes
+
 instance ToJSON
          ScheduleActivityTaskDecisionAttributes where
         toJSON ScheduleActivityTaskDecisionAttributes'{..}
@@ -4563,6 +4703,9 @@
                      (x .: "cause")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         ScheduleActivityTaskFailedEventAttributes
+
 -- | Provides details of the 'ScheduleLambdaFunction' decision.
 --
 -- __Access Control__
@@ -4641,6 +4784,9 @@
 slfdaName :: Lens' ScheduleLambdaFunctionDecisionAttributes Text
 slfdaName = lens _slfdaName (\ s a -> s{_slfdaName = a});
 
+instance Hashable
+         ScheduleLambdaFunctionDecisionAttributes
+
 instance ToJSON
          ScheduleLambdaFunctionDecisionAttributes where
         toJSON ScheduleLambdaFunctionDecisionAttributes'{..}
@@ -4722,6 +4868,9 @@
                    (x .: "id") <*> (x .: "name") <*> (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         ScheduleLambdaFunctionFailedEventAttributes
+
 -- | Provides details of the 'SignalExternalWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -4801,6 +4950,9 @@
 sewedaSignalName :: Lens' SignalExternalWorkflowExecutionDecisionAttributes Text
 sewedaSignalName = lens _sewedaSignalName (\ s a -> s{_sewedaSignalName = a});
 
+instance Hashable
+         SignalExternalWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          SignalExternalWorkflowExecutionDecisionAttributes
          where
@@ -4910,6 +5062,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         SignalExternalWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'SignalExternalWorkflowExecutionInitiated'
 -- event.
 --
@@ -4996,6 +5151,9 @@
                      <*> (x .: "signalName")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         SignalExternalWorkflowExecutionInitiatedEventAttributes
+
 -- | Provides details of the 'StartChildWorkflowExecution' decision.
 --
 -- __Access Control__
@@ -5091,14 +5249,15 @@
 
 -- | The list of tags to associate with the child workflow execution. A
 -- maximum of 5 tags can be specified. You can list workflow executions
--- with a specific tag by calling ListOpenWorkflowExecutions or
--- ListClosedWorkflowExecutions and specifying a TagFilter.
+-- with a specific tag by calling < ListOpenWorkflowExecutions> or
+-- < ListClosedWorkflowExecutions> and specifying a < TagFilter>.
 scwedaTagList :: Lens' StartChildWorkflowExecutionDecisionAttributes [Text]
 scwedaTagList = lens _scwedaTagList (\ s a -> s{_scwedaTagList = a}) . _Default . _Coerce;
 
 -- | Specifies the maximum duration of decision tasks for this workflow
 -- execution. This parameter overrides the 'defaultTaskStartToCloseTimout'
--- specified when registering the workflow type using RegisterWorkflowType.
+-- specified when registering the workflow type using
+-- < RegisterWorkflowType>.
 --
 -- The duration is specified in seconds; an integer greater than or equal
 -- to 0. The value \"NONE\" can be used to specify unlimited duration.
@@ -5169,9 +5328,10 @@
 
 -- | /Optional./ If set, specifies the policy to use for the child workflow
 -- executions if the workflow execution being started is terminated by
--- calling the TerminateWorkflowExecution action explicitly or due to an
+-- calling the < TerminateWorkflowExecution> action explicitly or due to an
 -- expired timeout. This policy overrides the default child policy
--- specified when registering the workflow type using RegisterWorkflowType.
+-- specified when registering the workflow type using
+-- < RegisterWorkflowType>.
 --
 -- The supported child policies are:
 --
@@ -5203,6 +5363,9 @@
 scwedaWorkflowId :: Lens' StartChildWorkflowExecutionDecisionAttributes Text
 scwedaWorkflowId = lens _scwedaWorkflowId (\ s a -> s{_scwedaWorkflowId = a});
 
+instance Hashable
+         StartChildWorkflowExecutionDecisionAttributes
+
 instance ToJSON
          StartChildWorkflowExecutionDecisionAttributes where
         toJSON
@@ -5318,6 +5481,9 @@
                      <*> (x .: "initiatedEventId")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         StartChildWorkflowExecutionFailedEventAttributes
+
 -- | Provides details of the 'StartChildWorkflowExecutionInitiated' event.
 --
 -- /See:/ 'startChildWorkflowExecutionInitiatedEventAttributes' smart constructor.
@@ -5453,7 +5619,7 @@
 scweieaDecisionTaskCompletedEventId = lens _scweieaDecisionTaskCompletedEventId (\ s a -> s{_scweieaDecisionTaskCompletedEventId = a});
 
 -- | The policy to use for the child workflow executions if this execution
--- gets terminated by explicitly calling the TerminateWorkflowExecution
+-- gets terminated by explicitly calling the < TerminateWorkflowExecution>
 -- action or due to an expired timeout.
 --
 -- The supported child policies are:
@@ -5489,6 +5655,9 @@
                      <*> (x .: "decisionTaskCompletedEventId")
                      <*> (x .: "childPolicy"))
 
+instance Hashable
+         StartChildWorkflowExecutionInitiatedEventAttributes
+
 -- | Provides details for the 'StartLambdaFunctionFailed' event.
 --
 -- /See:/ 'startLambdaFunctionFailedEventAttributes' smart constructor.
@@ -5547,6 +5716,9 @@
                    (x .:? "scheduledEventId") <*> (x .:? "cause") <*>
                      (x .:? "message"))
 
+instance Hashable
+         StartLambdaFunctionFailedEventAttributes
+
 -- | Provides details of the 'StartTimer' decision.
 --
 -- __Access Control__
@@ -5615,6 +5787,8 @@
 stdaStartToFireTimeout :: Lens' StartTimerDecisionAttributes Text
 stdaStartToFireTimeout = lens _stdaStartToFireTimeout (\ s a -> s{_stdaStartToFireTimeout = a});
 
+instance Hashable StartTimerDecisionAttributes
+
 instance ToJSON StartTimerDecisionAttributes where
         toJSON StartTimerDecisionAttributes'{..}
           = object
@@ -5684,6 +5858,8 @@
                    (x .: "timerId") <*> (x .: "cause") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable StartTimerFailedEventAttributes
+
 -- | Used to filter the workflow executions in visibility APIs based on a
 -- tag.
 --
@@ -5710,6 +5886,8 @@
 tfTag :: Lens' TagFilter Text
 tfTag = lens _tfTag (\ s a -> s{_tfTag = a});
 
+instance Hashable TagFilter
+
 instance ToJSON TagFilter where
         toJSON TagFilter'{..}
           = object (catMaybes [Just ("tag" .= _tfTag)])
@@ -5743,6 +5921,8 @@
           = withObject "TaskList"
               (\ x -> TaskList' <$> (x .: "name"))
 
+instance Hashable TaskList
+
 instance ToJSON TaskList where
         toJSON TaskList'{..}
           = object (catMaybes [Just ("name" .= _tlName)])
@@ -5802,6 +5982,8 @@
                    (x .: "timerId") <*> (x .: "startedEventId") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable TimerCanceledEventAttributes
+
 -- | Provides details of the 'TimerFired' event.
 --
 -- /See:/ 'timerFiredEventAttributes' smart constructor.
@@ -5844,6 +6026,8 @@
                  TimerFiredEventAttributes' <$>
                    (x .: "timerId") <*> (x .: "startedEventId"))
 
+instance Hashable TimerFiredEventAttributes
+
 -- | Provides details of the 'TimerStarted' event.
 --
 -- /See:/ 'timerStartedEventAttributes' smart constructor.
@@ -5910,6 +6094,8 @@
                      (x .: "startToFireTimeout")
                      <*> (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable TimerStartedEventAttributes
+
 -- | Represents a workflow execution.
 --
 -- /See:/ 'workflowExecution' smart constructor.
@@ -5950,6 +6136,8 @@
                  WorkflowExecution' <$>
                    (x .: "workflowId") <*> (x .: "runId"))
 
+instance Hashable WorkflowExecution
+
 instance ToJSON WorkflowExecution where
         toJSON WorkflowExecution'{..}
           = object
@@ -6016,6 +6204,9 @@
                      (x .:? "externalInitiatedEventId")
                      <*> (x .:? "cause"))
 
+instance Hashable
+         WorkflowExecutionCancelRequestedEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionCanceled' event.
 --
 -- /See:/ 'workflowExecutionCanceledEventAttributes' smart constructor.
@@ -6062,6 +6253,9 @@
                    (x .:? "details") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         WorkflowExecutionCanceledEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionCompleted' event.
 --
 -- /See:/ 'workflowExecutionCompletedEventAttributes' smart constructor.
@@ -6109,6 +6303,9 @@
                    (x .:? "result") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         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
@@ -6192,7 +6389,7 @@
 wecTaskList = lens _wecTaskList (\ s a -> s{_wecTaskList = a});
 
 -- | The policy to use for the child workflow executions if this workflow
--- execution is terminated, by calling the TerminateWorkflowExecution
+-- execution is terminated, by calling the < TerminateWorkflowExecution>
 -- action explicitly or due to an expired timeout.
 --
 -- The supported child policies are:
@@ -6219,6 +6416,8 @@
                      <*> (x .: "taskList")
                      <*> (x .: "childPolicy"))
 
+instance Hashable WorkflowExecutionConfiguration
+
 -- | Provides details of the 'WorkflowExecutionContinuedAsNew' event.
 --
 -- /See:/ 'workflowExecutionContinuedAsNewEventAttributes' smart constructor.
@@ -6331,7 +6530,7 @@
 wecaneaTaskList = lens _wecaneaTaskList (\ s a -> s{_wecaneaTaskList = a});
 
 -- | The policy to use for the child workflow executions of the new execution
--- if it is terminated by calling the TerminateWorkflowExecution action
+-- if it is terminated by calling the < TerminateWorkflowExecution> action
 -- explicitly or due to an expired timeout.
 --
 -- The supported child policies are:
@@ -6369,8 +6568,11 @@
                      <*> (x .: "childPolicy")
                      <*> (x .: "workflowType"))
 
+instance Hashable
+         WorkflowExecutionContinuedAsNewEventAttributes
+
 -- | Contains the count of workflow executions returned from
--- CountOpenWorkflowExecutions or CountClosedWorkflowExecutions
+-- < CountOpenWorkflowExecutions> or < CountClosedWorkflowExecutions>
 --
 -- /See:/ 'workflowExecutionCount' smart constructor.
 data WorkflowExecutionCount = WorkflowExecutionCount'
@@ -6411,6 +6613,8 @@
                  WorkflowExecutionCount' <$>
                    (x .:? "truncated") <*> (x .: "count"))
 
+instance Hashable WorkflowExecutionCount
+
 -- | Provides details of the 'WorkflowExecutionFailed' event.
 --
 -- /See:/ 'workflowExecutionFailedEventAttributes' smart constructor.
@@ -6463,6 +6667,9 @@
                    (x .:? "reason") <*> (x .:? "details") <*>
                      (x .: "decisionTaskCompletedEventId"))
 
+instance Hashable
+         WorkflowExecutionFailedEventAttributes
+
 -- | Used to filter the workflow executions in visibility APIs by their
 -- 'workflowId'.
 --
@@ -6488,6 +6695,8 @@
 wefWorkflowId :: Lens' WorkflowExecutionFilter Text
 wefWorkflowId = lens _wefWorkflowId (\ s a -> s{_wefWorkflowId = a});
 
+instance Hashable WorkflowExecutionFilter
+
 instance ToJSON WorkflowExecutionFilter where
         toJSON WorkflowExecutionFilter'{..}
           = object
@@ -6615,6 +6824,8 @@
                      <*> (x .: "startTimestamp")
                      <*> (x .: "executionStatus"))
 
+instance Hashable WorkflowExecutionInfo
+
 -- | Contains a paginated list of information about workflow executions.
 --
 -- /See:/ 'workflowExecutionInfos' smart constructor.
@@ -6660,6 +6871,8 @@
                    (x .:? "nextPageToken") <*>
                      (x .:? "executionInfos" .!= mempty))
 
+instance Hashable WorkflowExecutionInfos
+
 -- | Contains the counts of open tasks, child workflow executions and timers
 -- for a workflow execution.
 --
@@ -6733,6 +6946,8 @@
                      <*> (x .: "openTimers")
                      <*> (x .: "openChildWorkflowExecutions"))
 
+instance Hashable WorkflowExecutionOpenCounts
+
 -- | Provides details of the 'WorkflowExecutionSignaled' event.
 --
 -- /See:/ 'workflowExecutionSignaledEventAttributes' smart constructor.
@@ -6802,6 +7017,9 @@
                      <*> (x .:? "input")
                      <*> (x .: "signalName"))
 
+instance Hashable
+         WorkflowExecutionSignaledEventAttributes
+
 -- | Provides details of 'WorkflowExecutionStarted' event.
 --
 -- /See:/ 'workflowExecutionStartedEventAttributes' smart constructor.
@@ -6923,7 +7141,7 @@
 weseaContinuedExecutionRunId = lens _weseaContinuedExecutionRunId (\ s a -> s{_weseaContinuedExecutionRunId = a});
 
 -- | The policy to use for the child workflow executions if this workflow
--- execution is terminated, by calling the TerminateWorkflowExecution
+-- execution is terminated, by calling the < TerminateWorkflowExecution>
 -- action explicitly or due to an expired timeout.
 --
 -- The supported child policies are:
@@ -6967,6 +7185,9 @@
                      <*> (x .: "taskList")
                      <*> (x .: "workflowType"))
 
+instance Hashable
+         WorkflowExecutionStartedEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionTerminated' event.
 --
 -- /See:/ 'workflowExecutionTerminatedEventAttributes' smart constructor.
@@ -7040,6 +7261,9 @@
                      (x .:? "details")
                      <*> (x .: "childPolicy"))
 
+instance Hashable
+         WorkflowExecutionTerminatedEventAttributes
+
 -- | Provides details of the 'WorkflowExecutionTimedOut' event.
 --
 -- /See:/ 'workflowExecutionTimedOutEventAttributes' smart constructor.
@@ -7093,6 +7317,9 @@
                  WorkflowExecutionTimedOutEventAttributes' <$>
                    (x .: "timeoutType") <*> (x .: "childPolicy"))
 
+instance Hashable
+         WorkflowExecutionTimedOutEventAttributes
+
 -- | Represents a workflow type.
 --
 -- /See:/ 'workflowType' smart constructor.
@@ -7138,6 +7365,8 @@
               (\ x ->
                  WorkflowType' <$> (x .: "name") <*> (x .: "version"))
 
+instance Hashable WorkflowType
+
 instance ToJSON WorkflowType where
         toJSON WorkflowType'{..}
           = object
@@ -7191,9 +7420,9 @@
 
 -- | /Optional./ The default policy to use for the child workflow executions
 -- when a workflow execution of this type is terminated, by calling the
--- TerminateWorkflowExecution action explicitly or due to an expired
+-- < TerminateWorkflowExecution> action explicitly or due to an expired
 -- timeout. This default can be overridden when starting a workflow
--- execution using the StartWorkflowExecution action or the
+-- execution using the < StartWorkflowExecution> action or the
 -- 'StartChildWorkflowExecution' decision.
 --
 -- The supported child policies are:
@@ -7211,7 +7440,7 @@
 -- | /Optional./ The default task list, specified when registering the
 -- workflow type, for decisions tasks scheduled for workflow executions of
 -- this type. This default can be overridden when starting a workflow
--- execution using the StartWorkflowExecution action or the
+-- execution using the < StartWorkflowExecution> action or the
 -- 'StartChildWorkflowExecution' decision.
 wtcDefaultTaskList :: Lens' WorkflowTypeConfiguration (Maybe TaskList)
 wtcDefaultTaskList = lens _wtcDefaultTaskList (\ s a -> s{_wtcDefaultTaskList = a});
@@ -7219,7 +7448,7 @@
 -- | /Optional./ The default task priority, specified when registering the
 -- workflow type, for all decision tasks of this workflow type. This
 -- default can be overridden when starting a workflow execution using the
--- StartWorkflowExecution action or the 'StartChildWorkflowExecution'
+-- < StartWorkflowExecution> action or the 'StartChildWorkflowExecution'
 -- decision.
 --
 -- Valid values are integers that range from Java\'s 'Integer.MIN_VALUE'
@@ -7235,7 +7464,7 @@
 -- | /Optional./ The default maximum duration, specified when registering the
 -- workflow type, for executions of this workflow type. This default can be
 -- overridden when starting a workflow execution using the
--- StartWorkflowExecution action or the 'StartChildWorkflowExecution'
+-- < StartWorkflowExecution> action or the 'StartChildWorkflowExecution'
 -- decision.
 --
 -- The duration is specified in seconds; an integer greater than or equal
@@ -7249,7 +7478,7 @@
 -- close in the specified time then the task is automatically timed out and
 -- rescheduled. If the decider eventually reports a completion or failure,
 -- it is ignored. This default can be overridden when starting a workflow
--- execution using the StartWorkflowExecution action or the
+-- execution using the < StartWorkflowExecution> action or the
 -- 'StartChildWorkflowExecution' decision.
 --
 -- The duration is specified in seconds; an integer greater than or equal
@@ -7269,6 +7498,8 @@
                      <*> (x .:? "defaultExecutionStartToCloseTimeout")
                      <*> (x .:? "defaultTaskStartToCloseTimeout"))
 
+instance Hashable 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.
@@ -7303,6 +7534,8 @@
 wtfName :: Lens' WorkflowTypeFilter Text
 wtfName = lens _wtfName (\ s a -> s{_wtfName = a});
 
+instance Hashable WorkflowTypeFilter
+
 instance ToJSON WorkflowTypeFilter where
         toJSON WorkflowTypeFilter'{..}
           = object
@@ -7353,7 +7586,7 @@
 wtiDeprecationDate :: Lens' WorkflowTypeInfo (Maybe UTCTime)
 wtiDeprecationDate = lens _wtiDeprecationDate (\ s a -> s{_wtiDeprecationDate = a}) . mapping _Time;
 
--- | The description of the type registered through RegisterWorkflowType.
+-- | The description of the type registered through < RegisterWorkflowType>.
 wtiDescription :: Lens' WorkflowTypeInfo (Maybe Text)
 wtiDescription = lens _wtiDescription (\ s a -> s{_wtiDescription = a});
 
@@ -7378,3 +7611,5 @@
                      <*> (x .: "workflowType")
                      <*> (x .: "status")
                      <*> (x .: "creationDate"))
+
+instance Hashable 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
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.Types.Sum
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/gen/Network/AWS/SWF/Waiters.hs b/gen/Network/AWS/SWF/Waiters.hs
--- a/gen/Network/AWS/SWF/Waiters.hs
+++ b/gen/Network/AWS/SWF/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.SWF.Waiters
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
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
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.SWF
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -383,215 +383,215 @@
 testListOpenWorkflowExecutionsResponse = res
     "ListOpenWorkflowExecutionsResponse"
     "fixture/ListOpenWorkflowExecutionsResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy ListOpenWorkflowExecutions)
 
 testRegisterActivityTypeResponse :: RegisterActivityTypeResponse -> TestTree
 testRegisterActivityTypeResponse = res
     "RegisterActivityTypeResponse"
     "fixture/RegisterActivityTypeResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RegisterActivityType)
 
 testListActivityTypesResponse :: ListActivityTypesResponse -> TestTree
 testListActivityTypesResponse = res
     "ListActivityTypesResponse"
     "fixture/ListActivityTypesResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy ListActivityTypes)
 
 testCountPendingActivityTasksResponse :: PendingTaskCount -> TestTree
 testCountPendingActivityTasksResponse = res
     "CountPendingActivityTasksResponse"
     "fixture/CountPendingActivityTasksResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy CountPendingActivityTasks)
 
 testRegisterWorkflowTypeResponse :: RegisterWorkflowTypeResponse -> TestTree
 testRegisterWorkflowTypeResponse = res
     "RegisterWorkflowTypeResponse"
     "fixture/RegisterWorkflowTypeResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RegisterWorkflowType)
 
 testListWorkflowTypesResponse :: ListWorkflowTypesResponse -> TestTree
 testListWorkflowTypesResponse = res
     "ListWorkflowTypesResponse"
     "fixture/ListWorkflowTypesResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy ListWorkflowTypes)
 
 testRespondActivityTaskFailedResponse :: RespondActivityTaskFailedResponse -> TestTree
 testRespondActivityTaskFailedResponse = res
     "RespondActivityTaskFailedResponse"
     "fixture/RespondActivityTaskFailedResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RespondActivityTaskFailed)
 
 testCountOpenWorkflowExecutionsResponse :: WorkflowExecutionCount -> TestTree
 testCountOpenWorkflowExecutionsResponse = res
     "CountOpenWorkflowExecutionsResponse"
     "fixture/CountOpenWorkflowExecutionsResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy CountOpenWorkflowExecutions)
 
 testDescribeWorkflowTypeResponse :: DescribeWorkflowTypeResponse -> TestTree
 testDescribeWorkflowTypeResponse = res
     "DescribeWorkflowTypeResponse"
     "fixture/DescribeWorkflowTypeResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DescribeWorkflowType)
 
 testDeprecateWorkflowTypeResponse :: DeprecateWorkflowTypeResponse -> TestTree
 testDeprecateWorkflowTypeResponse = res
     "DeprecateWorkflowTypeResponse"
     "fixture/DeprecateWorkflowTypeResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DeprecateWorkflowType)
 
 testRequestCancelWorkflowExecutionResponse :: RequestCancelWorkflowExecutionResponse -> TestTree
 testRequestCancelWorkflowExecutionResponse = res
     "RequestCancelWorkflowExecutionResponse"
     "fixture/RequestCancelWorkflowExecutionResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RequestCancelWorkflowExecution)
 
 testRegisterDomainResponse :: RegisterDomainResponse -> TestTree
 testRegisterDomainResponse = res
     "RegisterDomainResponse"
     "fixture/RegisterDomainResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RegisterDomain)
 
 testRespondDecisionTaskCompletedResponse :: RespondDecisionTaskCompletedResponse -> TestTree
 testRespondDecisionTaskCompletedResponse = res
     "RespondDecisionTaskCompletedResponse"
     "fixture/RespondDecisionTaskCompletedResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RespondDecisionTaskCompleted)
 
 testPollForActivityTaskResponse :: PollForActivityTaskResponse -> TestTree
 testPollForActivityTaskResponse = res
     "PollForActivityTaskResponse"
     "fixture/PollForActivityTaskResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy PollForActivityTask)
 
 testRespondActivityTaskCompletedResponse :: RespondActivityTaskCompletedResponse -> TestTree
 testRespondActivityTaskCompletedResponse = res
     "RespondActivityTaskCompletedResponse"
     "fixture/RespondActivityTaskCompletedResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RespondActivityTaskCompleted)
 
 testDescribeWorkflowExecutionResponse :: DescribeWorkflowExecutionResponse -> TestTree
 testDescribeWorkflowExecutionResponse = res
     "DescribeWorkflowExecutionResponse"
     "fixture/DescribeWorkflowExecutionResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DescribeWorkflowExecution)
 
 testSignalWorkflowExecutionResponse :: SignalWorkflowExecutionResponse -> TestTree
 testSignalWorkflowExecutionResponse = res
     "SignalWorkflowExecutionResponse"
     "fixture/SignalWorkflowExecutionResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy SignalWorkflowExecution)
 
 testCountPendingDecisionTasksResponse :: PendingTaskCount -> TestTree
 testCountPendingDecisionTasksResponse = res
     "CountPendingDecisionTasksResponse"
     "fixture/CountPendingDecisionTasksResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy CountPendingDecisionTasks)
 
 testListClosedWorkflowExecutionsResponse :: WorkflowExecutionInfos -> TestTree
 testListClosedWorkflowExecutionsResponse = res
     "ListClosedWorkflowExecutionsResponse"
     "fixture/ListClosedWorkflowExecutionsResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy ListClosedWorkflowExecutions)
 
 testRecordActivityTaskHeartbeatResponse :: RecordActivityTaskHeartbeatResponse -> TestTree
 testRecordActivityTaskHeartbeatResponse = res
     "RecordActivityTaskHeartbeatResponse"
     "fixture/RecordActivityTaskHeartbeatResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RecordActivityTaskHeartbeat)
 
 testDescribeDomainResponse :: DescribeDomainResponse -> TestTree
 testDescribeDomainResponse = res
     "DescribeDomainResponse"
     "fixture/DescribeDomainResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DescribeDomain)
 
 testGetWorkflowExecutionHistoryResponse :: GetWorkflowExecutionHistoryResponse -> TestTree
 testGetWorkflowExecutionHistoryResponse = res
     "GetWorkflowExecutionHistoryResponse"
     "fixture/GetWorkflowExecutionHistoryResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy GetWorkflowExecutionHistory)
 
 testDeprecateDomainResponse :: DeprecateDomainResponse -> TestTree
 testDeprecateDomainResponse = res
     "DeprecateDomainResponse"
     "fixture/DeprecateDomainResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DeprecateDomain)
 
 testTerminateWorkflowExecutionResponse :: TerminateWorkflowExecutionResponse -> TestTree
 testTerminateWorkflowExecutionResponse = res
     "TerminateWorkflowExecutionResponse"
     "fixture/TerminateWorkflowExecutionResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy TerminateWorkflowExecution)
 
 testDescribeActivityTypeResponse :: DescribeActivityTypeResponse -> TestTree
 testDescribeActivityTypeResponse = res
     "DescribeActivityTypeResponse"
     "fixture/DescribeActivityTypeResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DescribeActivityType)
 
 testDeprecateActivityTypeResponse :: DeprecateActivityTypeResponse -> TestTree
 testDeprecateActivityTypeResponse = res
     "DeprecateActivityTypeResponse"
     "fixture/DeprecateActivityTypeResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy DeprecateActivityType)
 
 testCountClosedWorkflowExecutionsResponse :: WorkflowExecutionCount -> TestTree
 testCountClosedWorkflowExecutionsResponse = res
     "CountClosedWorkflowExecutionsResponse"
     "fixture/CountClosedWorkflowExecutionsResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy CountClosedWorkflowExecutions)
 
 testRespondActivityTaskCanceledResponse :: RespondActivityTaskCanceledResponse -> TestTree
 testRespondActivityTaskCanceledResponse = res
     "RespondActivityTaskCanceledResponse"
     "fixture/RespondActivityTaskCanceledResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy RespondActivityTaskCanceled)
 
 testStartWorkflowExecutionResponse :: StartWorkflowExecutionResponse -> TestTree
 testStartWorkflowExecutionResponse = res
     "StartWorkflowExecutionResponse"
     "fixture/StartWorkflowExecutionResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy StartWorkflowExecution)
 
 testPollForDecisionTaskResponse :: PollForDecisionTaskResponse -> TestTree
 testPollForDecisionTaskResponse = res
     "PollForDecisionTaskResponse"
     "fixture/PollForDecisionTaskResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy PollForDecisionTask)
 
 testListDomainsResponse :: ListDomainsResponse -> TestTree
 testListDomainsResponse = res
     "ListDomainsResponse"
     "fixture/ListDomainsResponse.proto"
-    sWF
+    swf
     (Proxy :: Proxy ListDomains)
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
@@ -2,7 +2,7 @@
 {-# LANGUAGE TemplateHaskell   #-}
 
 -- Module      : Test.AWS.SWF
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/SWF/Internal.hs b/test/Test/AWS/SWF/Internal.hs
--- a/test/Test/AWS/SWF/Internal.hs
+++ b/test/Test/AWS/SWF/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.SWF.Internal
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
