Module Event
type 'a channel
val new_channel : unit -> 'a channel
type 'a event
val send : 'a channel -> 'a -> unit event
val receive : 'a channel -> 'a event
val always : 'a -> 'a event
val choose : 'a event list -> 'a event
val wrap : 'a event -> 'a -> 'b -> 'b event
val wrap_abort : 'a event -> unit -> unit -> 'a event
val guard : unit -> 'a event -> 'a event
val sync : 'a event -> 'a
val select : 'a event list -> 'a
val poll : 'a event -> 'a option