Bonsai_extra_one_at_a_timemodule Bonsai := Bonsai.Contmodule Ui_effect := Bonsai.Effectmodule Status : sig ... endmodule Response : sig ... endval effect :
('query -> 'response Ui_effect.t) Bonsai.t ->
Bonsai.graph @ local ->
('query -> 'response Response.t Ui_effect.t) Bonsai.t * Status.t Bonsai.tTurns the input effect into an effect which ensures that only one instance of it is running at a time. If another instance of the effect is already running, then Busy is returned instead of running the effect. In addition, it also returns a value representing whether or not an instance of the effect is in progress.