Module Observer.Update
on_update_exn t ~f calls f after the current stabilization and after each subsequent stabilization in which t changes, until disallow_future_use t is called. f will be called at most once per stabilization. Here is a state diagram for the allowable sequences of Update.t's that can be supplied to a particular f:
/-----------------------------------------------------\
| / |
| | v
Start ------> Initialized ------> Changed ------> Invalidated
^ |
\--/on_update_exn raises if disallow_future_use t was previously called.
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> intval sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t