123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295type_baseClasstypeanimation(* Web Animations API *)(* TODO: Should we bother with this indirection?
(* core *)
type domString = string
type domTimestamp = float
*)(* css *)typecssStyleDeclarationtypecssStyleSheet(* events (early) *)type'aeventTarget_liketypeeventTarget=_baseClasseventTarget_like(* nodes *)type'a_nodetype'anode_like='a_nodeeventTarget_liketypenode=_baseClassnode_liketype_attrtypeattr=_attrnode_liketype'a_characterDatatype'acharacterData_like='a_characterDatanode_liketypecharacterData=_baseClasscharacterData_liketype_cdataSectiontypecdataSection=_cdataSectioncharacterData_liketype_commenttypecomment=_commentcharacterData_liketype'a_documenttype'adocument_like='a_documentnode_liketypedocument=_baseClassdocument_liketype_documentFragmenttypedocumentFragment=_documentFragmentnode_liketype_documentTypetypedocumentType=_documentTypenode_liketypedomImplementationtype'a_elementtype'aelement_like='a_elementnode_liketypeelement=_baseClasselement_liketypehtmlCollectiontypehtmlFormControlsCollectiontypehtmlOptionsCollectiontypeintersectionObservertypeintersectionObserverEntrytypemutationObservertypemutationRecordtypeperformanceObservertypeperformanceObserverEntryListtypereportingObservertypereportingObserverOptionstyperesizeObservertyperesizeObserverEntrytypenamedNodeMaptypenodeListtyperadioNodeListtypeprocessingInstructiontype_shadowRoottypeshadowRoot=_shadowRootnode_liketype_texttypetext=_textcharacterData_like(* geometry *)typedomRect(* html *)typedataTransfer(* Drag and Drop API *)typedomStringMaptypehistorytype_htmlDocumenttypehtmlDocument=_htmlDocumentdocument_liketype'a_htmlElementtype'ahtmlElement_like='a_htmlElementelement_liketypehtmlElement=_baseClasshtmlElement_liketype_htmlAnchorElementtypehtmlAnchorElement=_htmlAnchorElementhtmlElement_liketype_htmlAreaElementtypehtmlAreaElement=_htmlAreaElementhtmlElement_liketype_htmlAudioElementtypehtmlAudioElement=_htmlAudioElementhtmlElement_liketype_htmlBaseElementtypehtmlBaseElement=_htmlBaseElementhtmlElement_liketype_htmlBodyElementtypehtmlBodyElement=_htmlBodyElementhtmlElement_liketype_htmlBrElementtypehtmlBrElement=_htmlBrElementhtmlElement_liketype_htmlButtonElementtypehtmlButtonElement=_htmlButtonElementhtmlElement_liketype_htmlCanvasElementtypehtmlCanvasElement=_htmlCanvasElementhtmlElement_liketype_htmlDataElementtypehtmlDataElement=_htmlDataElementhtmlElement_liketype_htmlDataListElementtypehtmlDataListElement=_htmlDataListElementhtmlElement_liketype_htmlDialogElementtypehtmlDialogElement=_htmlDialogElementhtmlElement_liketype_htmlDivElementtypehtmlDivElement=_htmlDivElementhtmlElement_liketype_htmlDlistElementtypehtmlDlistElement=_htmlDlistElementhtmlElement_liketype_htmlEmbedElementtypehtmlEmbedElement=_htmlEmbedElementhtmlElement_liketype_htmlFieldSetElementtypehtmlFieldSetElement=_htmlFieldSetElementhtmlElement_liketype_htmlFormElementtypehtmlFormElement=_htmlFormElementhtmlElement_liketype_htmlHeadElementtypehtmlHeadElement=_htmlHeadElementhtmlElement_liketype_htmlHeadingElementtypehtmlHeadingElement=_htmlHeadingElementhtmlElement_liketype_htmlHrElementtypehtmlHrElement=_htmlHrElementhtmlElement_liketype_htmlHtmlElementtypehtmlHtmlElement=_htmlHtmlElementhtmlElement_liketype_htmlIframeElementtypehtmlIframeElement=_htmlIframeElementhtmlElement_liketype_htmlImageElementtypehtmlImageElement=_htmlImageElementhtmlElement_liketype_htmlInputElementtypehtmlInputElement=_htmlInputElementhtmlElement_liketype_htmlLabelElementtypehtmlLabelElement=_htmlLabelElementhtmlElement_liketype_htmlLegendElementtypehtmlLegendElement=_htmlLegendElementhtmlElement_liketype_htmlLiElementtypehtmlLiElement=_htmlLiElementhtmlElement_liketype_htmlLinkElementtypehtmlLinkElement=_htmlLinkElementhtmlElement_liketype_htmlMapElementtypehtmlMapElement=_htmlMapElementhtmlElement_liketype_htmlMediaElementtypehtmlMediaElement=_htmlMediaElementhtmlElement_liketype_htmlMenuElementtypehtmlMenuElement=_htmlMenuElementhtmlElement_liketype_htmlMetaElementtypehtmlMetaElement=_htmlMetaElementhtmlElement_liketype_htmlMeterElementtypehtmlMeterElement=_htmlMeterElementhtmlElement_liketype_htmlModElementtypehtmlModElement=_htmlModElementhtmlElement_liketype_htmlOListElementtypehtmlOListElement=_htmlOListElementhtmlElement_liketype_htmlObjectElementtypehtmlObjectElement=_htmlObjectElementhtmlElement_liketype_htmlOptGroupElementtypehtmlOptGroupElement=_htmlOptGroupElementhtmlElement_liketype_htmlOptionElementtypehtmlOptionElement=_htmlOptionElementhtmlElement_liketype_htmlOutputElementtypehtmlOutputElement=_htmlOutputElementhtmlElement_liketype_htmlParagraphElementtypehtmlParagraphElement=_htmlParagraphElementhtmlElement_liketype_htmlParamElementtypehtmlParamElement=_htmlParamElementhtmlElement_liketype_htmlPreElementtypehtmlPreElement=_htmlPreElementhtmlElement_liketype_htmlProgressElementtypehtmlProgressElement=_htmlProgressElementhtmlElement_liketype_htmlQuoteElementtypehtmlQuoteElement=_htmlQuoteElementhtmlElement_liketype_htmlScriptElementtypehtmlScriptElement=_htmlScriptElementhtmlElement_liketype_htmlSelectElementtypehtmlSelectElement=_htmlSelectElementhtmlElement_liketype_htmlSlotElementtypehtmlSlotElement=_htmlSlotElementhtmlElement_liketype_htmlSourceElementtypehtmlSourceElement=_htmlSourceElementhtmlElement_liketype_htmlSpanElementtypehtmlSpanElement=_htmlSpanElementhtmlElement_liketype_htmlStyleElementtypehtmlStyleElement=_htmlStyleElementhtmlElement_liketype_htmlTableCaptionElementtypehtmlTableCaptionElement=_htmlTableCaptionElementhtmlElement_liketype_htmlTableCellElementtypehtmlTableCellElement=_htmlTableCellElementhtmlElement_liketype_htmlTableColElementtypehtmlTableColElement=_htmlTableColElementhtmlElement_liketype_htmlTableDataCellElementtypehtmlTableDataCellElement=_htmlTableDataCellElementhtmlElement_liketype_htmlTableElementtypehtmlTableElement=_htmlTableElementhtmlElement_liketype_htmlTableHeaderCellElementtypehtmlTableHeaderCellElement=_htmlTableHeaderCellElementhtmlElement_liketype_htmlTableRowElementtypehtmlTableRowElement=_htmlTableRowElementhtmlElement_liketype_htmlTableSectionElementtypehtmlTableSectionElement=_htmlTableSectionElementhtmlElement_liketype_htmlTextAreaElementtypehtmlTextAreaElement=_htmlTextAreaElementhtmlElement_liketype_htmlTimeElementtypehtmlTimeElement=_htmlTimeElementhtmlElement_liketype_htmlTitleElementtypehtmlTitleElement=_htmlTitleElementhtmlElement_liketype_htmlTrackElementtypehtmlTrackElement=_htmlTrackElementhtmlElement_liketype_htmlUlistElementtypehtmlUlistElement=_htmlUlistElementhtmlElement_liketype_htmlUnknownElementtypehtmlUnknownElement=_htmlUnknownElementhtmlElement_liketype_htmlVideoElementtypehtmlVideoElement=_htmlVideoElementhtmlElement_liketypelocationtypewindowtype_xmlDocumenttypexmlDocument=_xmlDocumentdocument_like(* events *)type'aevent_liketypeevent=_baseClassevent_liketype'a_uiEventtype'auiEvent_like='a_uiEventevent_liketypeuiEvent=_baseClassuiEvent_liketype_animationEventtypeanimationEvent=_animationEventevent_liketype_beforeUnloadEventtypebeforeUnloadEvent=_beforeUnloadEventevent_liketype_clipboardEventtypeclipboardEvent=_clipboardEventevent_liketype_closeEventtypecloseEvent=_closeEventevent_liketype_compositionEventtypecompositionEvent=_compositionEventuiEvent_liketype_customEventtypecustomEvent=_customEventevent_liketype_dragEventtypedragEvent=_dragEventevent_liketype_errorEventtypeerrorEvent=_errorEventevent_liketype_focusEventtypefocusEvent=_focusEventuiEvent_liketype_idbVersionChangeEventtypeidbVersionChangeEvent=_idbVersionChangeEventevent_liketype_inputEventtypeinputEvent=_inputEventuiEvent_liketype_keyboardEventtypekeyboardEvent=_keyboardEventuiEvent_liketype'a_mouseEventtype'amouseEvent_like='a_mouseEventuiEvent_liketypemouseEvent=_baseClassmouseEvent_liketype_pageTransitionEventtypepageTransitionEvent=_pageTransitionEventevent_liketype_pointerEventtypepointerEvent=_pointerEventmouseEvent_liketype_popStateEventtypepopStateEvent=_popStateEventevent_liketype_progressEventtypeprogressEvent=_progressEventevent_liketype_relatedEventtyperelatedEvent=_relatedEventevent_liketype_storageEventtypestorageEvent=_storageEventevent_liketype_svgZoomEventtypesvgZoomEvent=_svgZoomEventevent_liketype_timeEventtypetimeEvent=_timeEventevent_liketype_touchEventtypetouchEvent=_touchEventuiEvent_liketype_trackEventtypetrackEvent=_trackEventevent_liketype_transitionEventtypetransitionEvent=_transitionEventevent_liketype_webGlContextEventtypewebGlContextEvent=_webGlContextEventevent_liketype_wheelEventtypewheelEvent=_wheelEventuiEvent_like(* ranges *)typerange(* selection (TODO: move out of dom?) *)typeselection(* sets *)typedomTokenListtypedomSettableTokenList(* traversal *)typenodeFilter={acceptNode:element->int;(* return type should be NodeFilter.action, but that would create a cycle *)}typenodeIteratortypetreeWalker(* SVG *)typesvgRecttypesvgPoint(* special *)typeeventPointerIdmoduleStorage=Dom_storage