`module T : sig ... end`
`include T`
`type +'a t``= 'a Async_kernel.Deferred.t```
`val sexp_of_t : a. ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t`
`val return : 'a ‑> 'a Async_kernel.Deferred.t`
`val bind : 'a Async_kernel.Deferred.t ‑> f:('a ‑> 'b Async_kernel.Deferred.t) ‑> 'b Async_kernel.Deferred.t`
`val map : 'a Async_kernel.Deferred.t ‑> f:('a ‑> 'b) ‑> 'b Async_kernel.Deferred.t`
`val map : [> `Custom of 'a Async_kernel.Deferred.t ‑> f:('a ‑> 'b) ‑> 'b Async_kernel.Deferred.t ]`
`include sig ... end`
`val (>>=) : 'a T.t ‑> ('a ‑> 'b T.t) ‑> 'b T.t`
`val (>>|) : 'a T.t ‑> ('a ‑> 'b) ‑> 'b T.t`
`module Monad_infix : sig ... end`
`val bind : 'a T.t ‑> f:('a ‑> 'b T.t) ‑> 'b T.t`
`val return : 'a ‑> 'a T.t`
`val map : 'a T.t ‑> f:('a ‑> 'b) ‑> 'b T.t`
`val join : 'a T.t T.t ‑> 'a T.t`
`val ignore_m : 'a T.t ‑> unit T.t`
`val all : 'a T.t list ‑> 'a list T.t`
`val all_unit : unit T.t list ‑> unit T.t`
`val all_ignore : unit T.t list ‑> unit T.t`

- Deprecated [since 2018-02] Use [all_unit]

`module Let_syntax : sig ... end`
`val create : ('a Async_kernel.Ivar.t ‑> unit) ‑> 'a Async_kernel.Deferred.t`
`val don't_wait_for : unit Async_kernel.Deferred.t ‑> unit`
`val invariant : 'a Base__.Invariant_intf.inv ‑> 'a Async_kernel.Deferred.t Base__.Invariant_intf.inv`
`val is_determined : 'a Async_kernel.Deferred.t ‑> bool`
`val never : unit ‑> 'a Async_kernel.Deferred.t`
`val peek : 'a Async_kernel.Deferred.t ‑> 'a option`
`val unit : unit Async_kernel.Deferred.t`
`val value_exn : 'a Async_kernel.Deferred.t ‑> 'a`
`val upon : 'a Async_kernel.Deferred.t ‑> ('a ‑> unit) ‑> unit`
`val both : 'a Async_kernel.Deferred.t ‑> 'b Async_kernel.Deferred.t ‑> ('a * 'b) Async_kernel.Deferred.t`
`val ok : 'a Async_kernel.Deferred.t ‑> ('a, 'b) Core_kernel._result T.t`
`val ignore : 'a Async_kernel.Deferred.t ‑> unit Async_kernel.Deferred.t`
`val any : 'a Async_kernel.Deferred.t Core_kernel.List.t ‑> 'a T.t`
`val any_unit : 'a Async_kernel.Deferred.t Core_kernel.List.t ‑> unit Async_kernel.Deferred.t`
`module Infix : sig ... end`
`val repeat_until_finished : 'a ‑> ('a ‑> [< `Finished of 'b | `Repeat of 'a ] Async_kernel.Deferred.t) ‑> 'b Async_kernel.Deferred.t`
`module List : sig ... end`
`val all_unit : unit Async_kernel.Deferred.t list ‑> unit Async_kernel.Deferred.t`
`val all_ignore : unit Async_kernel.Deferred.t list ‑> unit Async_kernel.Deferred.t`