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