Laziness_preserving_deferredLaziness_preserving_deferred offers a monad for working with lazy deferreds that has similar semantics to the Deferred monad. In the regular Lazy_deferred monad, each map/bind introduces a new lazy computation, and nothing runs unless explicitly forced. By contrast, this monad lets you build up a tree of computations that can be "weakly run," meaning that it will run until it encounters an unforced lazy deferred, at which point it will wait for that lazy deferred to be forced before continuing.
Library async_kernel.limiter_async
Limiter_asyncImplements an async aware throttling rate limiter on top of Limiter.
Read_write_pairRead_write is like Dirpair, except "buy/sell" has been changed to "read/write".
Library async_kernel.weak_hashtbl_async
Weak_hashtbl_asyncLike Weak_hashtbl, but automatically collects keys with unused data, rather than requiring user code to call remove_keys_with_unused_data.