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