module AQueue: sig
.. end
Async exercise
type 'a
t
An asynchronous queue. 'a s can be pushed onto the queue; popping blocks
until the queue is non-empty and then returns an element.
val create : unit -> 'a t
Create a new queue
val push : 'a t -> 'a -> unit
Add an element to the queue.
val pop : 'a t -> 'a Deferred.t
Wait until an element becomes available, and then return it.