sig
  type ('query, 'response) t
  module Id : Core.Std.Unique_id
  val create :
    ?canc_header:Send_tag.t Ib.Header.t ->
    ?skip_header:Recv_tag.t Ib.Header.t list ->
    send_header:Send_tag.t Ib.Header.t ->
    recv_header:Recv_tag.t Ib.Header.t list ->
    tws_query:'query Tws_prot.Pickler.t ->
    tws_response:'response Tws_prot.Unpickler.t list ->
    unit -> ('query, 'response) Ib.Streaming_request.t
  val dispatch :
    ('query, 'response) Ib.Streaming_request.t ->
    Ib.Connection.t ->
    'query ->
    ('response Tws_result.t Async.Std.Pipe.Reader.t * Id.t)
    Core.Std.Or_error.t Async.Std.Deferred.t
  val cancel :
    ('a, 'b) Ib.Streaming_request.t -> Ib.Connection.t -> Id.t -> unit
end