Dom
type eventTarget = eventTarget_like(_baseClass);
type node_like('a) = eventTarget_like(_node('a));
type node = node_like(_baseClass);
type characterData_like('a) = node_like(_characterData('a));
type characterData = characterData_like(_baseClass);
type cdataSection = characterData_like(_cdataSection);
type comment = characterData_like(_comment);
type document = document_like(_baseClass);
type documentFragment = node_like(_documentFragment);
type documentType = node_like(_documentType);
type element = element_like(_baseClass);
type shadowRoot = node_like(_shadowRoot);
type text = characterData_like(_text);
type htmlDocument = document_like(_htmlDocument);
type htmlElement_like('a) = element_like(_htmlElement('a));
type htmlElement = htmlElement_like(_baseClass);
type htmlAnchorElement = htmlElement_like(_htmlAnchorElement);
type htmlAreaElement = htmlElement_like(_htmlAreaElement);
type htmlAudioElement = htmlElement_like(_htmlAudioElement);
type htmlBaseElement = htmlElement_like(_htmlBaseElement);
type htmlBodyElement = htmlElement_like(_htmlBodyElement);
type htmlBrElement = htmlElement_like(_htmlBrElement);
type htmlButtonElement = htmlElement_like(_htmlButtonElement);
type htmlCanvasElement = htmlElement_like(_htmlCanvasElement);
type htmlDataElement = htmlElement_like(_htmlDataElement);
type htmlDataListElement = htmlElement_like(_htmlDataListElement);
type htmlDialogElement = htmlElement_like(_htmlDialogElement);
type htmlDivElement = htmlElement_like(_htmlDivElement);
type htmlDlistElement = htmlElement_like(_htmlDlistElement);
type htmlEmbedElement = htmlElement_like(_htmlEmbedElement);
type htmlFieldSetElement = htmlElement_like(_htmlFieldSetElement);
type htmlFormElement = htmlElement_like(_htmlFormElement);
type htmlHeadElement = htmlElement_like(_htmlHeadElement);
type htmlHeadingElement = htmlElement_like(_htmlHeadingElement);
type htmlHrElement = htmlElement_like(_htmlHrElement);
type htmlHtmlElement = htmlElement_like(_htmlHtmlElement);
type htmlIframeElement = htmlElement_like(_htmlIframeElement);
type htmlImageElement = htmlElement_like(_htmlImageElement);
type htmlInputElement = htmlElement_like(_htmlInputElement);
type htmlLabelElement = htmlElement_like(_htmlLabelElement);
type htmlLegendElement = htmlElement_like(_htmlLegendElement);
type htmlLiElement = htmlElement_like(_htmlLiElement);
type htmlLinkElement = htmlElement_like(_htmlLinkElement);
type htmlMapElement = htmlElement_like(_htmlMapElement);
type htmlMediaElement = htmlElement_like(_htmlMediaElement);
type htmlMenuElement = htmlElement_like(_htmlMenuElement);
type htmlMetaElement = htmlElement_like(_htmlMetaElement);
type htmlMeterElement = htmlElement_like(_htmlMeterElement);
type htmlModElement = htmlElement_like(_htmlModElement);
type htmlOListElement = htmlElement_like(_htmlOListElement);
type htmlObjectElement = htmlElement_like(_htmlObjectElement);
type htmlOptGroupElement = htmlElement_like(_htmlOptGroupElement);
type htmlOptionElement = htmlElement_like(_htmlOptionElement);
type htmlOutputElement = htmlElement_like(_htmlOutputElement);
type htmlParagraphElement = htmlElement_like(_htmlParagraphElement);
type htmlParamElement = htmlElement_like(_htmlParamElement);
type htmlPreElement = htmlElement_like(_htmlPreElement);
type htmlProgressElement = htmlElement_like(_htmlProgressElement);
type htmlQuoteElement = htmlElement_like(_htmlQuoteElement);
type htmlScriptElement = htmlElement_like(_htmlScriptElement);
type htmlSelectElement = htmlElement_like(_htmlSelectElement);
type htmlSlotElement = htmlElement_like(_htmlSlotElement);
type htmlSourceElement = htmlElement_like(_htmlSourceElement);
type htmlSpanElement = htmlElement_like(_htmlSpanElement);
type htmlStyleElement = htmlElement_like(_htmlStyleElement);
type htmlTableCaptionElement = htmlElement_like(_htmlTableCaptionElement);
type htmlTableCellElement = htmlElement_like(_htmlTableCellElement);
type htmlTableColElement = htmlElement_like(_htmlTableColElement);
type htmlTableDataCellElement = htmlElement_like(_htmlTableDataCellElement);
type htmlTableElement = htmlElement_like(_htmlTableElement);
type htmlTableHeaderCellElement = htmlElement_like(_htmlTableHeaderCellElement);
type htmlTableRowElement = htmlElement_like(_htmlTableRowElement);
type htmlTableSectionElement = htmlElement_like(_htmlTableSectionElement);
type htmlTextAreaElement = htmlElement_like(_htmlTextAreaElement);
type htmlTimeElement = htmlElement_like(_htmlTimeElement);
type htmlTitleElement = htmlElement_like(_htmlTitleElement);
type htmlTrackElement = htmlElement_like(_htmlTrackElement);
type htmlUlistElement = htmlElement_like(_htmlUlistElement);
type htmlUnknownElement = htmlElement_like(_htmlUnknownElement);
type htmlVideoElement = htmlElement_like(_htmlVideoElement);
type xmlDocument = document_like(_xmlDocument);
type event = event_like(_baseClass);
type uiEvent_like('a) = event_like(_uiEvent('a));
type uiEvent = uiEvent_like(_baseClass);
type animationEvent = event_like(_animationEvent);
type beforeUnloadEvent = event_like(_beforeUnloadEvent);
type clipboardEvent = event_like(_clipboardEvent);
type closeEvent = event_like(_closeEvent);
type compositionEvent = uiEvent_like(_compositionEvent);
type customEvent = event_like(_customEvent);
type dragEvent = event_like(_dragEvent);
type errorEvent = event_like(_errorEvent);
type focusEvent = uiEvent_like(_focusEvent);
type idbVersionChangeEvent = event_like(_idbVersionChangeEvent);
type inputEvent = uiEvent_like(_inputEvent);
type keyboardEvent = uiEvent_like(_keyboardEvent);
type mouseEvent_like('a) = uiEvent_like(_mouseEvent('a));
type mouseEvent = mouseEvent_like(_baseClass);
type pageTransitionEvent = event_like(_pageTransitionEvent);
type pointerEvent = mouseEvent_like(_pointerEvent);
type popStateEvent = event_like(_popStateEvent);
type progressEvent = event_like(_progressEvent);
type storageEvent = event_like(_storageEvent);
type svgZoomEvent = event_like(_svgZoomEvent);
type timeEvent = event_like(_timeEvent);
type touchEvent = uiEvent_like(_touchEvent);
type trackEvent = event_like(_trackEvent);
type transitionEvent = event_like(_transitionEvent);
type webGlContextEvent = event_like(_webGlContextEvent);
type wheelEvent = uiEvent_like(_wheelEvent);
module Storage: { ... };