diff --git a/amazonka-sqs.cabal b/amazonka-sqs.cabal
--- a/amazonka-sqs.cabal
+++ b/amazonka-sqs.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-sqs
-version:               0.2.1
+version:               0.2.2
 synopsis:              Amazon Simple Queue Service SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -61,5 +61,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.2.1.*
+          amazonka-core == 0.2.2.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/SQS/AddPermission.hs b/gen/Network/AWS/SQS/AddPermission.hs
--- a/gen/Network/AWS/SQS/AddPermission.hs
+++ b/gen/Network/AWS/SQS/AddPermission.hs
@@ -68,7 +68,7 @@
     , _apActions       :: List "member" Text
     , _apLabel         :: Text
     , _apQueueUrl      :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'AddPermission' constructor.
 --
@@ -118,7 +118,7 @@
 apQueueUrl = lens _apQueueUrl (\s a -> s { _apQueueUrl = a })
 
 data AddPermissionResponse = AddPermissionResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'AddPermissionResponse' constructor.
 addPermissionResponse :: AddPermissionResponse
diff --git a/gen/Network/AWS/SQS/ChangeMessageVisibility.hs b/gen/Network/AWS/SQS/ChangeMessageVisibility.hs
--- a/gen/Network/AWS/SQS/ChangeMessageVisibility.hs
+++ b/gen/Network/AWS/SQS/ChangeMessageVisibility.hs
@@ -79,7 +79,7 @@
     { _cmvQueueUrl          :: Text
     , _cmvReceiptHandle     :: Text
     , _cmvVisibilityTimeout :: Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ChangeMessageVisibility' constructor.
 --
@@ -117,7 +117,7 @@
     lens _cmvVisibilityTimeout (\s a -> s { _cmvVisibilityTimeout = a })
 
 data ChangeMessageVisibilityResponse = ChangeMessageVisibilityResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'ChangeMessageVisibilityResponse' constructor.
 changeMessageVisibilityResponse :: ChangeMessageVisibilityResponse
diff --git a/gen/Network/AWS/SQS/ChangeMessageVisibilityBatch.hs b/gen/Network/AWS/SQS/ChangeMessageVisibilityBatch.hs
--- a/gen/Network/AWS/SQS/ChangeMessageVisibilityBatch.hs
+++ b/gen/Network/AWS/SQS/ChangeMessageVisibilityBatch.hs
@@ -63,7 +63,7 @@
 data ChangeMessageVisibilityBatch = ChangeMessageVisibilityBatch
     { _cmvbEntries  :: List "member" ChangeMessageVisibilityBatchRequestEntry
     , _cmvbQueueUrl :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeMessageVisibilityBatch' constructor.
 --
@@ -92,7 +92,7 @@
 data ChangeMessageVisibilityBatchResponse = ChangeMessageVisibilityBatchResponse
     { _cmvbrFailed     :: List "member" BatchResultErrorEntry
     , _cmvbrSuccessful :: List "member" ChangeMessageVisibilityBatchResultEntry
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ChangeMessageVisibilityBatchResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/CreateQueue.hs b/gen/Network/AWS/SQS/CreateQueue.hs
--- a/gen/Network/AWS/SQS/CreateQueue.hs
+++ b/gen/Network/AWS/SQS/CreateQueue.hs
@@ -73,7 +73,7 @@
 data CreateQueue = CreateQueue
     { _cqAttributes :: EMap "entry" "Name" "Value" Text Text
     , _cqQueueName  :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'CreateQueue' constructor.
 --
@@ -117,7 +117,7 @@
 
 newtype CreateQueueResponse = CreateQueueResponse
     { _cqrQueueUrl :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'CreateQueueResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/DeleteMessage.hs b/gen/Network/AWS/SQS/DeleteMessage.hs
--- a/gen/Network/AWS/SQS/DeleteMessage.hs
+++ b/gen/Network/AWS/SQS/DeleteMessage.hs
@@ -70,7 +70,7 @@
 data DeleteMessage = DeleteMessage
     { _dmQueueUrl      :: Text
     , _dmReceiptHandle :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteMessage' constructor.
 --
@@ -97,7 +97,7 @@
 dmReceiptHandle = lens _dmReceiptHandle (\s a -> s { _dmReceiptHandle = a })
 
 data DeleteMessageResponse = DeleteMessageResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteMessageResponse' constructor.
 deleteMessageResponse :: DeleteMessageResponse
diff --git a/gen/Network/AWS/SQS/DeleteMessageBatch.hs b/gen/Network/AWS/SQS/DeleteMessageBatch.hs
--- a/gen/Network/AWS/SQS/DeleteMessageBatch.hs
+++ b/gen/Network/AWS/SQS/DeleteMessageBatch.hs
@@ -64,7 +64,7 @@
 data DeleteMessageBatch = DeleteMessageBatch
     { _dmbEntries  :: List "member" DeleteMessageBatchRequestEntry
     , _dmbQueueUrl :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteMessageBatch' constructor.
 --
@@ -92,7 +92,7 @@
 data DeleteMessageBatchResponse = DeleteMessageBatchResponse
     { _dmbrFailed     :: List "member" BatchResultErrorEntry
     , _dmbrSuccessful :: List "member" DeleteMessageBatchResultEntry
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'DeleteMessageBatchResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/DeleteQueue.hs b/gen/Network/AWS/SQS/DeleteQueue.hs
--- a/gen/Network/AWS/SQS/DeleteQueue.hs
+++ b/gen/Network/AWS/SQS/DeleteQueue.hs
@@ -62,7 +62,7 @@
 
 newtype DeleteQueue = DeleteQueue
     { _dqQueueUrl :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteQueue' constructor.
 --
@@ -81,7 +81,7 @@
 dqQueueUrl = lens _dqQueueUrl (\s a -> s { _dqQueueUrl = a })
 
 data DeleteQueueResponse = DeleteQueueResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'DeleteQueueResponse' constructor.
 deleteQueueResponse :: DeleteQueueResponse
diff --git a/gen/Network/AWS/SQS/GetQueueAttributes.hs b/gen/Network/AWS/SQS/GetQueueAttributes.hs
--- a/gen/Network/AWS/SQS/GetQueueAttributes.hs
+++ b/gen/Network/AWS/SQS/GetQueueAttributes.hs
@@ -74,7 +74,7 @@
 data GetQueueAttributes = GetQueueAttributes
     { _gqaAttributeNames :: List "member" Text
     , _gqaQueueUrl       :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'GetQueueAttributes' constructor.
 --
@@ -103,7 +103,7 @@
 
 newtype GetQueueAttributesResponse = GetQueueAttributesResponse
     { _gqarAttributes :: EMap "entry" "Name" "Value" Text Text
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'GetQueueAttributesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/GetQueueUrl.hs b/gen/Network/AWS/SQS/GetQueueUrl.hs
--- a/gen/Network/AWS/SQS/GetQueueUrl.hs
+++ b/gen/Network/AWS/SQS/GetQueueUrl.hs
@@ -56,7 +56,7 @@
 data GetQueueUrl = GetQueueUrl
     { _gquQueueName              :: Text
     , _gquQueueOwnerAWSAccountId :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'GetQueueUrl' constructor.
 --
@@ -86,7 +86,7 @@
 
 newtype GetQueueUrlResponse = GetQueueUrlResponse
     { _gqurQueueUrl :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'GetQueueUrlResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/ListDeadLetterSourceQueues.hs b/gen/Network/AWS/SQS/ListDeadLetterSourceQueues.hs
--- a/gen/Network/AWS/SQS/ListDeadLetterSourceQueues.hs
+++ b/gen/Network/AWS/SQS/ListDeadLetterSourceQueues.hs
@@ -52,7 +52,7 @@
 
 newtype ListDeadLetterSourceQueues = ListDeadLetterSourceQueues
     { _ldlsqQueueUrl :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'ListDeadLetterSourceQueues' constructor.
 --
@@ -72,7 +72,7 @@
 
 newtype ListDeadLetterSourceQueuesResponse = ListDeadLetterSourceQueuesResponse
     { _ldlsqrQueueUrls :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 -- | 'ListDeadLetterSourceQueuesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/ListQueues.hs b/gen/Network/AWS/SQS/ListQueues.hs
--- a/gen/Network/AWS/SQS/ListQueues.hs
+++ b/gen/Network/AWS/SQS/ListQueues.hs
@@ -52,7 +52,7 @@
 
 newtype ListQueues = ListQueues
     { _lqQueueNamePrefix :: Maybe Text
-    } deriving (Eq, Ord, Show, Monoid)
+    } deriving (Eq, Ord, Read, Show, Monoid)
 
 -- | 'ListQueues' constructor.
 --
@@ -73,7 +73,7 @@
 
 newtype ListQueuesResponse = ListQueuesResponse
     { _lqrQueueUrls :: List "member" Text
-    } deriving (Eq, Ord, Show, Monoid, Semigroup)
+    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)
 
 -- | 'ListQueuesResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/PurgeQueue.hs b/gen/Network/AWS/SQS/PurgeQueue.hs
--- a/gen/Network/AWS/SQS/PurgeQueue.hs
+++ b/gen/Network/AWS/SQS/PurgeQueue.hs
@@ -54,7 +54,7 @@
 
 newtype PurgeQueue = PurgeQueue
     { _pqQueueUrl :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'PurgeQueue' constructor.
 --
@@ -73,7 +73,7 @@
 pqQueueUrl = lens _pqQueueUrl (\s a -> s { _pqQueueUrl = a })
 
 data PurgeQueueResponse = PurgeQueueResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'PurgeQueueResponse' constructor.
 purgeQueueResponse :: PurgeQueueResponse
diff --git a/gen/Network/AWS/SQS/ReceiveMessage.hs b/gen/Network/AWS/SQS/ReceiveMessage.hs
--- a/gen/Network/AWS/SQS/ReceiveMessage.hs
+++ b/gen/Network/AWS/SQS/ReceiveMessage.hs
@@ -97,7 +97,7 @@
     , _rmQueueUrl              :: Text
     , _rmVisibilityTimeout     :: Maybe Int
     , _rmWaitTimeSeconds       :: Maybe Int
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'ReceiveMessage' constructor.
 --
@@ -188,7 +188,7 @@
 
 newtype ReceiveMessageResponse = ReceiveMessageResponse
     { _rmrMessages :: List "member" Message
-    } deriving (Eq, Show, Monoid, Semigroup)
+    } deriving (Eq, Read, Show, Monoid, Semigroup)
 
 -- | 'ReceiveMessageResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/RemovePermission.hs b/gen/Network/AWS/SQS/RemovePermission.hs
--- a/gen/Network/AWS/SQS/RemovePermission.hs
+++ b/gen/Network/AWS/SQS/RemovePermission.hs
@@ -50,7 +50,7 @@
 data RemovePermission = RemovePermission
     { _rpLabel    :: Text
     , _rpQueueUrl :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'RemovePermission' constructor.
 --
@@ -78,7 +78,7 @@
 rpQueueUrl = lens _rpQueueUrl (\s a -> s { _rpQueueUrl = a })
 
 data RemovePermissionResponse = RemovePermissionResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'RemovePermissionResponse' constructor.
 removePermissionResponse :: RemovePermissionResponse
diff --git a/gen/Network/AWS/SQS/SendMessage.hs b/gen/Network/AWS/SQS/SendMessage.hs
--- a/gen/Network/AWS/SQS/SendMessage.hs
+++ b/gen/Network/AWS/SQS/SendMessage.hs
@@ -70,7 +70,7 @@
     , _smMessageAttributes :: EMap "entry" "Name" "Value" Text MessageAttributeValue
     , _smMessageBody       :: Text
     , _smQueueUrl          :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SendMessage' constructor.
 --
@@ -121,7 +121,7 @@
     { _smrMD5OfMessageAttributes :: Maybe Text
     , _smrMD5OfMessageBody       :: Maybe Text
     , _smrMessageId              :: Maybe Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SendMessageResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/SendMessageBatch.hs b/gen/Network/AWS/SQS/SendMessageBatch.hs
--- a/gen/Network/AWS/SQS/SendMessageBatch.hs
+++ b/gen/Network/AWS/SQS/SendMessageBatch.hs
@@ -76,7 +76,7 @@
 data SendMessageBatch = SendMessageBatch
     { _smbEntries  :: List "member" SendMessageBatchRequestEntry
     , _smbQueueUrl :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SendMessageBatch' constructor.
 --
@@ -104,7 +104,7 @@
 data SendMessageBatchResponse = SendMessageBatchResponse
     { _smbrFailed     :: List "member" BatchResultErrorEntry
     , _smbrSuccessful :: List "member" SendMessageBatchResultEntry
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SendMessageBatchResponse' constructor.
 --
diff --git a/gen/Network/AWS/SQS/SetQueueAttributes.hs b/gen/Network/AWS/SQS/SetQueueAttributes.hs
--- a/gen/Network/AWS/SQS/SetQueueAttributes.hs
+++ b/gen/Network/AWS/SQS/SetQueueAttributes.hs
@@ -55,7 +55,7 @@
 data SetQueueAttributes = SetQueueAttributes
     { _sqaAttributes :: EMap "entry" "Name" "Value" Text Text
     , _sqaQueueUrl   :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SetQueueAttributes' constructor.
 --
@@ -102,7 +102,7 @@
 sqaQueueUrl = lens _sqaQueueUrl (\s a -> s { _sqaQueueUrl = a })
 
 data SetQueueAttributesResponse = SetQueueAttributesResponse
-    deriving (Eq, Ord, Show, Generic)
+    deriving (Eq, Ord, Read, Show, Generic)
 
 -- | 'SetQueueAttributesResponse' constructor.
 setQueueAttributesResponse :: SetQueueAttributesResponse
diff --git a/gen/Network/AWS/SQS/Types.hs b/gen/Network/AWS/SQS/Types.hs
--- a/gen/Network/AWS/SQS/Types.hs
+++ b/gen/Network/AWS/SQS/Types.hs
@@ -153,7 +153,7 @@
 data DeleteMessageBatchRequestEntry = DeleteMessageBatchRequestEntry
     { _dmbreId            :: Text
     , _dmbreReceiptHandle :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'DeleteMessageBatchRequestEntry' constructor.
 --
@@ -199,7 +199,7 @@
     , _mavDataType         :: Text
     , _mavStringListValues :: List "member" Text
     , _mavStringValue      :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'MessageAttributeValue' constructor.
 --
@@ -271,7 +271,7 @@
 
 newtype ChangeMessageVisibilityBatchResultEntry = ChangeMessageVisibilityBatchResultEntry
     { _cmvbreId :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'ChangeMessageVisibilityBatchResultEntry' constructor.
 --
@@ -302,7 +302,7 @@
     { _cmvbre1Id                :: Text
     , _cmvbre1ReceiptHandle     :: Text
     , _cmvbre1VisibilityTimeout :: Maybe Int
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'ChangeMessageVisibilityBatchRequestEntry' constructor.
 --
@@ -355,7 +355,7 @@
 
 newtype DeleteMessageBatchResultEntry = DeleteMessageBatchResultEntry
     { _dmbre1Id :: Text
-    } deriving (Eq, Ord, Show, Monoid, IsString)
+    } deriving (Eq, Ord, Read, Show, Monoid, IsString)
 
 -- | 'DeleteMessageBatchResultEntry' constructor.
 --
@@ -390,7 +390,7 @@
     , _mMessageAttributes      :: EMap "entry" "Name" "Value" Text MessageAttributeValue
     , _mMessageId              :: Maybe Text
     , _mReceiptHandle          :: Maybe Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'Message' constructor.
 --
@@ -486,7 +486,7 @@
     , _smbreId                :: Text
     , _smbreMessageAttributes :: EMap "entry" "Name" "Value" Text MessageAttributeValue
     , _smbreMessageBody       :: Text
-    } deriving (Eq, Show)
+    } deriving (Eq, Read, Show)
 
 -- | 'SendMessageBatchRequestEntry' constructor.
 --
@@ -552,7 +552,7 @@
     , _smbre1MD5OfMessageAttributes :: Maybe Text
     , _smbre1MD5OfMessageBody       :: Text
     , _smbre1MessageId              :: Text
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'SendMessageBatchResultEntry' constructor.
 --
@@ -622,7 +622,7 @@
     , _breeId          :: Text
     , _breeMessage     :: Maybe Text
     , _breeSenderFault :: Bool
-    } deriving (Eq, Ord, Show)
+    } deriving (Eq, Ord, Read, Show)
 
 -- | 'BatchResultErrorEntry' constructor.
 --
