sig   module Protocols :     sig       module Simple :         sig           type t = { multipart : bool; path : string; }           val multipart :             (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t,              bool)             GapiLens.t           val path :             (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t,              string)             GapiLens.t           val empty :             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t           val render :             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t         end       module Resumable :         sig           type t = { multipart : bool; path : string; }           val multipart :             (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t,              bool)             GapiLens.t           val path :             (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t,              string)             GapiLens.t           val empty :             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t           val render :             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t         end       type t = {         resumable :           GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t;         simple :           GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t;       }       val resumable :         (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t,          GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t)         GapiLens.t       val simple :         (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t,          GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t)         GapiLens.t       val empty : GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t       val render :         GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t ->         GapiJson.json_data_model list       val parse :         GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t ->         GapiJson.json_data_model ->         GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t     end   type t = {     accept : string list;     maxSize : string;     protocols : GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t;   }   val accept :     (GapiDiscoveryV1Model.RestMethod.MediaUpload.t, string list) GapiLens.t   val maxSize :     (GapiDiscoveryV1Model.RestMethod.MediaUpload.t, string) GapiLens.t   val protocols :     (GapiDiscoveryV1Model.RestMethod.MediaUpload.t,      GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t)     GapiLens.t   val empty : GapiDiscoveryV1Model.RestMethod.MediaUpload.t   val render :     GapiDiscoveryV1Model.RestMethod.MediaUpload.t ->     GapiJson.json_data_model list   val parse :     GapiDiscoveryV1Model.RestMethod.MediaUpload.t ->     GapiJson.json_data_model -> GapiDiscoveryV1Model.RestMethod.MediaUpload.t end