sig   module JsonSchema :     sig       module Variant :         sig           module Map :             sig               type t = { _ref : string; type_value : string; }               val _ref :                 (GapiDiscoveryV1Model.JsonSchema.Variant.Map.t, string)                 GapiLens.t               val type_value :                 (GapiDiscoveryV1Model.JsonSchema.Variant.Map.t, string)                 GapiLens.t               val empty : GapiDiscoveryV1Model.JsonSchema.Variant.Map.t               val render :                 GapiDiscoveryV1Model.JsonSchema.Variant.Map.t ->                 GapiJson.json_data_model list               val parse :                 GapiDiscoveryV1Model.JsonSchema.Variant.Map.t ->                 GapiJson.json_data_model ->                 GapiDiscoveryV1Model.JsonSchema.Variant.Map.t             end           type t = {             discriminant : string;             map : GapiDiscoveryV1Model.JsonSchema.Variant.Map.t list;           }           val discriminant :             (GapiDiscoveryV1Model.JsonSchema.Variant.t, string) GapiLens.t           val map :             (GapiDiscoveryV1Model.JsonSchema.Variant.t,              GapiDiscoveryV1Model.JsonSchema.Variant.Map.t list)             GapiLens.t           val empty : GapiDiscoveryV1Model.JsonSchema.Variant.t           val render :             GapiDiscoveryV1Model.JsonSchema.Variant.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.JsonSchema.Variant.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.JsonSchema.Variant.t         end       module Annotations :         sig           type t = { required : string list; }           val required :             (GapiDiscoveryV1Model.JsonSchema.Annotations.t, string list)             GapiLens.t           val empty : GapiDiscoveryV1Model.JsonSchema.Annotations.t           val render :             GapiDiscoveryV1Model.JsonSchema.Annotations.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.JsonSchema.Annotations.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.JsonSchema.Annotations.t         end       type t = {         _ref : string;         additionalProperties : GapiDiscoveryV1Model.JsonSchema.t option;         annotations : GapiDiscoveryV1Model.JsonSchema.Annotations.t;         default : string;         description : string;         enum : string list;         enumDescriptions : string list;         format : string;         id : string;         items : GapiDiscoveryV1Model.JsonSchema.t option;         location : string;         maximum : string;         minimum : string;         pattern : string;         properties : (string * GapiDiscoveryV1Model.JsonSchema.t) list;         readOnly : bool;         repeated : bool;         required : bool;         _type : string;         variant : GapiDiscoveryV1Model.JsonSchema.Variant.t;       }       val _ref : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val additionalProperties :         (GapiDiscoveryV1Model.JsonSchema.t,          GapiDiscoveryV1Model.JsonSchema.t option)         GapiLens.t       val annotations :         (GapiDiscoveryV1Model.JsonSchema.t,          GapiDiscoveryV1Model.JsonSchema.Annotations.t)         GapiLens.t       val default : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val description :         (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val enum : (GapiDiscoveryV1Model.JsonSchema.t, string list) GapiLens.t       val enumDescriptions :         (GapiDiscoveryV1Model.JsonSchema.t, string list) GapiLens.t       val format : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val id : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val items :         (GapiDiscoveryV1Model.JsonSchema.t,          GapiDiscoveryV1Model.JsonSchema.t option)         GapiLens.t       val location : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val maximum : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val minimum : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val pattern : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val properties :         (GapiDiscoveryV1Model.JsonSchema.t,          (string * GapiDiscoveryV1Model.JsonSchema.t) list)         GapiLens.t       val readOnly : (GapiDiscoveryV1Model.JsonSchema.t, bool) GapiLens.t       val repeated : (GapiDiscoveryV1Model.JsonSchema.t, bool) GapiLens.t       val required : (GapiDiscoveryV1Model.JsonSchema.t, bool) GapiLens.t       val _type : (GapiDiscoveryV1Model.JsonSchema.t, string) GapiLens.t       val variant :         (GapiDiscoveryV1Model.JsonSchema.t,          GapiDiscoveryV1Model.JsonSchema.Variant.t)         GapiLens.t       val empty : GapiDiscoveryV1Model.JsonSchema.t       val render :         GapiDiscoveryV1Model.JsonSchema.t -> GapiJson.json_data_model list       val parse :         GapiDiscoveryV1Model.JsonSchema.t ->         GapiJson.json_data_model -> GapiDiscoveryV1Model.JsonSchema.t       val to_data_model :         GapiDiscoveryV1Model.JsonSchema.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiDiscoveryV1Model.JsonSchema.t     end   module DirectoryList :     sig       module Items :         sig           module Icons :             sig               type t = { x16 : string; x32 : string; }               val x16 :                 (GapiDiscoveryV1Model.DirectoryList.Items.Icons.t, string)                 GapiLens.t               val x32 :                 (GapiDiscoveryV1Model.DirectoryList.Items.Icons.t, string)                 GapiLens.t               val empty : GapiDiscoveryV1Model.DirectoryList.Items.Icons.t               val render :                 GapiDiscoveryV1Model.DirectoryList.Items.Icons.t ->                 GapiJson.json_data_model list               val parse :                 GapiDiscoveryV1Model.DirectoryList.Items.Icons.t ->                 GapiJson.json_data_model ->                 GapiDiscoveryV1Model.DirectoryList.Items.Icons.t             end           type t = {             description : string;             discoveryLink : string;             discoveryRestUrl : string;             documentationLink : string;             icons : GapiDiscoveryV1Model.DirectoryList.Items.Icons.t;             id : string;             kind : string;             labels : string list;             name : string;             preferred : bool;             title : string;             version : string;           }           val description :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val discoveryLink :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val discoveryRestUrl :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val documentationLink :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val icons :             (GapiDiscoveryV1Model.DirectoryList.Items.t,              GapiDiscoveryV1Model.DirectoryList.Items.Icons.t)             GapiLens.t           val id :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val kind :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val labels :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string list)             GapiLens.t           val name :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val preferred :             (GapiDiscoveryV1Model.DirectoryList.Items.t, bool) GapiLens.t           val title :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val version :             (GapiDiscoveryV1Model.DirectoryList.Items.t, string) GapiLens.t           val empty : GapiDiscoveryV1Model.DirectoryList.Items.t           val render :             GapiDiscoveryV1Model.DirectoryList.Items.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.DirectoryList.Items.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.DirectoryList.Items.t         end       type t = {         discoveryVersion : string;         items : GapiDiscoveryV1Model.DirectoryList.Items.t list;         kind : string;       }       val discoveryVersion :         (GapiDiscoveryV1Model.DirectoryList.t, string) GapiLens.t       val items :         (GapiDiscoveryV1Model.DirectoryList.t,          GapiDiscoveryV1Model.DirectoryList.Items.t list)         GapiLens.t       val kind : (GapiDiscoveryV1Model.DirectoryList.t, string) GapiLens.t       val empty : GapiDiscoveryV1Model.DirectoryList.t       val render :         GapiDiscoveryV1Model.DirectoryList.t -> GapiJson.json_data_model list       val parse :         GapiDiscoveryV1Model.DirectoryList.t ->         GapiJson.json_data_model -> GapiDiscoveryV1Model.DirectoryList.t       val to_data_model :         GapiDiscoveryV1Model.DirectoryList.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiDiscoveryV1Model.DirectoryList.t     end   module RestMethod :     sig       module Response :         sig           type t = { _ref : string; }           val _ref :             (GapiDiscoveryV1Model.RestMethod.Response.t, string) GapiLens.t           val empty : GapiDiscoveryV1Model.RestMethod.Response.t           val render :             GapiDiscoveryV1Model.RestMethod.Response.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.RestMethod.Response.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.RestMethod.Response.t         end       module Request :         sig           type t = { _ref : string; parameterName : string; }           val _ref :             (GapiDiscoveryV1Model.RestMethod.Request.t, string) GapiLens.t           val parameterName :             (GapiDiscoveryV1Model.RestMethod.Request.t, string) GapiLens.t           val empty : GapiDiscoveryV1Model.RestMethod.Request.t           val render :             GapiDiscoveryV1Model.RestMethod.Request.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.RestMethod.Request.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.RestMethod.Request.t         end       module MediaUpload :         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       type t = {         description : string;         etagRequired : bool;         httpMethod : string;         id : string;         mediaUpload : GapiDiscoveryV1Model.RestMethod.MediaUpload.t;         parameterOrder : string list;         parameters : (string * GapiDiscoveryV1Model.JsonSchema.t) list;         path : string;         request : GapiDiscoveryV1Model.RestMethod.Request.t;         response : GapiDiscoveryV1Model.RestMethod.Response.t;         scopes : string list;         supportsMediaDownload : bool;         supportsMediaUpload : bool;         supportsSubscription : bool;         useMediaDownloadService : bool;       }       val description :         (GapiDiscoveryV1Model.RestMethod.t, string) GapiLens.t       val etagRequired : (GapiDiscoveryV1Model.RestMethod.t, bool) GapiLens.t       val httpMethod : (GapiDiscoveryV1Model.RestMethod.t, string) GapiLens.t       val id : (GapiDiscoveryV1Model.RestMethod.t, string) GapiLens.t       val mediaUpload :         (GapiDiscoveryV1Model.RestMethod.t,          GapiDiscoveryV1Model.RestMethod.MediaUpload.t)         GapiLens.t       val parameterOrder :         (GapiDiscoveryV1Model.RestMethod.t, string list) GapiLens.t       val parameters :         (GapiDiscoveryV1Model.RestMethod.t,          (string * GapiDiscoveryV1Model.JsonSchema.t) list)         GapiLens.t       val path : (GapiDiscoveryV1Model.RestMethod.t, string) GapiLens.t       val request :         (GapiDiscoveryV1Model.RestMethod.t,          GapiDiscoveryV1Model.RestMethod.Request.t)         GapiLens.t       val response :         (GapiDiscoveryV1Model.RestMethod.t,          GapiDiscoveryV1Model.RestMethod.Response.t)         GapiLens.t       val scopes :         (GapiDiscoveryV1Model.RestMethod.t, string list) GapiLens.t       val supportsMediaDownload :         (GapiDiscoveryV1Model.RestMethod.t, bool) GapiLens.t       val supportsMediaUpload :         (GapiDiscoveryV1Model.RestMethod.t, bool) GapiLens.t       val supportsSubscription :         (GapiDiscoveryV1Model.RestMethod.t, bool) GapiLens.t       val useMediaDownloadService :         (GapiDiscoveryV1Model.RestMethod.t, bool) GapiLens.t       val empty : GapiDiscoveryV1Model.RestMethod.t       val render :         GapiDiscoveryV1Model.RestMethod.t -> GapiJson.json_data_model list       val parse :         GapiDiscoveryV1Model.RestMethod.t ->         GapiJson.json_data_model -> GapiDiscoveryV1Model.RestMethod.t       val to_data_model :         GapiDiscoveryV1Model.RestMethod.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiDiscoveryV1Model.RestMethod.t     end   module RestResource :     sig       type t = {         methods : (string * GapiDiscoveryV1Model.RestMethod.t) list;         resources : (string * GapiDiscoveryV1Model.RestResource.t) list;       }       val methods :         (GapiDiscoveryV1Model.RestResource.t,          (string * GapiDiscoveryV1Model.RestMethod.t) list)         GapiLens.t       val resources :         (GapiDiscoveryV1Model.RestResource.t,          (string * GapiDiscoveryV1Model.RestResource.t) list)         GapiLens.t       val empty : GapiDiscoveryV1Model.RestResource.t       val render :         GapiDiscoveryV1Model.RestResource.t -> GapiJson.json_data_model list       val parse :         GapiDiscoveryV1Model.RestResource.t ->         GapiJson.json_data_model -> GapiDiscoveryV1Model.RestResource.t       val to_data_model :         GapiDiscoveryV1Model.RestResource.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiDiscoveryV1Model.RestResource.t     end   module RestDescription :     sig       module Icons :         sig           type t = { x16 : string; x32 : string; }           val x16 :             (GapiDiscoveryV1Model.RestDescription.Icons.t, string) GapiLens.t           val x32 :             (GapiDiscoveryV1Model.RestDescription.Icons.t, string) GapiLens.t           val empty : GapiDiscoveryV1Model.RestDescription.Icons.t           val render :             GapiDiscoveryV1Model.RestDescription.Icons.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.RestDescription.Icons.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.RestDescription.Icons.t         end       module Auth :         sig           module Oauth2 :             sig               module Scopes :                 sig                   type t = { description : string; }                   val description :                     (GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t,                      string)                     GapiLens.t                   val empty :                     GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t                   val render :                     GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t ->                     GapiJson.json_data_model list                   val parse :                     GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t ->                     GapiJson.json_data_model ->                     GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t                 end               type t = {                 scopes :                   (string *                    GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t)                   list;               }               val scopes :                 (GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t,                  (string *                   GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t)                  list)                 GapiLens.t               val empty : GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t               val render :                 GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t ->                 GapiJson.json_data_model list               val parse :                 GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t ->                 GapiJson.json_data_model ->                 GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t             end           type t = {             oauth2 : GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t;           }           val oauth2 :             (GapiDiscoveryV1Model.RestDescription.Auth.t,              GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t)             GapiLens.t           val empty : GapiDiscoveryV1Model.RestDescription.Auth.t           val render :             GapiDiscoveryV1Model.RestDescription.Auth.t ->             GapiJson.json_data_model list           val parse :             GapiDiscoveryV1Model.RestDescription.Auth.t ->             GapiJson.json_data_model ->             GapiDiscoveryV1Model.RestDescription.Auth.t         end       type t = {         auth : GapiDiscoveryV1Model.RestDescription.Auth.t;         basePath : string;         baseUrl : string;         batchPath : string;         canonicalName : string;         description : string;         discoveryVersion : string;         documentationLink : string;         etag : string;         exponentialBackoffDefault : bool;         features : string list;         icons : GapiDiscoveryV1Model.RestDescription.Icons.t;         id : string;         kind : string;         labels : string list;         methods : (string * GapiDiscoveryV1Model.RestMethod.t) list;         name : string;         ownerDomain : string;         ownerName : string;         packagePath : string;         parameters : (string * GapiDiscoveryV1Model.JsonSchema.t) list;         protocol : string;         resources : (string * GapiDiscoveryV1Model.RestResource.t) list;         revision : string;         rootUrl : string;         schemas : (string * GapiDiscoveryV1Model.JsonSchema.t) list;         servicePath : string;         title : string;         version : string;         version_module : bool;       }       val auth :         (GapiDiscoveryV1Model.RestDescription.t,          GapiDiscoveryV1Model.RestDescription.Auth.t)         GapiLens.t       val basePath :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val baseUrl :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val batchPath :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val canonicalName :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val description :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val discoveryVersion :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val documentationLink :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val etag : (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val exponentialBackoffDefault :         (GapiDiscoveryV1Model.RestDescription.t, bool) GapiLens.t       val features :         (GapiDiscoveryV1Model.RestDescription.t, string list) GapiLens.t       val icons :         (GapiDiscoveryV1Model.RestDescription.t,          GapiDiscoveryV1Model.RestDescription.Icons.t)         GapiLens.t       val id : (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val kind : (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val labels :         (GapiDiscoveryV1Model.RestDescription.t, string list) GapiLens.t       val methods :         (GapiDiscoveryV1Model.RestDescription.t,          (string * GapiDiscoveryV1Model.RestMethod.t) list)         GapiLens.t       val name : (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val ownerDomain :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val ownerName :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val packagePath :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val parameters :         (GapiDiscoveryV1Model.RestDescription.t,          (string * GapiDiscoveryV1Model.JsonSchema.t) list)         GapiLens.t       val protocol :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val resources :         (GapiDiscoveryV1Model.RestDescription.t,          (string * GapiDiscoveryV1Model.RestResource.t) list)         GapiLens.t       val revision :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val rootUrl :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val schemas :         (GapiDiscoveryV1Model.RestDescription.t,          (string * GapiDiscoveryV1Model.JsonSchema.t) list)         GapiLens.t       val servicePath :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val title : (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val version :         (GapiDiscoveryV1Model.RestDescription.t, string) GapiLens.t       val version_module :         (GapiDiscoveryV1Model.RestDescription.t, bool) GapiLens.t       val empty : GapiDiscoveryV1Model.RestDescription.t       val render :         GapiDiscoveryV1Model.RestDescription.t ->         GapiJson.json_data_model list       val parse :         GapiDiscoveryV1Model.RestDescription.t ->         GapiJson.json_data_model -> GapiDiscoveryV1Model.RestDescription.t       val to_data_model :         GapiDiscoveryV1Model.RestDescription.t -> GapiJson.json_data_model       val of_data_model :         GapiJson.json_data_model -> GapiDiscoveryV1Model.RestDescription.t     end end