sig   type debug_function =       Standard     | Custom of (Curl.t -> Curl.curlDebugType -> string -> unit)   type client_login_config = { username : string; password : string; }   val username : (GapiConfig.client_login_config, string) GapiLens.t   val password : (GapiConfig.client_login_config, string) GapiLens.t   type oauth1_config = {     signature_method : GapiCore.SignatureMethod.t;     consumer_key : string;     consumer_secret : string;   }   val signature_method :     (GapiConfig.oauth1_config, GapiCore.SignatureMethod.t) GapiLens.t   val consumer_key : (GapiConfig.oauth1_config, string) GapiLens.t   val consumer_secret : (GapiConfig.oauth1_config, string) GapiLens.t   type oauth2_config = {     client_id : string;     client_secret : string;     refresh_access_token : (unit -> string) option;   }   val client_id : (GapiConfig.oauth2_config, string) GapiLens.t   val client_secret : (GapiConfig.oauth2_config, string) GapiLens.t   val refresh_access_token :     (GapiConfig.oauth2_config, (unit -> string) option) GapiLens.t   type auth_config =       NoAuth     | ClientLogin of GapiConfig.client_login_config     | OAuth1 of GapiConfig.oauth1_config     | OAuth2 of GapiConfig.oauth2_config   type t = {     application_name : string;     debug : GapiConfig.debug_function option;     timeout : int option;     connect_timeout : int option;     compress : bool;     auth : GapiConfig.auth_config;     upload_chunk_size : int;     max_send_speed : int64;     max_recv_speed : int64;     low_speed_limit : int;     low_speed_time : int;     curl_no_signal : bool;   }   val application_name : (GapiConfig.t, string) GapiLens.t   val debug : (GapiConfig.t, GapiConfig.debug_function option) GapiLens.t   val timeout : (GapiConfig.t, int option) GapiLens.t   val connect_timeout : (GapiConfig.t, int option) GapiLens.t   val compress : (GapiConfig.t, bool) GapiLens.t   val auth : (GapiConfig.t, GapiConfig.auth_config) GapiLens.t   val upload_chunk_size : (GapiConfig.t, int) GapiLens.t   val max_send_speed : (GapiConfig.t, int64) GapiLens.t   val max_recv_speed : (GapiConfig.t, int64) GapiLens.t   val low_speed_limit : (GapiConfig.t, int) GapiLens.t   val low_speed_time : (GapiConfig.t, int) GapiLens.t   val default : GapiConfig.t   val default_debug : GapiConfig.t end