`sig
type +'a t
val return : 'a -> 'a Lwt.t
val fail : exn -> 'a Lwt.t
val bind : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val ( >>= ) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val ( =<< ) : ('a -> 'b Lwt.t) -> 'a Lwt.t -> 'b Lwt.t
val map : ('a -> 'b) -> 'a Lwt.t -> 'b Lwt.t
val ( >|= ) : 'a Lwt.t -> ('a -> 'b) -> 'b Lwt.t
val ( =|< ) : ('a -> 'b) -> 'a Lwt.t -> 'b Lwt.t
val return_unit : unit Lwt.t
val return_none : 'a option Lwt.t
val return_nil : 'a list Lwt.t
val return_true : bool Lwt.t
val return_false : bool Lwt.t
type 'a key
val new_key : unit -> 'a Lwt.key
val get : 'a Lwt.key -> 'a option
val with_value : 'a Lwt.key -> 'a option -> (unit -> 'b) -> 'b
val catch : (unit -> 'a Lwt.t) -> (exn -> 'a Lwt.t) -> 'a Lwt.t
val try_bind :
(unit -> 'a Lwt.t) -> ('a -> 'b Lwt.t) -> (exn -> 'b Lwt.t) -> 'b Lwt.t
val finalize : (unit -> 'a Lwt.t) -> (unit -> unit Lwt.t) -> 'a Lwt.t
val wrap : (unit -> 'a) -> 'a Lwt.t
val wrap1 : ('a -> 'b) -> 'a -> 'b Lwt.t
val wrap2 : ('a -> 'b -> 'c) -> 'a -> 'b -> 'c Lwt.t
val wrap3 : ('a -> 'b -> 'c -> 'd) -> 'a -> 'b -> 'c -> 'd Lwt.t
val wrap4 :
('a -> 'b -> 'c -> 'd -> 'e) -> 'a -> 'b -> 'c -> 'd -> 'e Lwt.t
val wrap5 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f) ->
'a -> 'b -> 'c -> 'd -> 'e -> 'f Lwt.t
val wrap6 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g) ->
'a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g Lwt.t
val wrap7 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g -> 'h) ->
'a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g -> 'h Lwt.t
val choose : 'a Lwt.t list -> 'a Lwt.t
val nchoose : 'a Lwt.t list -> 'a list Lwt.t
val nchoose_split : 'a Lwt.t list -> ('a list * 'a Lwt.t list) Lwt.t
val join : unit Lwt.t list -> unit Lwt.t
val ( <?> ) : 'a Lwt.t -> 'a Lwt.t -> 'a Lwt.t
val ( <&> ) : unit Lwt.t -> unit Lwt.t -> unit Lwt.t
val async : (unit -> 'a Lwt.t) -> unit
val ignore_result : 'a Lwt.t -> unit
val async_exception_hook : (exn -> unit) Pervasives.ref
type 'a u
val wait : unit -> 'a Lwt.t * 'a Lwt.u
val wakeup : 'a Lwt.u -> 'a -> unit
val wakeup_exn : 'a Lwt.u -> exn -> unit
val wakeup_later : 'a Lwt.u -> 'a -> unit
val wakeup_later_exn : 'a Lwt.u -> exn -> unit
val waiter_of_wakener : 'a Lwt.u -> 'a Lwt.t
type +'a result
val make_value : 'a -> 'a Lwt.result
val make_error : exn -> 'a Lwt.result
val of_result : 'a Lwt.result -> 'a Lwt.t
val wakeup_result : 'a Lwt.u -> 'a Lwt.result -> unit
val wakeup_later_result : 'a Lwt.u -> 'a Lwt.result -> unit
type 'a state = Return of 'a | Fail of exn | Sleep
val state : 'a Lwt.t -> 'a Lwt.state
val is_sleeping : 'a Lwt.t -> bool
exception Canceled
val task : unit -> 'a Lwt.t * 'a Lwt.u
val on_cancel : 'a Lwt.t -> (unit -> unit) -> unit
val add_task_r : 'a Lwt.u Lwt_sequence.t -> 'a Lwt.t
val add_task_l : 'a Lwt.u Lwt_sequence.t -> 'a Lwt.t
val cancel : 'a Lwt.t -> unit
val pick : 'a Lwt.t list -> 'a Lwt.t
val npick : 'a Lwt.t list -> 'a list Lwt.t
val protected : 'a Lwt.t -> 'a Lwt.t
val no_cancel : 'a Lwt.t -> 'a Lwt.t
val pause : unit -> unit Lwt.t
val wakeup_paused : unit -> unit
val paused_count : unit -> int
val register_pause_notifier : (int -> unit) -> unit
val on_success : 'a Lwt.t -> ('a -> unit) -> unit
val on_failure : 'a Lwt.t -> (exn -> unit) -> unit
val on_termination : 'a Lwt.t -> (unit -> unit) -> unit
val on_any : 'a Lwt.t -> ('a -> unit) -> (exn -> unit) -> unit
val poll : 'a Lwt.t -> 'a option
val apply : ('a -> 'b Lwt.t) -> 'a -> 'b Lwt.t
val backtrace_bind :
(exn -> exn) -> 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val backtrace_catch :
(exn -> exn) -> (unit -> 'a Lwt.t) -> (exn -> 'a Lwt.t) -> 'a Lwt.t
val backtrace_try_bind :
(exn -> exn) ->
(unit -> 'a Lwt.t) -> ('a -> 'b Lwt.t) -> (exn -> 'b Lwt.t) -> 'b Lwt.t
val backtrace_finalize :
(exn -> exn) -> (unit -> 'a Lwt.t) -> (unit -> unit Lwt.t) -> 'a Lwt.t
end`