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