sig   module VideoMediaMetadata :     sig       type t = { durationMillis : int64; height : int; width : int; }       val durationMillis :         (GapiDriveV2Model.File.VideoMediaMetadata.t, int64) GapiLens.t       val height :         (GapiDriveV2Model.File.VideoMediaMetadata.t, int) GapiLens.t       val width :         (GapiDriveV2Model.File.VideoMediaMetadata.t, int) GapiLens.t       val empty : GapiDriveV2Model.File.VideoMediaMetadata.t       val render :         GapiDriveV2Model.File.VideoMediaMetadata.t ->         GapiJson.json_data_model list       val parse :         GapiDriveV2Model.File.VideoMediaMetadata.t ->         GapiJson.json_data_model ->         GapiDriveV2Model.File.VideoMediaMetadata.t     end   module Thumbnail :     sig       type t = { image : string; mimeType : string; }       val image : (GapiDriveV2Model.File.Thumbnail.t, string) GapiLens.t       val mimeType : (GapiDriveV2Model.File.Thumbnail.t, string) GapiLens.t       val empty : GapiDriveV2Model.File.Thumbnail.t       val render :         GapiDriveV2Model.File.Thumbnail.t -> GapiJson.json_data_model list       val parse :         GapiDriveV2Model.File.Thumbnail.t ->         GapiJson.json_data_model -> GapiDriveV2Model.File.Thumbnail.t     end   module Labels :     sig       type t = {         hidden : bool;         modified : bool;         restricted : bool;         starred : bool;         trashed : bool;         viewed : bool;       }       val hidden : (GapiDriveV2Model.File.Labels.t, bool) GapiLens.t       val modified : (GapiDriveV2Model.File.Labels.t, bool) GapiLens.t       val restricted : (GapiDriveV2Model.File.Labels.t, bool) GapiLens.t       val starred : (GapiDriveV2Model.File.Labels.t, bool) GapiLens.t       val trashed : (GapiDriveV2Model.File.Labels.t, bool) GapiLens.t       val viewed : (GapiDriveV2Model.File.Labels.t, bool) GapiLens.t       val empty : GapiDriveV2Model.File.Labels.t       val render :         GapiDriveV2Model.File.Labels.t -> GapiJson.json_data_model list       val parse :         GapiDriveV2Model.File.Labels.t ->         GapiJson.json_data_model -> GapiDriveV2Model.File.Labels.t     end   module IndexableText :     sig       type t = { text : string; }       val text : (GapiDriveV2Model.File.IndexableText.t, string) GapiLens.t       val empty : GapiDriveV2Model.File.IndexableText.t       val render :         GapiDriveV2Model.File.IndexableText.t ->         GapiJson.json_data_model list       val parse :         GapiDriveV2Model.File.IndexableText.t ->         GapiJson.json_data_model -> GapiDriveV2Model.File.IndexableText.t     end   module ImageMediaMetadata :     sig       module Location :         sig           type t = { altitude : float; latitude : float; longitude : float; }           val altitude :             (GapiDriveV2Model.File.ImageMediaMetadata.Location.t, float)             GapiLens.t           val latitude :             (GapiDriveV2Model.File.ImageMediaMetadata.Location.t, float)             GapiLens.t           val longitude :             (GapiDriveV2Model.File.ImageMediaMetadata.Location.t, float)             GapiLens.t           val empty : GapiDriveV2Model.File.ImageMediaMetadata.Location.t           val render :             GapiDriveV2Model.File.ImageMediaMetadata.Location.t ->             GapiJson.json_data_model list           val parse :             GapiDriveV2Model.File.ImageMediaMetadata.Location.t ->             GapiJson.json_data_model ->             GapiDriveV2Model.File.ImageMediaMetadata.Location.t         end       type t = {         aperture : float;         cameraMake : string;         cameraModel : string;         colorSpace : string;         date : string;         exposureBias : float;         exposureMode : string;         exposureTime : float;         flashUsed : bool;         focalLength : float;         height : int;         isoSpeed : int;         lens : string;         location : GapiDriveV2Model.File.ImageMediaMetadata.Location.t;         maxApertureValue : float;         meteringMode : string;         rotation : int;         sensor : string;         subjectDistance : int;         whiteBalance : string;         width : int;       }       val aperture :         (GapiDriveV2Model.File.ImageMediaMetadata.t, float) GapiLens.t       val cameraMake :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val cameraModel :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val colorSpace :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val date :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val exposureBias :         (GapiDriveV2Model.File.ImageMediaMetadata.t, float) GapiLens.t       val exposureMode :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val exposureTime :         (GapiDriveV2Model.File.ImageMediaMetadata.t, float) GapiLens.t       val flashUsed :         (GapiDriveV2Model.File.ImageMediaMetadata.t, bool) GapiLens.t       val focalLength :         (GapiDriveV2Model.File.ImageMediaMetadata.t, float) GapiLens.t       val height :         (GapiDriveV2Model.File.ImageMediaMetadata.t, int) GapiLens.t       val isoSpeed :         (GapiDriveV2Model.File.ImageMediaMetadata.t, int) GapiLens.t       val lens :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val location :         (GapiDriveV2Model.File.ImageMediaMetadata.t,          GapiDriveV2Model.File.ImageMediaMetadata.Location.t)         GapiLens.t       val maxApertureValue :         (GapiDriveV2Model.File.ImageMediaMetadata.t, float) GapiLens.t       val meteringMode :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val rotation :         (GapiDriveV2Model.File.ImageMediaMetadata.t, int) GapiLens.t       val sensor :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val subjectDistance :         (GapiDriveV2Model.File.ImageMediaMetadata.t, int) GapiLens.t       val whiteBalance :         (GapiDriveV2Model.File.ImageMediaMetadata.t, string) GapiLens.t       val width :         (GapiDriveV2Model.File.ImageMediaMetadata.t, int) GapiLens.t       val empty : GapiDriveV2Model.File.ImageMediaMetadata.t       val render :         GapiDriveV2Model.File.ImageMediaMetadata.t ->         GapiJson.json_data_model list       val parse :         GapiDriveV2Model.File.ImageMediaMetadata.t ->         GapiJson.json_data_model ->         GapiDriveV2Model.File.ImageMediaMetadata.t     end   type t = {     alternateLink : string;     appDataContents : bool;     canComment : bool;     canReadRevisions : bool;     copyable : bool;     createdDate : GapiDate.t;     defaultOpenWithLink : string;     description : string;     downloadUrl : string;     editable : bool;     embedLink : string;     etag : string;     explicitlyTrashed : bool;     exportLinks : (string * string) list;     fileExtension : string;     fileSize : int64;     folderColorRgb : string;     fullFileExtension : string;     headRevisionId : string;     iconLink : string;     id : string;     imageMediaMetadata : GapiDriveV2Model.File.ImageMediaMetadata.t;     indexableText : GapiDriveV2Model.File.IndexableText.t;     isAppAuthorized : bool;     kind : string;     labels : GapiDriveV2Model.File.Labels.t;     lastModifyingUser : GapiDriveV2Model.User.t;     lastModifyingUserName : string;     lastViewedByMeDate : GapiDate.t;     markedViewedByMeDate : GapiDate.t;     md5Checksum : string;     mimeType : string;     modifiedByMeDate : GapiDate.t;     modifiedDate : GapiDate.t;     openWithLinks : (string * string) list;     originalFilename : string;     ownedByMe : bool;     ownerNames : string list;     owners : GapiDriveV2Model.User.t list;     parents : GapiDriveV2Model.ParentReference.t list;     permissions : GapiDriveV2Model.Permission.t list;     properties : GapiDriveV2Model.Property.t list;     quotaBytesUsed : int64;     selfLink : string;     shareable : bool;     shared : bool;     sharedWithMeDate : GapiDate.t;     sharingUser : GapiDriveV2Model.User.t;     spaces : string list;     thumbnail : GapiDriveV2Model.File.Thumbnail.t;     thumbnailLink : string;     title : string;     userPermission : GapiDriveV2Model.Permission.t;     version : int64;     videoMediaMetadata : GapiDriveV2Model.File.VideoMediaMetadata.t;     webContentLink : string;     webViewLink : string;     writersCanShare : bool;   }   val alternateLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val appDataContents : (GapiDriveV2Model.File.t, bool) GapiLens.t   val canComment : (GapiDriveV2Model.File.t, bool) GapiLens.t   val canReadRevisions : (GapiDriveV2Model.File.t, bool) GapiLens.t   val copyable : (GapiDriveV2Model.File.t, bool) GapiLens.t   val createdDate : (GapiDriveV2Model.File.t, GapiDate.t) GapiLens.t   val defaultOpenWithLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val description : (GapiDriveV2Model.File.t, string) GapiLens.t   val downloadUrl : (GapiDriveV2Model.File.t, string) GapiLens.t   val editable : (GapiDriveV2Model.File.t, bool) GapiLens.t   val embedLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val etag : (GapiDriveV2Model.File.t, string) GapiLens.t   val explicitlyTrashed : (GapiDriveV2Model.File.t, bool) GapiLens.t   val exportLinks :     (GapiDriveV2Model.File.t, (string * string) list) GapiLens.t   val fileExtension : (GapiDriveV2Model.File.t, string) GapiLens.t   val fileSize : (GapiDriveV2Model.File.t, int64) GapiLens.t   val folderColorRgb : (GapiDriveV2Model.File.t, string) GapiLens.t   val fullFileExtension : (GapiDriveV2Model.File.t, string) GapiLens.t   val headRevisionId : (GapiDriveV2Model.File.t, string) GapiLens.t   val iconLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val id : (GapiDriveV2Model.File.t, string) GapiLens.t   val imageMediaMetadata :     (GapiDriveV2Model.File.t, GapiDriveV2Model.File.ImageMediaMetadata.t)     GapiLens.t   val indexableText :     (GapiDriveV2Model.File.t, GapiDriveV2Model.File.IndexableText.t)     GapiLens.t   val isAppAuthorized : (GapiDriveV2Model.File.t, bool) GapiLens.t   val kind : (GapiDriveV2Model.File.t, string) GapiLens.t   val labels :     (GapiDriveV2Model.File.t, GapiDriveV2Model.File.Labels.t) GapiLens.t   val lastModifyingUser :     (GapiDriveV2Model.File.t, GapiDriveV2Model.User.t) GapiLens.t   val lastModifyingUserName : (GapiDriveV2Model.File.t, string) GapiLens.t   val lastViewedByMeDate : (GapiDriveV2Model.File.t, GapiDate.t) GapiLens.t   val markedViewedByMeDate : (GapiDriveV2Model.File.t, GapiDate.t) GapiLens.t   val md5Checksum : (GapiDriveV2Model.File.t, string) GapiLens.t   val mimeType : (GapiDriveV2Model.File.t, string) GapiLens.t   val modifiedByMeDate : (GapiDriveV2Model.File.t, GapiDate.t) GapiLens.t   val modifiedDate : (GapiDriveV2Model.File.t, GapiDate.t) GapiLens.t   val openWithLinks :     (GapiDriveV2Model.File.t, (string * string) list) GapiLens.t   val originalFilename : (GapiDriveV2Model.File.t, string) GapiLens.t   val ownedByMe : (GapiDriveV2Model.File.t, bool) GapiLens.t   val ownerNames : (GapiDriveV2Model.File.t, string list) GapiLens.t   val owners :     (GapiDriveV2Model.File.t, GapiDriveV2Model.User.t list) GapiLens.t   val parents :     (GapiDriveV2Model.File.t, GapiDriveV2Model.ParentReference.t list)     GapiLens.t   val permissions :     (GapiDriveV2Model.File.t, GapiDriveV2Model.Permission.t list) GapiLens.t   val properties :     (GapiDriveV2Model.File.t, GapiDriveV2Model.Property.t list) GapiLens.t   val quotaBytesUsed : (GapiDriveV2Model.File.t, int64) GapiLens.t   val selfLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val shareable : (GapiDriveV2Model.File.t, bool) GapiLens.t   val shared : (GapiDriveV2Model.File.t, bool) GapiLens.t   val sharedWithMeDate : (GapiDriveV2Model.File.t, GapiDate.t) GapiLens.t   val sharingUser :     (GapiDriveV2Model.File.t, GapiDriveV2Model.User.t) GapiLens.t   val spaces : (GapiDriveV2Model.File.t, string list) GapiLens.t   val thumbnail :     (GapiDriveV2Model.File.t, GapiDriveV2Model.File.Thumbnail.t) GapiLens.t   val thumbnailLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val title : (GapiDriveV2Model.File.t, string) GapiLens.t   val userPermission :     (GapiDriveV2Model.File.t, GapiDriveV2Model.Permission.t) GapiLens.t   val version : (GapiDriveV2Model.File.t, int64) GapiLens.t   val videoMediaMetadata :     (GapiDriveV2Model.File.t, GapiDriveV2Model.File.VideoMediaMetadata.t)     GapiLens.t   val webContentLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val webViewLink : (GapiDriveV2Model.File.t, string) GapiLens.t   val writersCanShare : (GapiDriveV2Model.File.t, bool) GapiLens.t   val empty : GapiDriveV2Model.File.t   val render : GapiDriveV2Model.File.t -> GapiJson.json_data_model list   val parse :     GapiDriveV2Model.File.t ->     GapiJson.json_data_model -> GapiDriveV2Model.File.t   val to_data_model : GapiDriveV2Model.File.t -> GapiJson.json_data_model   val of_data_model : GapiJson.json_data_model -> GapiDriveV2Model.File.t end