type 'a fut_state
=
| Fut_wait |
| Fut_done of 'a |
| Fut_exn of exn |
type 'a t
val make : unit -> 'a t
val set_done : 'a t -> 'a -> unit
val set_exn : _ t -> exn -> unit
val interrupt : _ t -> unit
val interrupted : _ t -> bool
val wait : 'a t -> 'a
val listen : 'a t -> (('a, exn) Stdlib.result -> unit) -> unit
val state : 'a t -> 'a fut_state