sig
type ('perm, 'state) t
val create : ?init:'state -> unit -> ('a, 'state) Update_queue.t
val init : (Core.Std.read_write, 'state) Update_queue.t -> 'state -> unit
val enqueue :
(Core.Std.read_write, 'state) Update_queue.t ->
('state -> 'state) -> unit
val watch : ('a, 'state) Update_queue.t -> f:('state -> unit) -> unit
val map :
('a, 'state1) Update_queue.t ->
f:('state1 -> 'state2) -> (Core.Std.read_only, 'state2) Update_queue.t
val read_only :
('a, 'state) Update_queue.t ->
(Core.Std.read_only, 'state) Update_queue.t
end