sig   val make :     ?prevent_default:bool ->     (#Dom_html.event as 'a) Js.t Dom.Event.typ ->     ((#Dom_html.eventTarget as 'b) Js.t -> 'Js.t -> 'c option) ->     'Js.t -> 'c option Sharp_core.t * (unit -> unit)   val make_unit :     ?prevent_default:bool ->     #Dom_html.event Js.t Dom.Event.typ ->     #Dom_html.eventTarget Js.t -> unit option Sharp_core.t * (unit -> unit)   val click :     ?prevent_default:bool ->     #Dom_html.eventTarget Js.t -> unit option Sharp_core.t * (unit -> unit)   val submit :     ?prevent_default:bool ->     #Dom_html.eventTarget Js.t -> unit option Sharp_core.t * (unit -> unit)   val change :     ?prevent_default:bool ->     ((#Dom_html.eventTarget as 'a) Js.t -> Dom_html.event Js.t -> 'b option) ->     'Js.t -> 'b option Sharp_core.t * (unit -> unit)   val input :     ?prevent_default:bool ->     ((#Dom_html.eventTarget as 'a) Js.t -> Dom_html.event Js.t -> 'b option) ->     'Js.t -> 'b option Sharp_core.t * (unit -> unit)   val hashchange :     ?prevent_default:bool ->     (Dom_html.window Js.t -> Dom_html.hashChangeEvent Js.t -> 'a option) ->     'a option Sharp_core.t * (unit -> unit)   val popstate :     ?prevent_default:bool ->     (Dom_html.window Js.t -> Dom_html.popStateEvent Js.t -> 'a option) ->     'a option Sharp_core.t * (unit -> unit) end