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