module Heart : sig ... endmodule Glass : sig ... endmodule Weak_glass : sig ... endval unbreakable : tis_unbreakable t is only approximate, since it can't be known in general whether a
heart can break.
val is_unbreakable : t ‑> boolis_unbreakable t is only approximate, since it can't be known in general whether a
heart can break.
val is_broken : t ‑> boolThis watches the heart until it's broken and fills the deferred when it is. Note that it is a memory leak to call this on a heart that never breaks.
val when_broken : t ‑> unit Async.Deferred.tThis watches the heart until it's broken and fills the deferred when it is. Note that it is a memory leak to call this on a heart that never breaks.
tells you about what happens first: heart broken (None) or
the given deferred determined with x (Some x)
val or_broken : t ‑> 'a Async.Deferred.t ‑> 'a option Async.Deferred.ttells you about what happens first: heart broken (None) or
the given deferred determined with x (Some x)