sig   type event   type +'a t   val empty : 'Zed_input.S.t   val add :     Zed_input.S.event list -> '-> 'Zed_input.S.t -> 'Zed_input.S.t   val remove : Zed_input.S.event list -> 'Zed_input.S.t -> 'Zed_input.S.t   val fold :     (Zed_input.S.event list -> '-> '-> 'b) ->     'Zed_input.S.t -> '-> 'b   val bindings : 'Zed_input.S.t -> (Zed_input.S.event list * 'a) list   type 'a resolver   type 'a pack   val pack : ('-> 'b) -> 'Zed_input.S.t -> 'Zed_input.S.pack   val resolver : 'Zed_input.S.pack list -> 'Zed_input.S.resolver   type 'a result =       Accepted of 'a     | Continue of 'Zed_input.S.resolver     | Rejected   val resolve :     Zed_input.S.event -> 'Zed_input.S.resolver -> 'Zed_input.S.result end