`module Response_type : sig ... end`
`module Post_body : sig ... end`
`module Method_with_args : sig ... end`
`type 'k with_request_args``= ?⁠headers:(string * string) list ‑> ?⁠on_progress:(loaded:int ‑> total:int ‑> unit) ‑> ?⁠on_upload_progress:(loaded:int ‑> total:int ‑> unit) ‑> url:string ‑> 'k```
`module Response : sig ... end`
`val request : (response_type:'resp Response_type.t ‑> Method_with_args.t ‑> 'resp Response.t Async_kernel.Deferred.Or_error.t) with_request_args`
`val get : ?⁠arguments:(string * string) list ‑> string ‑> string Async_kernel.Deferred.Or_error.t`
`val post : ?⁠body:Post_body.t ‑> string ‑> string Async_kernel.Deferred.Or_error.t`