sig
type 'a t
type callback_id = private int
val create : unit -> 'a Utils.Callback.t
val register : 'a Utils.Callback.t -> f:'a -> Utils.Callback.callback_id
val remove : 'a Utils.Callback.t -> id:int -> unit
val iter : 'a Utils.Callback.t -> f:('a -> unit) -> unit
val call1 : ('a -> unit) Utils.Callback.t -> 'a -> unit
val call2 : ('a -> 'b -> unit) Utils.Callback.t -> 'a -> 'b -> unit
end