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