Module Bonsai_extra_one_at_a_time

module Bonsai := Bonsai.Cont
module Ui_effect := Bonsai.Effect
module Status : sig ... end
module Response : sig ... end
val effect : ('query -> 'response Ui_effect.t) Bonsai.t -> Bonsai.graph @ local -> ('query -> 'response Response.t Ui_effect.t) Bonsai.t * Status.t Bonsai.t

Turns 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.