sig   type 'a t   val create : 'a list -> 'Zed_macro.t   val recording : 'Zed_macro.t -> bool React.signal   val get_recording : 'Zed_macro.t -> bool   val set_recording : 'Zed_macro.t -> bool -> unit   val cancel : 'Zed_macro.t -> unit   val count : 'Zed_macro.t -> int React.signal   val get_count : 'Zed_macro.t -> int   val add : 'Zed_macro.t -> '-> unit   val contents : 'Zed_macro.t -> 'a list   val counter : 'Zed_macro.t -> int React.signal   val get_counter : 'Zed_macro.t -> int   val set_counter : 'Zed_macro.t -> int -> unit   val add_counter : 'Zed_macro.t -> int -> unit end