diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`0.3.0`
+`0.5.0`
 
 
 ## Description
diff --git a/gen/Network/Google/Chat/Types/Product.hs b/gen/Network/Google/Chat/Types/Product.hs
--- a/gen/Network/Google/Chat/Types/Product.hs
+++ b/gen/Network/Google/Chat/Types/Product.hs
@@ -24,13 +24,16 @@
 -- images.
 --
 -- /See:/ 'card' smart constructor.
-data Card = Card'
+data Card =
+  Card'
     { _cCardActions :: !(Maybe [CardAction])
     , _cName        :: !(Maybe Text)
     , _cHeader      :: !(Maybe CardHeader)
     , _cSections    :: !(Maybe [Section])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Card' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -45,13 +48,14 @@
 card
     :: Card
 card =
-    Card'
+  Card'
     { _cCardActions = Nothing
     , _cName = Nothing
     , _cHeader = Nothing
     , _cSections = Nothing
     }
 
+
 -- | The actions of this card.
 cCardActions :: Lens' Card [CardAction]
 cCardActions
@@ -94,12 +98,15 @@
 -- | A room or DM in Hangouts Chat.
 --
 -- /See:/ 'space' smart constructor.
-data Space = Space'
+data Space =
+  Space'
     { _sName        :: !(Maybe Text)
     , _sDisplayName :: !(Maybe Text)
     , _sType        :: !(Maybe SpaceType)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Space' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -111,13 +118,9 @@
 -- * 'sType'
 space
     :: Space
-space =
-    Space'
-    { _sName = Nothing
-    , _sDisplayName = Nothing
-    , _sType = Nothing
-    }
+space = Space' {_sName = Nothing, _sDisplayName = Nothing, _sType = Nothing}
 
+
 -- | Resource name of the space, in the form \"spaces\/*\". Example:
 -- spaces\/AAAAMpdlehYs
 sName :: Lens' Space (Maybe Text)
@@ -152,7 +155,8 @@
 -- element may also contain some actions such as onclick button.
 --
 -- /See:/ 'keyValue' smart constructor.
-data KeyValue = KeyValue'
+data KeyValue =
+  KeyValue'
     { _kvOnClick          :: !(Maybe OnClick)
     , _kvTopLabel         :: !(Maybe Text)
     , _kvIcon             :: !(Maybe KeyValueIcon)
@@ -161,8 +165,10 @@
     , _kvIconURL          :: !(Maybe Text)
     , _kvContentMultiline :: !(Maybe Bool)
     , _kvBottomLabel      :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'KeyValue' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -185,7 +191,7 @@
 keyValue
     :: KeyValue
 keyValue =
-    KeyValue'
+  KeyValue'
     { _kvOnClick = Nothing
     , _kvTopLabel = Nothing
     , _kvIcon = Nothing
@@ -196,6 +202,7 @@
     , _kvBottomLabel = Nothing
     }
 
+
 -- | The onclick action. Only the top label, bottom label and content region
 -- are clickable.
 kvOnClick :: Lens' KeyValue (Maybe OnClick)
@@ -266,13 +273,16 @@
 -- | A widget is a UI element that presents texts, images, etc.
 --
 -- /See:/ 'widgetMarkup' smart constructor.
-data WidgetMarkup = WidgetMarkup'
+data WidgetMarkup =
+  WidgetMarkup'
     { _wmKeyValue      :: !(Maybe KeyValue)
     , _wmImage         :: !(Maybe Image)
     , _wmButtons       :: !(Maybe [Button])
     , _wmTextParagraph :: !(Maybe TextParagraph)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'WidgetMarkup' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -287,13 +297,14 @@
 widgetMarkup
     :: WidgetMarkup
 widgetMarkup =
-    WidgetMarkup'
+  WidgetMarkup'
     { _wmKeyValue = Nothing
     , _wmImage = Nothing
     , _wmButtons = Nothing
     , _wmTextParagraph = Nothing
     }
 
+
 -- | Display a key value item in this widget.
 wmKeyValue :: Lens' WidgetMarkup (Maybe KeyValue)
 wmKeyValue
@@ -338,11 +349,14 @@
 -- | An onclick action (e.g. open a link).
 --
 -- /See:/ 'onClick' smart constructor.
-data OnClick = OnClick'
+data OnClick =
+  OnClick'
     { _ocAction   :: !(Maybe FormAction)
     , _ocOpenLink :: !(Maybe OpenLink)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'OnClick' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -352,12 +366,9 @@
 -- * 'ocOpenLink'
 onClick
     :: OnClick
-onClick =
-    OnClick'
-    { _ocAction = Nothing
-    , _ocOpenLink = Nothing
-    }
+onClick = OnClick' {_ocAction = Nothing, _ocOpenLink = Nothing}
 
+
 -- | A form action will be trigger by this onclick if specified.
 ocAction :: Lens' OnClick (Maybe FormAction)
 ocAction = lens _ocAction (\ s a -> s{_ocAction = a})
@@ -390,13 +401,16 @@
 -- \"type\":\"MENTION\" } }] \`\`\`
 --
 -- /See:/ 'annotation' smart constructor.
-data Annotation = Annotation'
+data Annotation =
+  Annotation'
     { _aLength      :: !(Maybe (Textual Int32))
     , _aType        :: !(Maybe AnnotationType)
     , _aUserMention :: !(Maybe UserMentionMetadata)
     , _aStartIndex  :: !(Maybe (Textual Int32))
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Annotation' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -411,13 +425,14 @@
 annotation
     :: Annotation
 annotation =
-    Annotation'
+  Annotation'
     { _aLength = Nothing
     , _aType = Nothing
     , _aUserMention = Nothing
     , _aStartIndex = Nothing
     }
 
+
 -- | Length of the substring in the plain-text message body this annotation
 -- corresponds to.
 aLength :: Lens' Annotation (Maybe Int32)
@@ -461,12 +476,15 @@
 -- | An image that is specified by a URL and can have an onclick action.
 --
 -- /See:/ 'image' smart constructor.
-data Image = Image'
+data Image =
+  Image'
     { _iOnClick     :: !(Maybe OnClick)
     , _iAspectRatio :: !(Maybe (Textual Double))
     , _iImageURL    :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Image' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -479,12 +497,9 @@
 image
     :: Image
 image =
-    Image'
-    { _iOnClick = Nothing
-    , _iAspectRatio = Nothing
-    , _iImageURL = Nothing
-    }
+  Image' {_iOnClick = Nothing, _iAspectRatio = Nothing, _iImageURL = Nothing}
 
+
 -- | The onclick action.
 iOnClick :: Lens' Image (Maybe OnClick)
 iOnClick = lens _iOnClick (\ s a -> s{_iOnClick = a})
@@ -522,11 +537,14 @@
 -- snooze type and snooze time in the list of string parameters.
 --
 -- /See:/ 'actionParameter' smart constructor.
-data ActionParameter = ActionParameter'
+data ActionParameter =
+  ActionParameter'
     { _apValue :: !(Maybe Text)
     , _apKey   :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActionParameter' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -536,12 +554,9 @@
 -- * 'apKey'
 actionParameter
     :: ActionParameter
-actionParameter =
-    ActionParameter'
-    { _apValue = Nothing
-    , _apKey = Nothing
-    }
+actionParameter = ActionParameter' {_apValue = Nothing, _apKey = Nothing}
 
+
 -- | The value of the parameter.
 apValue :: Lens' ActionParameter (Maybe Text)
 apValue = lens _apValue (\ s a -> s{_apValue = a})
@@ -566,13 +581,16 @@
 -- | Represents a membership relation in Hangouts Chat.
 --
 -- /See:/ 'membership' smart constructor.
-data Membership = Membership'
+data Membership =
+  Membership'
     { _mState      :: !(Maybe MembershipState)
     , _mName       :: !(Maybe Text)
     , _mMember     :: !(Maybe User)
     , _mCreateTime :: !(Maybe DateTime')
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Membership' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -587,13 +605,14 @@
 membership
     :: Membership
 membership =
-    Membership'
+  Membership'
     { _mState = Nothing
     , _mName = Nothing
     , _mMember = Nothing
     , _mCreateTime = Nothing
     }
 
+
 -- | State of the membership.
 mState :: Lens' Membership (Maybe MembershipState)
 mState = lens _mState (\ s a -> s{_mState = a})
@@ -639,15 +658,17 @@
 --
 -- /See:/ 'empty' smart constructor.
 data Empty =
-    Empty'
-    deriving (Eq,Show,Data,Typeable,Generic)
+  Empty'
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Empty' with the minimum fields required to make a request.
 --
 empty
     :: Empty
 empty = Empty'
 
+
 instance FromJSON Empty where
         parseJSON = withObject "Empty" (\ o -> pure Empty')
 
@@ -657,7 +678,8 @@
 -- | Hangouts Chat events.
 --
 -- /See:/ 'deprecatedEvent' smart constructor.
-data DeprecatedEvent = DeprecatedEvent'
+data DeprecatedEvent =
+  DeprecatedEvent'
     { _deSpace                     :: !(Maybe Space)
     , _deToken                     :: !(Maybe Text)
     , _deAction                    :: !(Maybe FormAction)
@@ -667,8 +689,10 @@
     , _deType                      :: !(Maybe DeprecatedEventType)
     , _deMessage                   :: !(Maybe Message)
     , _deThreadKey                 :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeprecatedEvent' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -693,7 +717,7 @@
 deprecatedEvent
     :: DeprecatedEvent
 deprecatedEvent =
-    DeprecatedEvent'
+  DeprecatedEvent'
     { _deSpace = Nothing
     , _deToken = Nothing
     , _deAction = Nothing
@@ -705,6 +729,7 @@
     , _deThreadKey = Nothing
     }
 
+
 -- | The room or DM in which the event occurred.
 deSpace :: Lens' DeprecatedEvent (Maybe Space)
 deSpace = lens _deSpace (\ s a -> s{_deSpace = a})
@@ -791,10 +816,13 @@
 -- | A paragraph of text. Formatted text supported.
 --
 -- /See:/ 'textParagraph' smart constructor.
-newtype TextParagraph = TextParagraph'
+newtype TextParagraph =
+  TextParagraph'
     { _tpText :: Maybe Text
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'TextParagraph' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -802,11 +830,9 @@
 -- * 'tpText'
 textParagraph
     :: TextParagraph
-textParagraph =
-    TextParagraph'
-    { _tpText = Nothing
-    }
+textParagraph = TextParagraph' {_tpText = Nothing}
 
+
 tpText :: Lens' TextParagraph (Maybe Text)
 tpText = lens _tpText (\ s a -> s{_tpText = a})
 
@@ -822,11 +848,14 @@
 -- | A button. Can be a text button or an image button.
 --
 -- /See:/ 'button' smart constructor.
-data Button = Button'
+data Button =
+  Button'
     { _bTextButton  :: !(Maybe TextButton)
     , _bImageButton :: !(Maybe ImageButton)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Button' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -836,12 +865,9 @@
 -- * 'bImageButton'
 button
     :: Button
-button =
-    Button'
-    { _bTextButton = Nothing
-    , _bImageButton = Nothing
-    }
+button = Button' {_bTextButton = Nothing, _bImageButton = Nothing}
 
+
 -- | A button with text and onclick action.
 bTextButton :: Lens' Button (Maybe TextButton)
 bTextButton
@@ -868,11 +894,14 @@
 
 --
 -- /See:/ 'listSpacesResponse' smart constructor.
-data ListSpacesResponse = ListSpacesResponse'
+data ListSpacesResponse =
+  ListSpacesResponse'
     { _lsrNextPageToken :: !(Maybe Text)
     , _lsrSpaces        :: !(Maybe [Space])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSpacesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -883,11 +912,9 @@
 listSpacesResponse
     :: ListSpacesResponse
 listSpacesResponse =
-    ListSpacesResponse'
-    { _lsrNextPageToken = Nothing
-    , _lsrSpaces = Nothing
-    }
+  ListSpacesResponse' {_lsrNextPageToken = Nothing, _lsrSpaces = Nothing}
 
+
 -- | Continuation token to retrieve the next page of results. It will be
 -- empty for the last page of results. Tokens expire in an hour. An error
 -- is thrown if an expired token is passed.
@@ -921,12 +948,15 @@
 -- | A user in Hangouts Chat.
 --
 -- /See:/ 'user' smart constructor.
-data User = User'
+data User =
+  User'
     { _uName        :: !(Maybe Text)
     , _uDisplayName :: !(Maybe Text)
     , _uType        :: !(Maybe UserType)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'User' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -938,13 +968,9 @@
 -- * 'uType'
 user
     :: User
-user =
-    User'
-    { _uName = Nothing
-    , _uDisplayName = Nothing
-    , _uType = Nothing
-    }
+user = User' {_uName = Nothing, _uDisplayName = Nothing, _uType = Nothing}
 
+
 -- | Resource name, in the format \"users\/*\".
 uName :: Lens' User (Maybe Text)
 uName = lens _uName (\ s a -> s{_uName = a})
@@ -977,10 +1003,13 @@
 -- | A link that opens a new window.
 --
 -- /See:/ 'openLink' smart constructor.
-newtype OpenLink = OpenLink'
+newtype OpenLink =
+  OpenLink'
     { _olURL :: Maybe Text
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'OpenLink' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -988,11 +1017,9 @@
 -- * 'olURL'
 openLink
     :: OpenLink
-openLink =
-    OpenLink'
-    { _olURL = Nothing
-    }
+openLink = OpenLink' {_olURL = Nothing}
 
+
 -- | The URL to open.
 olURL :: Lens' OpenLink (Maybe Text)
 olURL = lens _olURL (\ s a -> s{_olURL = a})
@@ -1011,11 +1038,14 @@
 -- the invoice in browser.
 --
 -- /See:/ 'cardAction' smart constructor.
-data CardAction = CardAction'
+data CardAction =
+  CardAction'
     { _caOnClick     :: !(Maybe OnClick)
     , _caActionLabel :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CardAction' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1025,12 +1055,9 @@
 -- * 'caActionLabel'
 cardAction
     :: CardAction
-cardAction =
-    CardAction'
-    { _caOnClick = Nothing
-    , _caActionLabel = Nothing
-    }
+cardAction = CardAction' {_caOnClick = Nothing, _caActionLabel = Nothing}
 
+
 -- | The onclick action for this action item.
 caOnClick :: Lens' CardAction (Maybe OnClick)
 caOnClick
@@ -1059,11 +1086,14 @@
 -- | Parameters that a bot can use to configure how it\'s response is posted.
 --
 -- /See:/ 'actionResponse' smart constructor.
-data ActionResponse = ActionResponse'
+data ActionResponse =
+  ActionResponse'
     { _arURL  :: !(Maybe Text)
     , _arType :: !(Maybe ActionResponseType)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ActionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1073,12 +1103,9 @@
 -- * 'arType'
 actionResponse
     :: ActionResponse
-actionResponse =
-    ActionResponse'
-    { _arURL = Nothing
-    , _arType = Nothing
-    }
+actionResponse = ActionResponse' {_arURL = Nothing, _arType = Nothing}
 
+
 -- | URL for users to auth or config. (Only for REQUEST_CONFIG response
 -- types.)
 arURL :: Lens' ActionResponse (Maybe Text)
@@ -1104,11 +1131,14 @@
 -- example, an Apps Script can be invoked to handle the form.
 --
 -- /See:/ 'formAction' smart constructor.
-data FormAction = FormAction'
+data FormAction =
+  FormAction'
     { _faActionMethodName :: !(Maybe Text)
     , _faParameters       :: !(Maybe [ActionParameter])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'FormAction' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1119,11 +1149,9 @@
 formAction
     :: FormAction
 formAction =
-    FormAction'
-    { _faActionMethodName = Nothing
-    , _faParameters = Nothing
-    }
+  FormAction' {_faActionMethodName = Nothing, _faParameters = Nothing}
 
+
 -- | Apps Script function to invoke when the containing element is
 -- clicked\/activated.
 faActionMethodName :: Lens' FormAction (Maybe Text)
@@ -1155,11 +1183,14 @@
 
 --
 -- /See:/ 'listMembershipsResponse' smart constructor.
-data ListMembershipsResponse = ListMembershipsResponse'
+data ListMembershipsResponse =
+  ListMembershipsResponse'
     { _lmrNextPageToken :: !(Maybe Text)
     , _lmrMemberships   :: !(Maybe [Membership])
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListMembershipsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1170,11 +1201,10 @@
 listMembershipsResponse
     :: ListMembershipsResponse
 listMembershipsResponse =
-    ListMembershipsResponse'
-    { _lmrNextPageToken = Nothing
-    , _lmrMemberships = Nothing
-    }
+  ListMembershipsResponse'
+    {_lmrNextPageToken = Nothing, _lmrMemberships = Nothing}
 
+
 -- | Continuation token to retrieve the next page of results. It will be
 -- empty for the last page of results.
 lmrNextPageToken :: Lens' ListMembershipsResponse (Maybe Text)
@@ -1208,7 +1238,8 @@
 -- | A message in Hangouts Chat.
 --
 -- /See:/ 'message' smart constructor.
-data Message = Message'
+data Message =
+  Message'
     { _mesAnnotations    :: !(Maybe [Annotation])
     , _mesSpace          :: !(Maybe Space)
     , _mesText           :: !(Maybe Text)
@@ -1221,8 +1252,10 @@
     , _mesThread         :: !(Maybe Thread)
     , _mesFallbackText   :: !(Maybe Text)
     , _mesCreateTime     :: !(Maybe DateTime')
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Message' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1253,7 +1286,7 @@
 message
     :: Message
 message =
-    Message'
+  Message'
     { _mesAnnotations = Nothing
     , _mesSpace = Nothing
     , _mesText = Nothing
@@ -1268,6 +1301,7 @@
     , _mesCreateTime = Nothing
     }
 
+
 -- | Output only. Annotations associated with the text in this message.
 mesAnnotations :: Lens' Message [Annotation]
 mesAnnotations
@@ -1379,13 +1413,16 @@
 
 --
 -- /See:/ 'cardHeader' smart constructor.
-data CardHeader = CardHeader'
+data CardHeader =
+  CardHeader'
     { _chSubtitle   :: !(Maybe Text)
     , _chImageURL   :: !(Maybe Text)
     , _chTitle      :: !(Maybe Text)
     , _chImageStyle :: !(Maybe CardHeaderImageStyle)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CardHeader' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1400,13 +1437,14 @@
 cardHeader
     :: CardHeader
 cardHeader =
-    CardHeader'
+  CardHeader'
     { _chSubtitle = Nothing
     , _chImageURL = Nothing
     , _chTitle = Nothing
     , _chImageStyle = Nothing
     }
 
+
 -- | The subtitle of the card header.
 chSubtitle :: Lens' CardHeader (Maybe Text)
 chSubtitle
@@ -1449,11 +1487,14 @@
 -- | A button with text and onclick action.
 --
 -- /See:/ 'textButton' smart constructor.
-data TextButton = TextButton'
+data TextButton =
+  TextButton'
     { _tbOnClick :: !(Maybe OnClick)
     , _tbText    :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'TextButton' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1463,12 +1504,9 @@
 -- * 'tbText'
 textButton
     :: TextButton
-textButton =
-    TextButton'
-    { _tbOnClick = Nothing
-    , _tbText = Nothing
-    }
+textButton = TextButton' {_tbOnClick = Nothing, _tbText = Nothing}
 
+
 -- | The onclick action of the button.
 tbOnClick :: Lens' TextButton (Maybe OnClick)
 tbOnClick
@@ -1494,10 +1532,13 @@
 -- | A thread in Hangouts Chat.
 --
 -- /See:/ 'thread' smart constructor.
-newtype Thread = Thread'
+newtype Thread =
+  Thread'
     { _tName :: Maybe Text
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Thread' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1505,11 +1546,9 @@
 -- * 'tName'
 thread
     :: Thread
-thread =
-    Thread'
-    { _tName = Nothing
-    }
+thread = Thread' {_tName = Nothing}
 
+
 -- | Resource name, in the form \"spaces\/*\/threads\/*\". Example:
 -- spaces\/AAAAMpdlehY\/threads\/UMxbHmzDlr4
 tName :: Lens' Thread (Maybe Text)
@@ -1527,11 +1566,14 @@
 -- | Annotation metadata for user mentions (\').
 --
 -- /See:/ 'userMentionMetadata' smart constructor.
-data UserMentionMetadata = UserMentionMetadata'
+data UserMentionMetadata =
+  UserMentionMetadata'
     { _ummUser :: !(Maybe User)
     , _ummType :: !(Maybe UserMentionMetadataType)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UserMentionMetadata' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1542,11 +1584,9 @@
 userMentionMetadata
     :: UserMentionMetadata
 userMentionMetadata =
-    UserMentionMetadata'
-    { _ummUser = Nothing
-    , _ummType = Nothing
-    }
+  UserMentionMetadata' {_ummUser = Nothing, _ummType = Nothing}
 
+
 -- | The user mentioned.
 ummUser :: Lens' UserMentionMetadata (Maybe User)
 ummUser = lens _ummUser (\ s a -> s{_ummUser = a})
@@ -1571,13 +1611,16 @@
 -- | An image button with an onclick action.
 --
 -- /See:/ 'imageButton' smart constructor.
-data ImageButton = ImageButton'
+data ImageButton =
+  ImageButton'
     { _ibOnClick :: !(Maybe OnClick)
     , _ibIcon    :: !(Maybe ImageButtonIcon)
     , _ibName    :: !(Maybe Text)
     , _ibIconURL :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ImageButton' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1592,13 +1635,14 @@
 imageButton
     :: ImageButton
 imageButton =
-    ImageButton'
+  ImageButton'
     { _ibOnClick = Nothing
     , _ibIcon = Nothing
     , _ibName = Nothing
     , _ibIconURL = Nothing
     }
 
+
 -- | The onclick action.
 ibOnClick :: Lens' ImageButton (Maybe OnClick)
 ibOnClick
@@ -1642,11 +1686,14 @@
 -- layout properties (e.g. float).
 --
 -- /See:/ 'section' smart constructor.
-data Section = Section'
+data Section =
+  Section'
     { _sWidgets :: !(Maybe [WidgetMarkup])
     , _sHeader  :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Section' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1656,11 +1703,8 @@
 -- * 'sHeader'
 section
     :: Section
-section =
-    Section'
-    { _sWidgets = Nothing
-    , _sHeader = Nothing
-    }
+section = Section' {_sWidgets = Nothing, _sHeader = Nothing}
+
 
 -- | A section must contain at least 1 widget.
 sWidgets :: Lens' Section [WidgetMarkup]
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Get.hs b/gen/Network/Google/Resource/Chat/Spaces/Get.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Get.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Get.hs
@@ -59,15 +59,18 @@
 -- | Returns a space.
 --
 -- /See:/ 'spacesGet' smart constructor.
-data SpacesGet = SpacesGet'
+data SpacesGet =
+  SpacesGet'
     { _sgXgafv          :: !(Maybe Xgafv)
     , _sgUploadProtocol :: !(Maybe Text)
     , _sgAccessToken    :: !(Maybe Text)
     , _sgUploadType     :: !(Maybe Text)
     , _sgName           :: !Text
     , _sgCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesGet' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,7 +90,7 @@
     :: Text -- ^ 'sgName'
     -> SpacesGet
 spacesGet pSgName_ =
-    SpacesGet'
+  SpacesGet'
     { _sgXgafv = Nothing
     , _sgUploadProtocol = Nothing
     , _sgAccessToken = Nothing
@@ -95,6 +98,7 @@
     , _sgName = pSgName_
     , _sgCallback = Nothing
     }
+
 
 -- | V1 error format.
 sgXgafv :: Lens' SpacesGet (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/Chat/Spaces/List.hs b/gen/Network/Google/Resource/Chat/Spaces/List.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/List.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/List.hs
@@ -63,7 +63,8 @@
 -- | Lists spaces the caller is a member of.
 --
 -- /See:/ 'spacesList' smart constructor.
-data SpacesList = SpacesList'
+data SpacesList =
+  SpacesList'
     { _slXgafv          :: !(Maybe Xgafv)
     , _slUploadProtocol :: !(Maybe Text)
     , _slAccessToken    :: !(Maybe Text)
@@ -71,8 +72,10 @@
     , _slPageToken      :: !(Maybe Text)
     , _slPageSize       :: !(Maybe (Textual Int32))
     , _slCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesList' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -93,7 +96,7 @@
 spacesList
     :: SpacesList
 spacesList =
-    SpacesList'
+  SpacesList'
     { _slXgafv = Nothing
     , _slUploadProtocol = Nothing
     , _slAccessToken = Nothing
@@ -102,6 +105,7 @@
     , _slPageSize = Nothing
     , _slCallback = Nothing
     }
+
 
 -- | V1 error format.
 slXgafv :: Lens' SpacesList (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Members/Get.hs b/gen/Network/Google/Resource/Chat/Spaces/Members/Get.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Members/Get.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Members/Get.hs
@@ -59,15 +59,18 @@
 -- | Returns a membership.
 --
 -- /See:/ 'spacesMembersGet' smart constructor.
-data SpacesMembersGet = SpacesMembersGet'
+data SpacesMembersGet =
+  SpacesMembersGet'
     { _spaXgafv          :: !(Maybe Xgafv)
     , _spaUploadProtocol :: !(Maybe Text)
     , _spaAccessToken    :: !(Maybe Text)
     , _spaUploadType     :: !(Maybe Text)
     , _spaName           :: !Text
     , _spaCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesMembersGet' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,7 +90,7 @@
     :: Text -- ^ 'spaName'
     -> SpacesMembersGet
 spacesMembersGet pSpaName_ =
-    SpacesMembersGet'
+  SpacesMembersGet'
     { _spaXgafv = Nothing
     , _spaUploadProtocol = Nothing
     , _spaAccessToken = Nothing
@@ -95,6 +98,7 @@
     , _spaName = pSpaName_
     , _spaCallback = Nothing
     }
+
 
 -- | V1 error format.
 spaXgafv :: Lens' SpacesMembersGet (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Members/List.hs b/gen/Network/Google/Resource/Chat/Spaces/Members/List.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Members/List.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Members/List.hs
@@ -65,7 +65,8 @@
 -- | Lists human memberships in a space.
 --
 -- /See:/ 'spacesMembersList' smart constructor.
-data SpacesMembersList = SpacesMembersList'
+data SpacesMembersList =
+  SpacesMembersList'
     { _smlParent         :: !Text
     , _smlXgafv          :: !(Maybe Xgafv)
     , _smlUploadProtocol :: !(Maybe Text)
@@ -74,8 +75,10 @@
     , _smlPageToken      :: !(Maybe Text)
     , _smlPageSize       :: !(Maybe (Textual Int32))
     , _smlCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesMembersList' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -99,7 +102,7 @@
     :: Text -- ^ 'smlParent'
     -> SpacesMembersList
 spacesMembersList pSmlParent_ =
-    SpacesMembersList'
+  SpacesMembersList'
     { _smlParent = pSmlParent_
     , _smlXgafv = Nothing
     , _smlUploadProtocol = Nothing
@@ -109,6 +112,7 @@
     , _smlPageSize = Nothing
     , _smlCallback = Nothing
     }
+
 
 -- | Required. The resource name of the space for which membership list is to
 -- be fetched, in the form \"spaces\/*\". Example: spaces\/AAAAMpdlehY
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Messages/Create.hs b/gen/Network/Google/Resource/Chat/Spaces/Messages/Create.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Messages/Create.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Messages/Create.hs
@@ -64,7 +64,8 @@
 -- | Creates a message.
 --
 -- /See:/ 'spacesMessagesCreate' smart constructor.
-data SpacesMessagesCreate = SpacesMessagesCreate'
+data SpacesMessagesCreate =
+  SpacesMessagesCreate'
     { _smcParent         :: !Text
     , _smcXgafv          :: !(Maybe Xgafv)
     , _smcUploadProtocol :: !(Maybe Text)
@@ -73,8 +74,10 @@
     , _smcPayload        :: !Message
     , _smcCallback       :: !(Maybe Text)
     , _smcThreadKey      :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesMessagesCreate' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -99,7 +102,7 @@
     -> Message -- ^ 'smcPayload'
     -> SpacesMessagesCreate
 spacesMessagesCreate pSmcParent_ pSmcPayload_ =
-    SpacesMessagesCreate'
+  SpacesMessagesCreate'
     { _smcParent = pSmcParent_
     , _smcXgafv = Nothing
     , _smcUploadProtocol = Nothing
@@ -109,6 +112,7 @@
     , _smcCallback = Nothing
     , _smcThreadKey = Nothing
     }
+
 
 -- | Required. Space resource name, in the form \"spaces\/*\". Example:
 -- spaces\/AAAAMpdlehY
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Messages/Delete.hs b/gen/Network/Google/Resource/Chat/Spaces/Messages/Delete.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Messages/Delete.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Messages/Delete.hs
@@ -59,15 +59,18 @@
 -- | Deletes a message.
 --
 -- /See:/ 'spacesMessagesDelete' smart constructor.
-data SpacesMessagesDelete = SpacesMessagesDelete'
+data SpacesMessagesDelete =
+  SpacesMessagesDelete'
     { _smdXgafv          :: !(Maybe Xgafv)
     , _smdUploadProtocol :: !(Maybe Text)
     , _smdAccessToken    :: !(Maybe Text)
     , _smdUploadType     :: !(Maybe Text)
     , _smdName           :: !Text
     , _smdCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesMessagesDelete' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,7 +90,7 @@
     :: Text -- ^ 'smdName'
     -> SpacesMessagesDelete
 spacesMessagesDelete pSmdName_ =
-    SpacesMessagesDelete'
+  SpacesMessagesDelete'
     { _smdXgafv = Nothing
     , _smdUploadProtocol = Nothing
     , _smdAccessToken = Nothing
@@ -95,6 +98,7 @@
     , _smdName = pSmdName_
     , _smdCallback = Nothing
     }
+
 
 -- | V1 error format.
 smdXgafv :: Lens' SpacesMessagesDelete (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Messages/Get.hs b/gen/Network/Google/Resource/Chat/Spaces/Messages/Get.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Messages/Get.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Messages/Get.hs
@@ -59,15 +59,18 @@
 -- | Returns a message.
 --
 -- /See:/ 'spacesMessagesGet' smart constructor.
-data SpacesMessagesGet = SpacesMessagesGet'
+data SpacesMessagesGet =
+  SpacesMessagesGet'
     { _smgXgafv          :: !(Maybe Xgafv)
     , _smgUploadProtocol :: !(Maybe Text)
     , _smgAccessToken    :: !(Maybe Text)
     , _smgUploadType     :: !(Maybe Text)
     , _smgName           :: !Text
     , _smgCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesMessagesGet' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,7 +90,7 @@
     :: Text -- ^ 'smgName'
     -> SpacesMessagesGet
 spacesMessagesGet pSmgName_ =
-    SpacesMessagesGet'
+  SpacesMessagesGet'
     { _smgXgafv = Nothing
     , _smgUploadProtocol = Nothing
     , _smgAccessToken = Nothing
@@ -95,6 +98,7 @@
     , _smgName = pSmgName_
     , _smgCallback = Nothing
     }
+
 
 -- | V1 error format.
 smgXgafv :: Lens' SpacesMessagesGet (Maybe Xgafv)
diff --git a/gen/Network/Google/Resource/Chat/Spaces/Messages/Update.hs b/gen/Network/Google/Resource/Chat/Spaces/Messages/Update.hs
--- a/gen/Network/Google/Resource/Chat/Spaces/Messages/Update.hs
+++ b/gen/Network/Google/Resource/Chat/Spaces/Messages/Update.hs
@@ -63,7 +63,8 @@
 -- | Updates a message.
 --
 -- /See:/ 'spacesMessagesUpdate' smart constructor.
-data SpacesMessagesUpdate = SpacesMessagesUpdate'
+data SpacesMessagesUpdate =
+  SpacesMessagesUpdate'
     { _smuXgafv          :: !(Maybe Xgafv)
     , _smuUploadProtocol :: !(Maybe Text)
     , _smuUpdateMask     :: !(Maybe GFieldMask)
@@ -72,8 +73,10 @@
     , _smuPayload        :: !Message
     , _smuName           :: !Text
     , _smuCallback       :: !(Maybe Text)
-    } deriving (Eq,Show,Data,Typeable,Generic)
+    }
+  deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SpacesMessagesUpdate' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -98,7 +101,7 @@
     -> Text -- ^ 'smuName'
     -> SpacesMessagesUpdate
 spacesMessagesUpdate pSmuPayload_ pSmuName_ =
-    SpacesMessagesUpdate'
+  SpacesMessagesUpdate'
     { _smuXgafv = Nothing
     , _smuUploadProtocol = Nothing
     , _smuUpdateMask = Nothing
@@ -108,6 +111,7 @@
     , _smuName = pSmuName_
     , _smuCallback = Nothing
     }
+
 
 -- | V1 error format.
 smuXgafv :: Lens' SpacesMessagesUpdate (Maybe Xgafv)
diff --git a/gogol-chat.cabal b/gogol-chat.cabal
--- a/gogol-chat.cabal
+++ b/gogol-chat.cabal
@@ -1,5 +1,5 @@
 name:                  gogol-chat
-version:               0.4.0
+version:               0.5.0
 synopsis:              Google Hangouts Chat SDK.
 homepage:              https://github.com/brendanhay/gogol
 bug-reports:           https://github.com/brendanhay/gogol/issues
@@ -49,5 +49,5 @@
         , Network.Google.Chat.Types.Sum
 
     build-depends:
-          gogol-core == 0.4.0.*
+          gogol-core == 0.5.0.*
         , base       >= 4.7 && < 5
