(** This type is designed to be extended for each form. Each of them hold the values inside the form. *) type kind = .. (** The signal has to be log in order to be completely working *) type t = kind Note.signal * Brr.El.t module type Handler = sig type t val on_close: t -> State.t -> State.t end type event = Event : 'a * (module Handler with type t = 'a) -> event