`type 'a typ = 'a Dom.Event.typ`
`val cancel : event Js.t typ`
`val click : mouseEvent Js.t typ`
`val close : event Js.t typ`
`val copy : clipboardEvent Js.t typ`
`val cut : clipboardEvent Js.t typ`
`val paste : clipboardEvent Js.t typ`
`val dblclick : mouseEvent Js.t typ`
`val mousedown : mouseEvent Js.t typ`
`val mouseup : mouseEvent Js.t typ`
`val mouseover : mouseEvent Js.t typ`
`val mousemove : mouseEvent Js.t typ`
`val mouseout : mouseEvent Js.t typ`
`val keypress : keyboardEvent Js.t typ`
`val keydown : keyboardEvent Js.t typ`
`val keyup : keyboardEvent Js.t typ`
`val mousewheel : mousewheelEvent Js.t typ`
`val _DOMMouseScroll : mouseScrollEvent Js.t typ`
`val wheel : wheelEvent Js.t typ`
`val touchstart : touchEvent Js.t typ`
`val touchmove : touchEvent Js.t typ`
`val touchend : touchEvent Js.t typ`
`val touchcancel : touchEvent Js.t typ`
`val dragstart : dragEvent Js.t typ`
`val dragend : dragEvent Js.t typ`
`val dragenter : dragEvent Js.t typ`
`val dragover : dragEvent Js.t typ`
`val dragleave : dragEvent Js.t typ`
`val drag : dragEvent Js.t typ`
`val drop : dragEvent Js.t typ`
`val hashchange : hashChangeEvent Js.t typ`
`val change : event Js.t typ`
`val input : event Js.t typ`
`val timeupdate : event Js.t typ`
`val submit : submitEvent Js.t typ`
`val scroll : event Js.t typ`
`val focus : focusEvent Js.t typ`
`val blur : focusEvent Js.t typ`
`val load : event Js.t typ`
`val unload : event Js.t typ`
`val beforeunload : event Js.t typ`
`val resize : event Js.t typ`
`val orientationchange : event Js.t typ`
`val popstate : popStateEvent Js.t typ`
`val error : event Js.t typ`
`val abort : event Js.t typ`
`val select : event Js.t typ`
`val online : event Js.t typ`
`val offline : event Js.t typ`
`val checking : event Js.t typ`
`val noupdate : event Js.t typ`
`val downloading : event Js.t typ`
`val progress : event Js.t typ`
`val updateready : event Js.t typ`
`val cached : event Js.t typ`
`val obsolete : event Js.t typ`
`val domContentLoaded : event Js.t typ`
`val animationstart : animationEvent Js.t typ`
`val animationend : animationEvent Js.t typ`
`val animationiteration : animationEvent Js.t typ`
`val animationcancel : animationEvent Js.t typ`
`val transitionrun : transitionEvent Js.t typ`
`val transitionstart : transitionEvent Js.t typ`
`val transitionend : transitionEvent Js.t typ`
`val transitioncancel : transitionEvent Js.t typ`
`val canplay : mediaEvent Js.t typ`
`val canplaythrough : mediaEvent Js.t typ`
`val durationchange : mediaEvent Js.t typ`
`val emptied : mediaEvent Js.t typ`
`val ended : mediaEvent Js.t typ`
`val gotpointercapture : pointerEvent Js.t typ`
`val loadeddata : mediaEvent Js.t typ`
`val loadedmetadata : mediaEvent Js.t typ`
`val loadstart : mediaEvent Js.t typ`
`val lostpointercapture : pointerEvent Js.t typ`
`val message : messageEvent Js.t typ`
`val pause : mediaEvent Js.t typ`
`val play : mediaEvent Js.t typ`
`val playing : mediaEvent Js.t typ`
`val pointerenter : pointerEvent Js.t typ`
`val pointercancel : pointerEvent Js.t typ`
`val pointerdown : pointerEvent Js.t typ`
`val pointerleave : pointerEvent Js.t typ`
`val pointermove : pointerEvent Js.t typ`
`val pointerout : pointerEvent Js.t typ`
`val pointerover : pointerEvent Js.t typ`
`val pointerup : pointerEvent Js.t typ`
`val ratechange : mediaEvent Js.t typ`
`val seeked : mediaEvent Js.t typ`
`val seeking : mediaEvent Js.t typ`
`val stalled : mediaEvent Js.t typ`
`val suspend : mediaEvent Js.t typ`
`val volumechange : mediaEvent Js.t typ`
`val waiting : mediaEvent Js.t typ`
`val toggle : toggleEvent Js.t typ`
`val make : string -> 'a typ`