sig   module FreeBusyRequestItem :     sig       type t = { id : string; }       val id : (GapiCalendarV3Model.FreeBusyRequestItem.t, string) GapiLens.t       val empty : GapiCalendarV3Model.FreeBusyRequestItem.t       val render :         GapiCalendarV3Model.FreeBusyRequestItem.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.FreeBusyRequestItem.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyRequestItem.t       val to_data_model :         GapiCalendarV3Model.FreeBusyRequestItem.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyRequestItem.t     end   module FreeBusyRequest :     sig       type t = {         calendarExpansionMax : int;         groupExpansionMax : int;         items : GapiCalendarV3Model.FreeBusyRequestItem.t list;         timeMax : GapiDate.t;         timeMin : GapiDate.t;         timeZone : string;       }       val calendarExpansionMax :         (GapiCalendarV3Model.FreeBusyRequest.t, int) GapiLens.t       val groupExpansionMax :         (GapiCalendarV3Model.FreeBusyRequest.t, int) GapiLens.t       val items :         (GapiCalendarV3Model.FreeBusyRequest.t,          GapiCalendarV3Model.FreeBusyRequestItem.t list)         GapiLens.t       val timeMax :         (GapiCalendarV3Model.FreeBusyRequest.t, GapiDate.t) GapiLens.t       val timeMin :         (GapiCalendarV3Model.FreeBusyRequest.t, GapiDate.t) GapiLens.t       val timeZone :         (GapiCalendarV3Model.FreeBusyRequest.t, string) GapiLens.t       val empty : GapiCalendarV3Model.FreeBusyRequest.t       val render :         GapiCalendarV3Model.FreeBusyRequest.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.FreeBusyRequest.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyRequest.t       val to_data_model :         GapiCalendarV3Model.FreeBusyRequest.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyRequest.t     end   module Setting :     sig       type t = { etag : string; id : string; kind : string; value : string; }       val etag : (GapiCalendarV3Model.Setting.t, string) GapiLens.t       val id : (GapiCalendarV3Model.Setting.t, string) GapiLens.t       val kind : (GapiCalendarV3Model.Setting.t, string) GapiLens.t       val value : (GapiCalendarV3Model.Setting.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Setting.t       val render :         GapiCalendarV3Model.Setting.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Setting.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Setting.t       val to_data_model :         GapiCalendarV3Model.Setting.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Setting.t     end   module Settings :     sig       type t = {         etag : string;         items : GapiCalendarV3Model.Setting.t list;         kind : string;         nextPageToken : string;         nextSyncToken : string;       }       val etag : (GapiCalendarV3Model.Settings.t, string) GapiLens.t       val items :         (GapiCalendarV3Model.Settings.t, GapiCalendarV3Model.Setting.t list)         GapiLens.t       val kind : (GapiCalendarV3Model.Settings.t, string) GapiLens.t       val nextPageToken : (GapiCalendarV3Model.Settings.t, string) GapiLens.t       val nextSyncToken : (GapiCalendarV3Model.Settings.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Settings.t       val render :         GapiCalendarV3Model.Settings.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Settings.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Settings.t       val to_data_model :         GapiCalendarV3Model.Settings.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Settings.t     end   module EventAttendee :     sig       type t = {         additionalGuests : int;         comment : string;         displayName : string;         email : string;         id : string;         optional : bool;         organizer : bool;         resource : bool;         responseStatus : string;         self : bool;       }       val additionalGuests :         (GapiCalendarV3Model.EventAttendee.t, int) GapiLens.t       val comment : (GapiCalendarV3Model.EventAttendee.t, string) GapiLens.t       val displayName :         (GapiCalendarV3Model.EventAttendee.t, string) GapiLens.t       val email : (GapiCalendarV3Model.EventAttendee.t, string) GapiLens.t       val id : (GapiCalendarV3Model.EventAttendee.t, string) GapiLens.t       val optional : (GapiCalendarV3Model.EventAttendee.t, bool) GapiLens.t       val organizer : (GapiCalendarV3Model.EventAttendee.t, bool) GapiLens.t       val resource : (GapiCalendarV3Model.EventAttendee.t, bool) GapiLens.t       val responseStatus :         (GapiCalendarV3Model.EventAttendee.t, string) GapiLens.t       val self : (GapiCalendarV3Model.EventAttendee.t, bool) GapiLens.t       val empty : GapiCalendarV3Model.EventAttendee.t       val render :         GapiCalendarV3Model.EventAttendee.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.EventAttendee.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.EventAttendee.t       val to_data_model :         GapiCalendarV3Model.EventAttendee.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.EventAttendee.t     end   module Error :     sig       type t = { domain : string; reason : string; }       val domain : (GapiCalendarV3Model.Error.t, string) GapiLens.t       val reason : (GapiCalendarV3Model.Error.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Error.t       val render :         GapiCalendarV3Model.Error.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Error.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Error.t       val to_data_model :         GapiCalendarV3Model.Error.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Error.t     end   module ColorDefinition :     sig       type t = { background : string; foreground : string; }       val background :         (GapiCalendarV3Model.ColorDefinition.t, string) GapiLens.t       val foreground :         (GapiCalendarV3Model.ColorDefinition.t, string) GapiLens.t       val empty : GapiCalendarV3Model.ColorDefinition.t       val render :         GapiCalendarV3Model.ColorDefinition.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.ColorDefinition.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.ColorDefinition.t       val to_data_model :         GapiCalendarV3Model.ColorDefinition.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.ColorDefinition.t     end   module FreeBusyGroup :     sig       type t = {         calendars : string list;         errors : GapiCalendarV3Model.Error.t list;       }       val calendars :         (GapiCalendarV3Model.FreeBusyGroup.t, string list) GapiLens.t       val errors :         (GapiCalendarV3Model.FreeBusyGroup.t,          GapiCalendarV3Model.Error.t list)         GapiLens.t       val empty : GapiCalendarV3Model.FreeBusyGroup.t       val render :         GapiCalendarV3Model.FreeBusyGroup.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.FreeBusyGroup.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyGroup.t       val to_data_model :         GapiCalendarV3Model.FreeBusyGroup.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyGroup.t     end   module CalendarNotification :     sig       type t = { _method : string; _type : string; }       val _method :         (GapiCalendarV3Model.CalendarNotification.t, string) GapiLens.t       val _type :         (GapiCalendarV3Model.CalendarNotification.t, string) GapiLens.t       val empty : GapiCalendarV3Model.CalendarNotification.t       val render :         GapiCalendarV3Model.CalendarNotification.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.CalendarNotification.t ->         GapiJson.json_data_model ->         GapiCalendarV3Model.CalendarNotification.t       val to_data_model :         GapiCalendarV3Model.CalendarNotification.t ->         GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model ->         GapiCalendarV3Model.CalendarNotification.t     end   module EventReminder :     sig       type t = { _method : string; minutes : int; }       val _method : (GapiCalendarV3Model.EventReminder.t, string) GapiLens.t       val minutes : (GapiCalendarV3Model.EventReminder.t, int) GapiLens.t       val empty : GapiCalendarV3Model.EventReminder.t       val render :         GapiCalendarV3Model.EventReminder.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.EventReminder.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.EventReminder.t       val to_data_model :         GapiCalendarV3Model.EventReminder.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.EventReminder.t     end   module CalendarListEntry :     sig       module NotificationSettings :         sig           type t = {             notifications : GapiCalendarV3Model.CalendarNotification.t list;           }           val notifications :             (GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t,              GapiCalendarV3Model.CalendarNotification.t list)             GapiLens.t           val empty :             GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t           val render :             GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t ->             GapiJson.json_data_model ->             GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t         end       type t = {         accessRole : string;         backgroundColor : string;         colorId : string;         defaultReminders : GapiCalendarV3Model.EventReminder.t list;         deleted : bool;         description : string;         etag : string;         foregroundColor : string;         hidden : bool;         id : string;         kind : string;         location : string;         notificationSettings :           GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t;         primary : bool;         selected : bool;         summary : string;         summaryOverride : string;         timeZone : string;       }       val accessRole :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val backgroundColor :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val colorId :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val defaultReminders :         (GapiCalendarV3Model.CalendarListEntry.t,          GapiCalendarV3Model.EventReminder.t list)         GapiLens.t       val deleted :         (GapiCalendarV3Model.CalendarListEntry.t, bool) GapiLens.t       val description :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val etag : (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val foregroundColor :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val hidden : (GapiCalendarV3Model.CalendarListEntry.t, bool) GapiLens.t       val id : (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val kind : (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val location :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val notificationSettings :         (GapiCalendarV3Model.CalendarListEntry.t,          GapiCalendarV3Model.CalendarListEntry.NotificationSettings.t)         GapiLens.t       val primary :         (GapiCalendarV3Model.CalendarListEntry.t, bool) GapiLens.t       val selected :         (GapiCalendarV3Model.CalendarListEntry.t, bool) GapiLens.t       val summary :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val summaryOverride :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val timeZone :         (GapiCalendarV3Model.CalendarListEntry.t, string) GapiLens.t       val empty : GapiCalendarV3Model.CalendarListEntry.t       val render :         GapiCalendarV3Model.CalendarListEntry.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.CalendarListEntry.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.CalendarListEntry.t       val to_data_model :         GapiCalendarV3Model.CalendarListEntry.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.CalendarListEntry.t     end   module CalendarList :     sig       type t = {         etag : string;         items : GapiCalendarV3Model.CalendarListEntry.t list;         kind : string;         nextPageToken : string;         nextSyncToken : string;       }       val etag : (GapiCalendarV3Model.CalendarList.t, string) GapiLens.t       val items :         (GapiCalendarV3Model.CalendarList.t,          GapiCalendarV3Model.CalendarListEntry.t list)         GapiLens.t       val kind : (GapiCalendarV3Model.CalendarList.t, string) GapiLens.t       val nextPageToken :         (GapiCalendarV3Model.CalendarList.t, string) GapiLens.t       val nextSyncToken :         (GapiCalendarV3Model.CalendarList.t, string) GapiLens.t       val empty : GapiCalendarV3Model.CalendarList.t       val render :         GapiCalendarV3Model.CalendarList.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.CalendarList.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.CalendarList.t       val to_data_model :         GapiCalendarV3Model.CalendarList.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.CalendarList.t     end   module AclRule :     sig       module Scope :         sig           type t = { _type : string; value : string; }           val _type :             (GapiCalendarV3Model.AclRule.Scope.t, string) GapiLens.t           val value :             (GapiCalendarV3Model.AclRule.Scope.t, string) GapiLens.t           val empty : GapiCalendarV3Model.AclRule.Scope.t           val render :             GapiCalendarV3Model.AclRule.Scope.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.AclRule.Scope.t ->             GapiJson.json_data_model -> GapiCalendarV3Model.AclRule.Scope.t         end       type t = {         etag : string;         id : string;         kind : string;         role : string;         scope : GapiCalendarV3Model.AclRule.Scope.t;       }       val etag : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t       val id : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t       val kind : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t       val role : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t       val scope :         (GapiCalendarV3Model.AclRule.t, GapiCalendarV3Model.AclRule.Scope.t)         GapiLens.t       val empty : GapiCalendarV3Model.AclRule.t       val render :         GapiCalendarV3Model.AclRule.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.AclRule.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.AclRule.t       val to_data_model :         GapiCalendarV3Model.AclRule.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.AclRule.t     end   module Calendar :     sig       type t = {         description : string;         etag : string;         id : string;         kind : string;         location : string;         summary : string;         timeZone : string;       }       val description : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val etag : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val id : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val kind : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val location : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val summary : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val timeZone : (GapiCalendarV3Model.Calendar.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Calendar.t       val render :         GapiCalendarV3Model.Calendar.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Calendar.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Calendar.t       val to_data_model :         GapiCalendarV3Model.Calendar.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Calendar.t     end   module TimePeriod :     sig       type t = { _end : GapiDate.t; start : GapiDate.t; }       val _end : (GapiCalendarV3Model.TimePeriod.t, GapiDate.t) GapiLens.t       val start : (GapiCalendarV3Model.TimePeriod.t, GapiDate.t) GapiLens.t       val empty : GapiCalendarV3Model.TimePeriod.t       val render :         GapiCalendarV3Model.TimePeriod.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.TimePeriod.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.TimePeriod.t       val to_data_model :         GapiCalendarV3Model.TimePeriod.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.TimePeriod.t     end   module FreeBusyCalendar :     sig       type t = {         busy : GapiCalendarV3Model.TimePeriod.t list;         errors : GapiCalendarV3Model.Error.t list;       }       val busy :         (GapiCalendarV3Model.FreeBusyCalendar.t,          GapiCalendarV3Model.TimePeriod.t list)         GapiLens.t       val errors :         (GapiCalendarV3Model.FreeBusyCalendar.t,          GapiCalendarV3Model.Error.t list)         GapiLens.t       val empty : GapiCalendarV3Model.FreeBusyCalendar.t       val render :         GapiCalendarV3Model.FreeBusyCalendar.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.FreeBusyCalendar.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyCalendar.t       val to_data_model :         GapiCalendarV3Model.FreeBusyCalendar.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyCalendar.t     end   module FreeBusyResponse :     sig       type t = {         calendars : (string * GapiCalendarV3Model.FreeBusyCalendar.t) list;         groups : (string * GapiCalendarV3Model.FreeBusyGroup.t) list;         kind : string;         timeMax : GapiDate.t;         timeMin : GapiDate.t;       }       val calendars :         (GapiCalendarV3Model.FreeBusyResponse.t,          (string * GapiCalendarV3Model.FreeBusyCalendar.t) list)         GapiLens.t       val groups :         (GapiCalendarV3Model.FreeBusyResponse.t,          (string * GapiCalendarV3Model.FreeBusyGroup.t) list)         GapiLens.t       val kind : (GapiCalendarV3Model.FreeBusyResponse.t, string) GapiLens.t       val timeMax :         (GapiCalendarV3Model.FreeBusyResponse.t, GapiDate.t) GapiLens.t       val timeMin :         (GapiCalendarV3Model.FreeBusyResponse.t, GapiDate.t) GapiLens.t       val empty : GapiCalendarV3Model.FreeBusyResponse.t       val render :         GapiCalendarV3Model.FreeBusyResponse.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.FreeBusyResponse.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyResponse.t       val to_data_model :         GapiCalendarV3Model.FreeBusyResponse.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.FreeBusyResponse.t     end   module EventDateTime :     sig       type t = {         date : GapiDate.t;         dateTime : GapiDate.t;         timeZone : string;       }       val date : (GapiCalendarV3Model.EventDateTime.t, GapiDate.t) GapiLens.t       val dateTime :         (GapiCalendarV3Model.EventDateTime.t, GapiDate.t) GapiLens.t       val timeZone : (GapiCalendarV3Model.EventDateTime.t, string) GapiLens.t       val empty : GapiCalendarV3Model.EventDateTime.t       val render :         GapiCalendarV3Model.EventDateTime.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.EventDateTime.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.EventDateTime.t       val to_data_model :         GapiCalendarV3Model.EventDateTime.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.EventDateTime.t     end   module EventAttachment :     sig       type t = {         fileId : string;         fileUrl : string;         iconLink : string;         mimeType : string;         title : string;       }       val fileId : (GapiCalendarV3Model.EventAttachment.t, string) GapiLens.t       val fileUrl :         (GapiCalendarV3Model.EventAttachment.t, string) GapiLens.t       val iconLink :         (GapiCalendarV3Model.EventAttachment.t, string) GapiLens.t       val mimeType :         (GapiCalendarV3Model.EventAttachment.t, string) GapiLens.t       val title : (GapiCalendarV3Model.EventAttachment.t, string) GapiLens.t       val empty : GapiCalendarV3Model.EventAttachment.t       val render :         GapiCalendarV3Model.EventAttachment.t ->         GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.EventAttachment.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.EventAttachment.t       val to_data_model :         GapiCalendarV3Model.EventAttachment.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.EventAttachment.t     end   module Event :     sig       module Source :         sig           type t = { title : string; url : string; }           val title : (GapiCalendarV3Model.Event.Source.t, string) GapiLens.t           val url : (GapiCalendarV3Model.Event.Source.t, string) GapiLens.t           val empty : GapiCalendarV3Model.Event.Source.t           val render :             GapiCalendarV3Model.Event.Source.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.Event.Source.t ->             GapiJson.json_data_model -> GapiCalendarV3Model.Event.Source.t         end       module Reminders :         sig           type t = {             overrides : GapiCalendarV3Model.EventReminder.t list;             useDefault : bool;           }           val overrides :             (GapiCalendarV3Model.Event.Reminders.t,              GapiCalendarV3Model.EventReminder.t list)             GapiLens.t           val useDefault :             (GapiCalendarV3Model.Event.Reminders.t, bool) GapiLens.t           val empty : GapiCalendarV3Model.Event.Reminders.t           val render :             GapiCalendarV3Model.Event.Reminders.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.Event.Reminders.t ->             GapiJson.json_data_model -> GapiCalendarV3Model.Event.Reminders.t         end       module Organizer :         sig           type t = {             displayName : string;             email : string;             id : string;             self : bool;           }           val displayName :             (GapiCalendarV3Model.Event.Organizer.t, string) GapiLens.t           val email :             (GapiCalendarV3Model.Event.Organizer.t, string) GapiLens.t           val id : (GapiCalendarV3Model.Event.Organizer.t, string) GapiLens.t           val self : (GapiCalendarV3Model.Event.Organizer.t, bool) GapiLens.t           val empty : GapiCalendarV3Model.Event.Organizer.t           val render :             GapiCalendarV3Model.Event.Organizer.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.Event.Organizer.t ->             GapiJson.json_data_model -> GapiCalendarV3Model.Event.Organizer.t         end       module Gadget :         sig           type t = {             display : string;             height : int;             iconLink : string;             link : string;             preferences : (string * string) list;             title : string;             _type : string;             width : int;           }           val display :             (GapiCalendarV3Model.Event.Gadget.t, string) GapiLens.t           val height : (GapiCalendarV3Model.Event.Gadget.t, int) GapiLens.t           val iconLink :             (GapiCalendarV3Model.Event.Gadget.t, string) GapiLens.t           val link : (GapiCalendarV3Model.Event.Gadget.t, string) GapiLens.t           val preferences :             (GapiCalendarV3Model.Event.Gadget.t, (string * string) list)             GapiLens.t           val title : (GapiCalendarV3Model.Event.Gadget.t, string) GapiLens.t           val _type : (GapiCalendarV3Model.Event.Gadget.t, string) GapiLens.t           val width : (GapiCalendarV3Model.Event.Gadget.t, int) GapiLens.t           val empty : GapiCalendarV3Model.Event.Gadget.t           val render :             GapiCalendarV3Model.Event.Gadget.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.Event.Gadget.t ->             GapiJson.json_data_model -> GapiCalendarV3Model.Event.Gadget.t         end       module ExtendedProperties :         sig           type t = {             _private : (string * string) list;             shared : (string * string) list;           }           val _private :             (GapiCalendarV3Model.Event.ExtendedProperties.t,              (string * string) list)             GapiLens.t           val shared :             (GapiCalendarV3Model.Event.ExtendedProperties.t,              (string * string) list)             GapiLens.t           val empty : GapiCalendarV3Model.Event.ExtendedProperties.t           val render :             GapiCalendarV3Model.Event.ExtendedProperties.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.Event.ExtendedProperties.t ->             GapiJson.json_data_model ->             GapiCalendarV3Model.Event.ExtendedProperties.t         end       module Creator :         sig           type t = {             displayName : string;             email : string;             id : string;             self : bool;           }           val displayName :             (GapiCalendarV3Model.Event.Creator.t, string) GapiLens.t           val email :             (GapiCalendarV3Model.Event.Creator.t, string) GapiLens.t           val id : (GapiCalendarV3Model.Event.Creator.t, string) GapiLens.t           val self : (GapiCalendarV3Model.Event.Creator.t, bool) GapiLens.t           val empty : GapiCalendarV3Model.Event.Creator.t           val render :             GapiCalendarV3Model.Event.Creator.t ->             GapiJson.json_data_model list           val parse :             GapiCalendarV3Model.Event.Creator.t ->             GapiJson.json_data_model -> GapiCalendarV3Model.Event.Creator.t         end       type t = {         anyoneCanAddSelf : bool;         attachments : GapiCalendarV3Model.EventAttachment.t list;         attendees : GapiCalendarV3Model.EventAttendee.t list;         attendeesOmitted : bool;         colorId : string;         created : GapiDate.t;         creator : GapiCalendarV3Model.Event.Creator.t;         description : string;         _end : GapiCalendarV3Model.EventDateTime.t;         endTimeUnspecified : bool;         etag : string;         extendedProperties : GapiCalendarV3Model.Event.ExtendedProperties.t;         gadget : GapiCalendarV3Model.Event.Gadget.t;         guestsCanInviteOthers : bool;         guestsCanModify : bool;         guestsCanSeeOtherGuests : bool;         hangoutLink : string;         htmlLink : string;         iCalUID : string;         id : string;         kind : string;         location : string;         locked : bool;         organizer : GapiCalendarV3Model.Event.Organizer.t;         originalStartTime : GapiCalendarV3Model.EventDateTime.t;         privateCopy : bool;         recurrence : string list;         recurringEventId : string;         reminders : GapiCalendarV3Model.Event.Reminders.t;         sequence : int;         source : GapiCalendarV3Model.Event.Source.t;         start : GapiCalendarV3Model.EventDateTime.t;         status : string;         summary : string;         transparency : string;         updated : GapiDate.t;         visibility : string;       }       val anyoneCanAddSelf : (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val attachments :         (GapiCalendarV3Model.Event.t,          GapiCalendarV3Model.EventAttachment.t list)         GapiLens.t       val attendees :         (GapiCalendarV3Model.Event.t,          GapiCalendarV3Model.EventAttendee.t list)         GapiLens.t       val attendeesOmitted : (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val colorId : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val created : (GapiCalendarV3Model.Event.t, GapiDate.t) GapiLens.t       val creator :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.Event.Creator.t)         GapiLens.t       val description : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val _end :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.EventDateTime.t)         GapiLens.t       val endTimeUnspecified : (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val etag : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val extendedProperties :         (GapiCalendarV3Model.Event.t,          GapiCalendarV3Model.Event.ExtendedProperties.t)         GapiLens.t       val gadget :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.Event.Gadget.t)         GapiLens.t       val guestsCanInviteOthers :         (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val guestsCanModify : (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val guestsCanSeeOtherGuests :         (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val hangoutLink : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val htmlLink : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val iCalUID : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val id : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val kind : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val location : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val locked : (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val organizer :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.Event.Organizer.t)         GapiLens.t       val originalStartTime :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.EventDateTime.t)         GapiLens.t       val privateCopy : (GapiCalendarV3Model.Event.t, bool) GapiLens.t       val recurrence : (GapiCalendarV3Model.Event.t, string list) GapiLens.t       val recurringEventId : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val reminders :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.Event.Reminders.t)         GapiLens.t       val sequence : (GapiCalendarV3Model.Event.t, int) GapiLens.t       val source :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.Event.Source.t)         GapiLens.t       val start :         (GapiCalendarV3Model.Event.t, GapiCalendarV3Model.EventDateTime.t)         GapiLens.t       val status : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val summary : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val transparency : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val updated : (GapiCalendarV3Model.Event.t, GapiDate.t) GapiLens.t       val visibility : (GapiCalendarV3Model.Event.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Event.t       val render :         GapiCalendarV3Model.Event.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Event.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Event.t       val to_data_model :         GapiCalendarV3Model.Event.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Event.t     end   module Acl :     sig       type t = {         etag : string;         items : GapiCalendarV3Model.AclRule.t list;         kind : string;         nextPageToken : string;         nextSyncToken : string;       }       val etag : (GapiCalendarV3Model.Acl.t, string) GapiLens.t       val items :         (GapiCalendarV3Model.Acl.t, GapiCalendarV3Model.AclRule.t list)         GapiLens.t       val kind : (GapiCalendarV3Model.Acl.t, string) GapiLens.t       val nextPageToken : (GapiCalendarV3Model.Acl.t, string) GapiLens.t       val nextSyncToken : (GapiCalendarV3Model.Acl.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Acl.t       val render : GapiCalendarV3Model.Acl.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Acl.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Acl.t       val to_data_model :         GapiCalendarV3Model.Acl.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Acl.t     end   module Events :     sig       type t = {         accessRole : string;         defaultReminders : GapiCalendarV3Model.EventReminder.t list;         description : string;         etag : string;         items : GapiCalendarV3Model.Event.t list;         kind : string;         nextPageToken : string;         nextSyncToken : string;         summary : string;         timeZone : string;         updated : GapiDate.t;       }       val accessRole : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val defaultReminders :         (GapiCalendarV3Model.Events.t,          GapiCalendarV3Model.EventReminder.t list)         GapiLens.t       val description : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val etag : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val items :         (GapiCalendarV3Model.Events.t, GapiCalendarV3Model.Event.t list)         GapiLens.t       val kind : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val nextPageToken : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val nextSyncToken : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val summary : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val timeZone : (GapiCalendarV3Model.Events.t, string) GapiLens.t       val updated : (GapiCalendarV3Model.Events.t, GapiDate.t) GapiLens.t       val empty : GapiCalendarV3Model.Events.t       val render :         GapiCalendarV3Model.Events.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Events.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Events.t       val to_data_model :         GapiCalendarV3Model.Events.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Events.t     end   module Channel :     sig       type t = {         address : string;         expiration : int64;         id : string;         kind : string;         params : (string * string) list;         payload : bool;         resourceId : string;         resourceUri : string;         token : string;         _type : string;       }       val address : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val expiration : (GapiCalendarV3Model.Channel.t, int64) GapiLens.t       val id : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val kind : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val params :         (GapiCalendarV3Model.Channel.t, (string * string) list) GapiLens.t       val payload : (GapiCalendarV3Model.Channel.t, bool) GapiLens.t       val resourceId : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val resourceUri : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val token : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val _type : (GapiCalendarV3Model.Channel.t, string) GapiLens.t       val empty : GapiCalendarV3Model.Channel.t       val render :         GapiCalendarV3Model.Channel.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Channel.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Channel.t       val to_data_model :         GapiCalendarV3Model.Channel.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Channel.t     end   module Colors :     sig       type t = {         calendar : (string * GapiCalendarV3Model.ColorDefinition.t) list;         event : (string * GapiCalendarV3Model.ColorDefinition.t) list;         kind : string;         updated : GapiDate.t;       }       val calendar :         (GapiCalendarV3Model.Colors.t,          (string * GapiCalendarV3Model.ColorDefinition.t) list)         GapiLens.t       val event :         (GapiCalendarV3Model.Colors.t,          (string * GapiCalendarV3Model.ColorDefinition.t) list)         GapiLens.t       val kind : (GapiCalendarV3Model.Colors.t, string) GapiLens.t       val updated : (GapiCalendarV3Model.Colors.t, GapiDate.t) GapiLens.t       val empty : GapiCalendarV3Model.Colors.t       val render :         GapiCalendarV3Model.Colors.t -> GapiJson.json_data_model list       val parse :         GapiCalendarV3Model.Colors.t ->         GapiJson.json_data_model -> GapiCalendarV3Model.Colors.t       val to_data_model :         GapiCalendarV3Model.Colors.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiCalendarV3Model.Colors.t     end end