sig   type oauth1_context = { token : string; secret : string; }   val token : (GapiConversation.Session.oauth1_context, string) GapiLens.t   val secret : (GapiConversation.Session.oauth1_context, string) GapiLens.t   type oauth2_context = { oauth2_token : string; refresh_token : string; }   val oauth2_token :     (GapiConversation.Session.oauth2_context, string) GapiLens.t   val refresh_token :     (GapiConversation.Session.oauth2_context, string) GapiLens.t   type auth_context =       NoAuth     | ClientLogin of string     | OAuth1 of GapiConversation.Session.oauth1_context     | OAuth2 of GapiConversation.Session.oauth2_context   val no_auth :     (GapiConversation.Session.auth_context, unit option) GapiLens.t   val client_login :     (GapiConversation.Session.auth_context, string option) GapiLens.t   val oauth1 :     (GapiConversation.Session.auth_context,      GapiConversation.Session.oauth1_context option)     GapiLens.t   val oauth2 :     (GapiConversation.Session.auth_context,      GapiConversation.Session.oauth2_context option)     GapiLens.t   type t = {     curl : [ `Created ] GapiCurl.t;     config : GapiConfig.t;     auth : GapiConversation.Session.auth_context;     cookies : string list;     etag : string;   }   val curl : (GapiConversation.Session.t, [ `Created ] GapiCurl.t) GapiLens.t   val config : (GapiConversation.Session.t, GapiConfig.t) GapiLens.t   val auth :     (GapiConversation.Session.t, GapiConversation.Session.auth_context)     GapiLens.t   val cookies : (GapiConversation.Session.t, string list) GapiLens.t   val etag : (GapiConversation.Session.t, string) GapiLens.t end