diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,7 @@
+# Revision history for ghcjs-dom-jsaddle
+
+See ghcjs-dom's ChangeLog.md (the ghcjs-dom packages are released together).
+
+## 0.10.0.0
+
+* Regenerated by dom-gen from current specifications; see ghcjs-dom 0.10.0.0.
diff --git a/ghcjs-dom-jsaddle.cabal b/ghcjs-dom-jsaddle.cabal
--- a/ghcjs-dom-jsaddle.cabal
+++ b/ghcjs-dom-jsaddle.cabal
@@ -1,622 +1,1472 @@
 cabal-version: 3.6
 name: ghcjs-dom-jsaddle
-version: 0.9.9.1
-build-type: Simple
-license: MIT
-license-file: LICENSE
-maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
-synopsis: DOM library that supports both GHCJS and GHC using jsaddle
-description: Document Object Model (DOM) functions that work with
-             GHCJS, but can also be used with GHC and a Browser.
-author: Hamish Mackenzie
-category: Web
-
-Tested-With:
-  GHC == 8.8.1 || == 8.6.5 ||  == 8.4.4 || == 8.2.2 || == 8.0.2 || == 7.10.3,
-  GHCJS == 8.4 || == 8.2
-
-Source-Repository head
-  type:         git
-  location:     https://github.com/ghcjs/ghcjs-dom
-  subdir:       ghcjs-dom-jsaddle
-
-library
-    build-depends: jsaddle-dom >=0.9.5.0 && <0.10
-
-    default-language: Haskell2010
-
-    exposed: True
-    buildable: True
-
-    reexported-modules:
-            JSDOM as GHCJS.DOM
-          , JSDOM.Types as GHCJS.DOM.Types
-          , JSDOM.EventM as GHCJS.DOM.EventM
-          , JSDOM.EventTargetClosures as GHCJS.DOM.EventTargetClosures
-
-          -- Generated by domconv-webkit-jsffi
-          -- Or run this in jsaddle-dom
-          -- (cd src/JSDOM/Generated && for a in *.hs; do echo "          , JSDOM.${a%.*} as GHCJS.DOM.${a%.*}"; done | pbcopy)
-          , JSDOM.ANGLEInstancedArrays as GHCJS.DOM.ANGLEInstancedArrays
-          , JSDOM.AbstractWorker as GHCJS.DOM.AbstractWorker
-          , JSDOM.AnalyserNode as GHCJS.DOM.AnalyserNode
-          , JSDOM.Animatable as GHCJS.DOM.Animatable
-          , JSDOM.Animation as GHCJS.DOM.Animation
-          , JSDOM.AnimationEvent as GHCJS.DOM.AnimationEvent
-          , JSDOM.ApplePayError as GHCJS.DOM.ApplePayError
-          , JSDOM.ApplePayPaymentAuthorizedEvent as GHCJS.DOM.ApplePayPaymentAuthorizedEvent
-          , JSDOM.ApplePayPaymentMethodSelectedEvent as GHCJS.DOM.ApplePayPaymentMethodSelectedEvent
-          , JSDOM.ApplePaySession as GHCJS.DOM.ApplePaySession
-          , JSDOM.ApplePayShippingContactSelectedEvent as GHCJS.DOM.ApplePayShippingContactSelectedEvent
-          , JSDOM.ApplePayShippingMethodSelectedEvent as GHCJS.DOM.ApplePayShippingMethodSelectedEvent
-          , JSDOM.ApplePayValidateMerchantEvent as GHCJS.DOM.ApplePayValidateMerchantEvent
-          , JSDOM.ApplicationCache as GHCJS.DOM.ApplicationCache
-          , JSDOM.Attr as GHCJS.DOM.Attr
-          , JSDOM.AudioBuffer as GHCJS.DOM.AudioBuffer
-          , JSDOM.AudioBufferCallback as GHCJS.DOM.AudioBufferCallback
-          , JSDOM.AudioBufferSourceNode as GHCJS.DOM.AudioBufferSourceNode
-          , JSDOM.AudioContext as GHCJS.DOM.AudioContext
-          , JSDOM.AudioDestinationNode as GHCJS.DOM.AudioDestinationNode
-          , JSDOM.AudioListener as GHCJS.DOM.AudioListener
-          , JSDOM.AudioNode as GHCJS.DOM.AudioNode
-          , JSDOM.AudioParam as GHCJS.DOM.AudioParam
-          , JSDOM.AudioProcessingEvent as GHCJS.DOM.AudioProcessingEvent
-          , JSDOM.AudioTrack as GHCJS.DOM.AudioTrack
-          , JSDOM.AudioTrackList as GHCJS.DOM.AudioTrackList
-          , JSDOM.AutocompleteErrorEvent as GHCJS.DOM.AutocompleteErrorEvent
-          , JSDOM.BarProp as GHCJS.DOM.BarProp
-          , JSDOM.BasicCredential as GHCJS.DOM.BasicCredential
-          , JSDOM.BeforeLoadEvent as GHCJS.DOM.BeforeLoadEvent
-          , JSDOM.BeforeUnloadEvent as GHCJS.DOM.BeforeUnloadEvent
-          , JSDOM.BiquadFilterNode as GHCJS.DOM.BiquadFilterNode
-          , JSDOM.Blob as GHCJS.DOM.Blob
-          , JSDOM.BlobCallback as GHCJS.DOM.BlobCallback
-          , JSDOM.Body as GHCJS.DOM.Body
-          , JSDOM.ByteLengthQueuingStrategy as GHCJS.DOM.ByteLengthQueuingStrategy
-          , JSDOM.CSS as GHCJS.DOM.CSS
-          , JSDOM.CSSFontFaceLoadEvent as GHCJS.DOM.CSSFontFaceLoadEvent
-          , JSDOM.CSSFontFaceRule as GHCJS.DOM.CSSFontFaceRule
-          , JSDOM.CSSImportRule as GHCJS.DOM.CSSImportRule
-          , JSDOM.CSSKeyframeRule as GHCJS.DOM.CSSKeyframeRule
-          , JSDOM.CSSKeyframesRule as GHCJS.DOM.CSSKeyframesRule
-          , JSDOM.CSSMediaRule as GHCJS.DOM.CSSMediaRule
-          , JSDOM.CSSNamespaceRule as GHCJS.DOM.CSSNamespaceRule
-          , JSDOM.CSSPageRule as GHCJS.DOM.CSSPageRule
-          , JSDOM.CSSPrimitiveValue as GHCJS.DOM.CSSPrimitiveValue
-          , JSDOM.CSSRule as GHCJS.DOM.CSSRule
-          , JSDOM.CSSRuleList as GHCJS.DOM.CSSRuleList
-          , JSDOM.CSSStyleDeclaration as GHCJS.DOM.CSSStyleDeclaration
-          , JSDOM.CSSStyleRule as GHCJS.DOM.CSSStyleRule
-          , JSDOM.CSSStyleSheet as GHCJS.DOM.CSSStyleSheet
-          , JSDOM.CSSSupportsRule as GHCJS.DOM.CSSSupportsRule
-          , JSDOM.CSSValue as GHCJS.DOM.CSSValue
-          , JSDOM.CSSValueList as GHCJS.DOM.CSSValueList
-          , JSDOM.CanvasCaptureMediaStreamTrack as GHCJS.DOM.CanvasCaptureMediaStreamTrack
-          , JSDOM.CanvasGradient as GHCJS.DOM.CanvasGradient
-          , JSDOM.CanvasPath as GHCJS.DOM.CanvasPath
-          , JSDOM.CanvasRenderingContext2D as GHCJS.DOM.CanvasRenderingContext2D
-          , JSDOM.CharacterData as GHCJS.DOM.CharacterData
-          , JSDOM.ChildNode as GHCJS.DOM.ChildNode
-          , JSDOM.ClipboardEvent as GHCJS.DOM.ClipboardEvent
-          , JSDOM.CloseEvent as GHCJS.DOM.CloseEvent
-          , JSDOM.CommandLineAPIHost as GHCJS.DOM.CommandLineAPIHost
-          , JSDOM.Comment as GHCJS.DOM.Comment
-          , JSDOM.CompositionEvent as GHCJS.DOM.CompositionEvent
-          , JSDOM.ConvolverNode as GHCJS.DOM.ConvolverNode
-          , JSDOM.Coordinates as GHCJS.DOM.Coordinates
-          , JSDOM.CountQueuingStrategy as GHCJS.DOM.CountQueuingStrategy
-          , JSDOM.Counter as GHCJS.DOM.Counter
-          , JSDOM.Crypto as GHCJS.DOM.Crypto
-          , JSDOM.CryptoKey as GHCJS.DOM.CryptoKey
-          , JSDOM.CustomElementRegistry as GHCJS.DOM.CustomElementRegistry
-          , JSDOM.CustomEvent as GHCJS.DOM.CustomEvent
-          , JSDOM.DOMError as GHCJS.DOM.DOMError
-          , JSDOM.DOMException as GHCJS.DOM.DOMException
-          , JSDOM.DOMImplementation as GHCJS.DOM.DOMImplementation
-          , JSDOM.DOMNamedFlowCollection as GHCJS.DOM.DOMNamedFlowCollection
-          , JSDOM.DOMParser as GHCJS.DOM.DOMParser
-          , JSDOM.DOMPoint as GHCJS.DOM.DOMPoint
-          , JSDOM.DOMPointReadOnly as GHCJS.DOM.DOMPointReadOnly
-          , JSDOM.DOMRect as GHCJS.DOM.DOMRect
-          , JSDOM.DOMRectReadOnly as GHCJS.DOM.DOMRectReadOnly
-          , JSDOM.DOMStringList as GHCJS.DOM.DOMStringList
-          , JSDOM.DOMStringMap as GHCJS.DOM.DOMStringMap
-          , JSDOM.DOMTokenList as GHCJS.DOM.DOMTokenList
-          , JSDOM.DataCue as GHCJS.DOM.DataCue
-          , JSDOM.DataTransfer as GHCJS.DOM.DataTransfer
-          , JSDOM.DataTransferItem as GHCJS.DOM.DataTransferItem
-          , JSDOM.DataTransferItemList as GHCJS.DOM.DataTransferItemList
-          , JSDOM.Database as GHCJS.DOM.Database
-          , JSDOM.DatabaseCallback as GHCJS.DOM.DatabaseCallback
-          , JSDOM.DedicatedWorkerGlobalScope as GHCJS.DOM.DedicatedWorkerGlobalScope
-          , JSDOM.DelayNode as GHCJS.DOM.DelayNode
-          , JSDOM.DeviceMotionEvent as GHCJS.DOM.DeviceMotionEvent
-          , JSDOM.DeviceOrientationEvent as GHCJS.DOM.DeviceOrientationEvent
-          , JSDOM.DeviceProximityEvent as GHCJS.DOM.DeviceProximityEvent
-          , JSDOM.Document as GHCJS.DOM.Document
-          , JSDOM.DocumentAndElementEventHandlers as GHCJS.DOM.DocumentAndElementEventHandlers
-          , JSDOM.DocumentFragment as GHCJS.DOM.DocumentFragment
-          , JSDOM.DocumentOrShadowRoot as GHCJS.DOM.DocumentOrShadowRoot
-          , JSDOM.DocumentTimeline as GHCJS.DOM.DocumentTimeline
-          , JSDOM.DocumentType as GHCJS.DOM.DocumentType
-          , JSDOM.DynamicsCompressorNode as GHCJS.DOM.DynamicsCompressorNode
-          , JSDOM.EXTBlendMinMax as GHCJS.DOM.EXTBlendMinMax
-          , JSDOM.EXTTextureFilterAnisotropic as GHCJS.DOM.EXTTextureFilterAnisotropic
-          , JSDOM.EXTsRGB as GHCJS.DOM.EXTsRGB
-          , JSDOM.Element as GHCJS.DOM.Element
-          , JSDOM.ElementCSSInlineStyle as GHCJS.DOM.ElementCSSInlineStyle
-          , JSDOM.Enums as GHCJS.DOM.Enums
-          , JSDOM.ErrorEvent as GHCJS.DOM.ErrorEvent
-          , JSDOM.Event as GHCJS.DOM.Event
-          , JSDOM.EventListener as GHCJS.DOM.EventListener
-          , JSDOM.EventSource as GHCJS.DOM.EventSource
-          , JSDOM.EventTarget as GHCJS.DOM.EventTarget
-          , JSDOM.File as GHCJS.DOM.File
-          , JSDOM.FileError as GHCJS.DOM.FileError
-          , JSDOM.FileException as GHCJS.DOM.FileException
-          , JSDOM.FileList as GHCJS.DOM.FileList
-          , JSDOM.FileReader as GHCJS.DOM.FileReader
-          , JSDOM.FileReaderSync as GHCJS.DOM.FileReaderSync
-          , JSDOM.FocusEvent as GHCJS.DOM.FocusEvent
-          , JSDOM.FontFace as GHCJS.DOM.FontFace
-          , JSDOM.FontFaceSet as GHCJS.DOM.FontFaceSet
-          , JSDOM.FormData as GHCJS.DOM.FormData
-          , JSDOM.GainNode as GHCJS.DOM.GainNode
-          , JSDOM.Gamepad as GHCJS.DOM.Gamepad
-          , JSDOM.GamepadButton as GHCJS.DOM.GamepadButton
-          , JSDOM.GamepadEvent as GHCJS.DOM.GamepadEvent
-          , JSDOM.Geolocation as GHCJS.DOM.Geolocation
-          , JSDOM.Geoposition as GHCJS.DOM.Geoposition
-          , JSDOM.GlobalCrypto as GHCJS.DOM.GlobalCrypto
-          , JSDOM.GlobalEventHandlers as GHCJS.DOM.GlobalEventHandlers
-          , JSDOM.GlobalPerformance as GHCJS.DOM.GlobalPerformance
-          , JSDOM.HTMLAllCollection as GHCJS.DOM.HTMLAllCollection
-          , JSDOM.HTMLAnchorElement as GHCJS.DOM.HTMLAnchorElement
-          , JSDOM.HTMLAppletElement as GHCJS.DOM.HTMLAppletElement
-          , JSDOM.HTMLAreaElement as GHCJS.DOM.HTMLAreaElement
-          , JSDOM.HTMLAttachmentElement as GHCJS.DOM.HTMLAttachmentElement
-          , JSDOM.HTMLBRElement as GHCJS.DOM.HTMLBRElement
-          , JSDOM.HTMLBaseElement as GHCJS.DOM.HTMLBaseElement
-          , JSDOM.HTMLBodyElement as GHCJS.DOM.HTMLBodyElement
-          , JSDOM.HTMLButtonElement as GHCJS.DOM.HTMLButtonElement
-          , JSDOM.HTMLCanvasElement as GHCJS.DOM.HTMLCanvasElement
-          , JSDOM.HTMLCollection as GHCJS.DOM.HTMLCollection
-          , JSDOM.HTMLDListElement as GHCJS.DOM.HTMLDListElement
-          , JSDOM.HTMLDataElement as GHCJS.DOM.HTMLDataElement
-          , JSDOM.HTMLDataListElement as GHCJS.DOM.HTMLDataListElement
-          , JSDOM.HTMLDetailsElement as GHCJS.DOM.HTMLDetailsElement
-          , JSDOM.HTMLDirectoryElement as GHCJS.DOM.HTMLDirectoryElement
-          , JSDOM.HTMLDivElement as GHCJS.DOM.HTMLDivElement
-          , JSDOM.HTMLDocument as GHCJS.DOM.HTMLDocument
-          , JSDOM.HTMLElement as GHCJS.DOM.HTMLElement
-          , JSDOM.HTMLEmbedElement as GHCJS.DOM.HTMLEmbedElement
-          , JSDOM.HTMLFieldSetElement as GHCJS.DOM.HTMLFieldSetElement
-          , JSDOM.HTMLFontElement as GHCJS.DOM.HTMLFontElement
-          , JSDOM.HTMLFormControlsCollection as GHCJS.DOM.HTMLFormControlsCollection
-          , JSDOM.HTMLFormElement as GHCJS.DOM.HTMLFormElement
-          , JSDOM.HTMLFrameElement as GHCJS.DOM.HTMLFrameElement
-          , JSDOM.HTMLFrameSetElement as GHCJS.DOM.HTMLFrameSetElement
-          , JSDOM.HTMLHRElement as GHCJS.DOM.HTMLHRElement
-          , JSDOM.HTMLHeadElement as GHCJS.DOM.HTMLHeadElement
-          , JSDOM.HTMLHeadingElement as GHCJS.DOM.HTMLHeadingElement
-          , JSDOM.HTMLHtmlElement as GHCJS.DOM.HTMLHtmlElement
-          , JSDOM.HTMLHyperlinkElementUtils as GHCJS.DOM.HTMLHyperlinkElementUtils
-          , JSDOM.HTMLIFrameElement as GHCJS.DOM.HTMLIFrameElement
-          , JSDOM.HTMLImageElement as GHCJS.DOM.HTMLImageElement
-          , JSDOM.HTMLInputElement as GHCJS.DOM.HTMLInputElement
-          , JSDOM.HTMLKeygenElement as GHCJS.DOM.HTMLKeygenElement
-          , JSDOM.HTMLLIElement as GHCJS.DOM.HTMLLIElement
-          , JSDOM.HTMLLabelElement as GHCJS.DOM.HTMLLabelElement
-          , JSDOM.HTMLLegendElement as GHCJS.DOM.HTMLLegendElement
-          , JSDOM.HTMLLinkElement as GHCJS.DOM.HTMLLinkElement
-          , JSDOM.HTMLMapElement as GHCJS.DOM.HTMLMapElement
-          , JSDOM.HTMLMarqueeElement as GHCJS.DOM.HTMLMarqueeElement
-          , JSDOM.HTMLMediaElement as GHCJS.DOM.HTMLMediaElement
-          , JSDOM.HTMLMenuElement as GHCJS.DOM.HTMLMenuElement
-          , JSDOM.HTMLMetaElement as GHCJS.DOM.HTMLMetaElement
-          , JSDOM.HTMLMeterElement as GHCJS.DOM.HTMLMeterElement
-          , JSDOM.HTMLModElement as GHCJS.DOM.HTMLModElement
-          , JSDOM.HTMLOListElement as GHCJS.DOM.HTMLOListElement
-          , JSDOM.HTMLObjectElement as GHCJS.DOM.HTMLObjectElement
-          , JSDOM.HTMLOptGroupElement as GHCJS.DOM.HTMLOptGroupElement
-          , JSDOM.HTMLOptionElement as GHCJS.DOM.HTMLOptionElement
-          , JSDOM.HTMLOptionsCollection as GHCJS.DOM.HTMLOptionsCollection
-          , JSDOM.HTMLOutputElement as GHCJS.DOM.HTMLOutputElement
-          , JSDOM.HTMLParagraphElement as GHCJS.DOM.HTMLParagraphElement
-          , JSDOM.HTMLParamElement as GHCJS.DOM.HTMLParamElement
-          , JSDOM.HTMLPreElement as GHCJS.DOM.HTMLPreElement
-          , JSDOM.HTMLProgressElement as GHCJS.DOM.HTMLProgressElement
-          , JSDOM.HTMLQuoteElement as GHCJS.DOM.HTMLQuoteElement
-          , JSDOM.HTMLScriptElement as GHCJS.DOM.HTMLScriptElement
-          , JSDOM.HTMLSelectElement as GHCJS.DOM.HTMLSelectElement
-          , JSDOM.HTMLSlotElement as GHCJS.DOM.HTMLSlotElement
-          , JSDOM.HTMLSourceElement as GHCJS.DOM.HTMLSourceElement
-          , JSDOM.HTMLStyleElement as GHCJS.DOM.HTMLStyleElement
-          , JSDOM.HTMLTableCaptionElement as GHCJS.DOM.HTMLTableCaptionElement
-          , JSDOM.HTMLTableCellElement as GHCJS.DOM.HTMLTableCellElement
-          , JSDOM.HTMLTableColElement as GHCJS.DOM.HTMLTableColElement
-          , JSDOM.HTMLTableElement as GHCJS.DOM.HTMLTableElement
-          , JSDOM.HTMLTableRowElement as GHCJS.DOM.HTMLTableRowElement
-          , JSDOM.HTMLTableSectionElement as GHCJS.DOM.HTMLTableSectionElement
-          , JSDOM.HTMLTemplateElement as GHCJS.DOM.HTMLTemplateElement
-          , JSDOM.HTMLTextAreaElement as GHCJS.DOM.HTMLTextAreaElement
-          , JSDOM.HTMLTimeElement as GHCJS.DOM.HTMLTimeElement
-          , JSDOM.HTMLTitleElement as GHCJS.DOM.HTMLTitleElement
-          , JSDOM.HTMLTrackElement as GHCJS.DOM.HTMLTrackElement
-          , JSDOM.HTMLUListElement as GHCJS.DOM.HTMLUListElement
-          , JSDOM.HTMLVideoElement as GHCJS.DOM.HTMLVideoElement
-          , JSDOM.HashChangeEvent as GHCJS.DOM.HashChangeEvent
-          , JSDOM.Headers as GHCJS.DOM.Headers
-          , JSDOM.History as GHCJS.DOM.History
-          , JSDOM.IDBCursor as GHCJS.DOM.IDBCursor
-          , JSDOM.IDBCursorWithValue as GHCJS.DOM.IDBCursorWithValue
-          , JSDOM.IDBDatabase as GHCJS.DOM.IDBDatabase
-          , JSDOM.IDBFactory as GHCJS.DOM.IDBFactory
-          , JSDOM.IDBIndex as GHCJS.DOM.IDBIndex
-          , JSDOM.IDBKeyRange as GHCJS.DOM.IDBKeyRange
-          , JSDOM.IDBObjectStore as GHCJS.DOM.IDBObjectStore
-          , JSDOM.IDBOpenDBRequest as GHCJS.DOM.IDBOpenDBRequest
-          , JSDOM.IDBRequest as GHCJS.DOM.IDBRequest
-          , JSDOM.IDBTransaction as GHCJS.DOM.IDBTransaction
-          , JSDOM.IDBVersionChangeEvent as GHCJS.DOM.IDBVersionChangeEvent
-          , JSDOM.ImageData as GHCJS.DOM.ImageData
-          , JSDOM.InputEvent as GHCJS.DOM.InputEvent
-          , JSDOM.InspectorFrontendHost as GHCJS.DOM.InspectorFrontendHost
-          , JSDOM.IntersectionObserver as GHCJS.DOM.IntersectionObserver
-          , JSDOM.IntersectionObserverCallback as GHCJS.DOM.IntersectionObserverCallback
-          , JSDOM.IntersectionObserverEntry as GHCJS.DOM.IntersectionObserverEntry
-          , JSDOM.KeyboardEvent as GHCJS.DOM.KeyboardEvent
-          , JSDOM.KeyframeEffect as GHCJS.DOM.KeyframeEffect
-          , JSDOM.Location as GHCJS.DOM.Location
-          , JSDOM.MediaController as GHCJS.DOM.MediaController
-          , JSDOM.MediaControlsHost as GHCJS.DOM.MediaControlsHost
-          , JSDOM.MediaDeviceInfo as GHCJS.DOM.MediaDeviceInfo
-          , JSDOM.MediaDevices as GHCJS.DOM.MediaDevices
-          , JSDOM.MediaElementAudioSourceNode as GHCJS.DOM.MediaElementAudioSourceNode
-          , JSDOM.MediaEncryptedEvent as GHCJS.DOM.MediaEncryptedEvent
-          , JSDOM.MediaError as GHCJS.DOM.MediaError
-          , JSDOM.MediaKeyMessageEvent as GHCJS.DOM.MediaKeyMessageEvent
-          , JSDOM.MediaKeySession as GHCJS.DOM.MediaKeySession
-          , JSDOM.MediaKeyStatusMap as GHCJS.DOM.MediaKeyStatusMap
-          , JSDOM.MediaKeySystemAccess as GHCJS.DOM.MediaKeySystemAccess
-          , JSDOM.MediaKeys as GHCJS.DOM.MediaKeys
-          , JSDOM.MediaList as GHCJS.DOM.MediaList
-          , JSDOM.MediaQueryList as GHCJS.DOM.MediaQueryList
-          , JSDOM.MediaQueryListListener as GHCJS.DOM.MediaQueryListListener
-          , JSDOM.MediaRemoteControls as GHCJS.DOM.MediaRemoteControls
-          , JSDOM.MediaSession as GHCJS.DOM.MediaSession
-          , JSDOM.MediaSource as GHCJS.DOM.MediaSource
-          , JSDOM.MediaStream as GHCJS.DOM.MediaStream
-          , JSDOM.MediaStreamAudioDestinationNode as GHCJS.DOM.MediaStreamAudioDestinationNode
-          , JSDOM.MediaStreamAudioSourceNode as GHCJS.DOM.MediaStreamAudioSourceNode
-          , JSDOM.MediaStreamEvent as GHCJS.DOM.MediaStreamEvent
-          , JSDOM.MediaStreamTrack as GHCJS.DOM.MediaStreamTrack
-          , JSDOM.MediaStreamTrackEvent as GHCJS.DOM.MediaStreamTrackEvent
-          , JSDOM.MessageChannel as GHCJS.DOM.MessageChannel
-          , JSDOM.MessageEvent as GHCJS.DOM.MessageEvent
-          , JSDOM.MessagePort as GHCJS.DOM.MessagePort
-          , JSDOM.MimeType as GHCJS.DOM.MimeType
-          , JSDOM.MimeTypeArray as GHCJS.DOM.MimeTypeArray
-          , JSDOM.MouseEvent as GHCJS.DOM.MouseEvent
-          , JSDOM.MutationEvent as GHCJS.DOM.MutationEvent
-          , JSDOM.MutationObserver as GHCJS.DOM.MutationObserver
-          , JSDOM.MutationRecord as GHCJS.DOM.MutationRecord
-          , JSDOM.NamedNodeMap as GHCJS.DOM.NamedNodeMap
-          , JSDOM.Navigator as GHCJS.DOM.Navigator
-          , JSDOM.NavigatorConcurrentHardware as GHCJS.DOM.NavigatorConcurrentHardware
-          , JSDOM.NavigatorID as GHCJS.DOM.NavigatorID
-          , JSDOM.NavigatorLanguage as GHCJS.DOM.NavigatorLanguage
-          , JSDOM.NavigatorOnLine as GHCJS.DOM.NavigatorOnLine
-          , JSDOM.NavigatorUserMediaError as GHCJS.DOM.NavigatorUserMediaError
-          , JSDOM.NavigatorUserMediaErrorCallback as GHCJS.DOM.NavigatorUserMediaErrorCallback
-          , JSDOM.NavigatorUserMediaSuccessCallback as GHCJS.DOM.NavigatorUserMediaSuccessCallback
-          , JSDOM.Node as GHCJS.DOM.Node
-          , JSDOM.NodeFilter as GHCJS.DOM.NodeFilter
-          , JSDOM.NodeIterator as GHCJS.DOM.NodeIterator
-          , JSDOM.NodeList as GHCJS.DOM.NodeList
-          , JSDOM.NonDocumentTypeChildNode as GHCJS.DOM.NonDocumentTypeChildNode
-          , JSDOM.NonElementParentNode as GHCJS.DOM.NonElementParentNode
-          , JSDOM.Notification as GHCJS.DOM.Notification
-          , JSDOM.NotificationPermissionCallback as GHCJS.DOM.NotificationPermissionCallback
-          , JSDOM.OESStandardDerivatives as GHCJS.DOM.OESStandardDerivatives
-          , JSDOM.OESTextureHalfFloat as GHCJS.DOM.OESTextureHalfFloat
-          , JSDOM.OESVertexArrayObject as GHCJS.DOM.OESVertexArrayObject
-          , JSDOM.OfflineAudioCompletionEvent as GHCJS.DOM.OfflineAudioCompletionEvent
-          , JSDOM.OfflineAudioContext as GHCJS.DOM.OfflineAudioContext
-          , JSDOM.OscillatorNode as GHCJS.DOM.OscillatorNode
-          , JSDOM.OverconstrainedError as GHCJS.DOM.OverconstrainedError
-          , JSDOM.OverconstrainedErrorEvent as GHCJS.DOM.OverconstrainedErrorEvent
-          , JSDOM.OverflowEvent as GHCJS.DOM.OverflowEvent
-          , JSDOM.PageTransitionEvent as GHCJS.DOM.PageTransitionEvent
-          , JSDOM.PannerNode as GHCJS.DOM.PannerNode
-          , JSDOM.ParentNode as GHCJS.DOM.ParentNode
-          , JSDOM.PasswordCredential as GHCJS.DOM.PasswordCredential
-          , JSDOM.Path2D as GHCJS.DOM.Path2D
-          , JSDOM.Performance as GHCJS.DOM.Performance
-          , JSDOM.PerformanceEntry as GHCJS.DOM.PerformanceEntry
-          , JSDOM.PerformanceNavigation as GHCJS.DOM.PerformanceNavigation
-          , JSDOM.PerformanceObserver as GHCJS.DOM.PerformanceObserver
-          , JSDOM.PerformanceObserverCallback as GHCJS.DOM.PerformanceObserverCallback
-          , JSDOM.PerformanceObserverEntryList as GHCJS.DOM.PerformanceObserverEntryList
-          , JSDOM.PerformanceResourceTiming as GHCJS.DOM.PerformanceResourceTiming
-          , JSDOM.PerformanceTiming as GHCJS.DOM.PerformanceTiming
-          , JSDOM.Plugin as GHCJS.DOM.Plugin
-          , JSDOM.PluginArray as GHCJS.DOM.PluginArray
-          , JSDOM.PopStateEvent as GHCJS.DOM.PopStateEvent
-          , JSDOM.PositionCallback as GHCJS.DOM.PositionCallback
-          , JSDOM.PositionError as GHCJS.DOM.PositionError
-          , JSDOM.PositionErrorCallback as GHCJS.DOM.PositionErrorCallback
-          , JSDOM.ProcessingInstruction as GHCJS.DOM.ProcessingInstruction
-          , JSDOM.ProgressEvent as GHCJS.DOM.ProgressEvent
-          , JSDOM.PromiseRejectionEvent as GHCJS.DOM.PromiseRejectionEvent
-          , JSDOM.QuickTimePluginReplacement as GHCJS.DOM.QuickTimePluginReplacement
-          , JSDOM.RGBColor as GHCJS.DOM.RGBColor
-          , JSDOM.RTCDTMFSender as GHCJS.DOM.RTCDTMFSender
-          , JSDOM.RTCDTMFToneChangeEvent as GHCJS.DOM.RTCDTMFToneChangeEvent
-          , JSDOM.RTCDataChannel as GHCJS.DOM.RTCDataChannel
-          , JSDOM.RTCDataChannelEvent as GHCJS.DOM.RTCDataChannelEvent
-          , JSDOM.RTCIceCandidate as GHCJS.DOM.RTCIceCandidate
-          , JSDOM.RTCIceCandidateEvent as GHCJS.DOM.RTCIceCandidateEvent
-          , JSDOM.RTCIceTransport as GHCJS.DOM.RTCIceTransport
-          , JSDOM.RTCPeerConnection as GHCJS.DOM.RTCPeerConnection
-          , JSDOM.RTCPeerConnectionIceEvent as GHCJS.DOM.RTCPeerConnectionIceEvent
-          , JSDOM.RTCRtpReceiver as GHCJS.DOM.RTCRtpReceiver
-          , JSDOM.RTCRtpSender as GHCJS.DOM.RTCRtpSender
-          , JSDOM.RTCRtpTransceiver as GHCJS.DOM.RTCRtpTransceiver
-          , JSDOM.RTCSessionDescription as GHCJS.DOM.RTCSessionDescription
-          , JSDOM.RTCTrackEvent as GHCJS.DOM.RTCTrackEvent
-          , JSDOM.RadioNodeList as GHCJS.DOM.RadioNodeList
-          , JSDOM.Range as GHCJS.DOM.Range
-          , JSDOM.ReadableByteStreamController as GHCJS.DOM.ReadableByteStreamController
-          , JSDOM.ReadableStream as GHCJS.DOM.ReadableStream
-          , JSDOM.ReadableStreamBYOBReader as GHCJS.DOM.ReadableStreamBYOBReader
-          , JSDOM.ReadableStreamBYOBRequest as GHCJS.DOM.ReadableStreamBYOBRequest
-          , JSDOM.ReadableStreamDefaultController as GHCJS.DOM.ReadableStreamDefaultController
-          , JSDOM.ReadableStreamDefaultReader as GHCJS.DOM.ReadableStreamDefaultReader
-          , JSDOM.ReadableStreamSource as GHCJS.DOM.ReadableStreamSource
-          , JSDOM.Rect as GHCJS.DOM.Rect
-          , JSDOM.Request as GHCJS.DOM.Request
-          , JSDOM.RequestAnimationFrameCallback as GHCJS.DOM.RequestAnimationFrameCallback
-          , JSDOM.Response as GHCJS.DOM.Response
-          , JSDOM.SQLError as GHCJS.DOM.SQLError
-          , JSDOM.SQLException as GHCJS.DOM.SQLException
-          , JSDOM.SQLResultSet as GHCJS.DOM.SQLResultSet
-          , JSDOM.SQLResultSetRowList as GHCJS.DOM.SQLResultSetRowList
-          , JSDOM.SQLStatementCallback as GHCJS.DOM.SQLStatementCallback
-          , JSDOM.SQLStatementErrorCallback as GHCJS.DOM.SQLStatementErrorCallback
-          , JSDOM.SQLTransaction as GHCJS.DOM.SQLTransaction
-          , JSDOM.SQLTransactionCallback as GHCJS.DOM.SQLTransactionCallback
-          , JSDOM.SQLTransactionErrorCallback as GHCJS.DOM.SQLTransactionErrorCallback
-          , JSDOM.SVGAElement as GHCJS.DOM.SVGAElement
-          , JSDOM.SVGAltGlyphElement as GHCJS.DOM.SVGAltGlyphElement
-          , JSDOM.SVGAngle as GHCJS.DOM.SVGAngle
-          , JSDOM.SVGAnimatedAngle as GHCJS.DOM.SVGAnimatedAngle
-          , JSDOM.SVGAnimatedBoolean as GHCJS.DOM.SVGAnimatedBoolean
-          , JSDOM.SVGAnimatedEnumeration as GHCJS.DOM.SVGAnimatedEnumeration
-          , JSDOM.SVGAnimatedInteger as GHCJS.DOM.SVGAnimatedInteger
-          , JSDOM.SVGAnimatedLength as GHCJS.DOM.SVGAnimatedLength
-          , JSDOM.SVGAnimatedLengthList as GHCJS.DOM.SVGAnimatedLengthList
-          , JSDOM.SVGAnimatedNumber as GHCJS.DOM.SVGAnimatedNumber
-          , JSDOM.SVGAnimatedNumberList as GHCJS.DOM.SVGAnimatedNumberList
-          , JSDOM.SVGAnimatedPreserveAspectRatio as GHCJS.DOM.SVGAnimatedPreserveAspectRatio
-          , JSDOM.SVGAnimatedRect as GHCJS.DOM.SVGAnimatedRect
-          , JSDOM.SVGAnimatedString as GHCJS.DOM.SVGAnimatedString
-          , JSDOM.SVGAnimatedTransformList as GHCJS.DOM.SVGAnimatedTransformList
-          , JSDOM.SVGAnimationElement as GHCJS.DOM.SVGAnimationElement
-          , JSDOM.SVGCircleElement as GHCJS.DOM.SVGCircleElement
-          , JSDOM.SVGClipPathElement as GHCJS.DOM.SVGClipPathElement
-          , JSDOM.SVGComponentTransferFunctionElement as GHCJS.DOM.SVGComponentTransferFunctionElement
-          , JSDOM.SVGCursorElement as GHCJS.DOM.SVGCursorElement
-          , JSDOM.SVGElement as GHCJS.DOM.SVGElement
-          , JSDOM.SVGEllipseElement as GHCJS.DOM.SVGEllipseElement
-          , JSDOM.SVGException as GHCJS.DOM.SVGException
-          , JSDOM.SVGExternalResourcesRequired as GHCJS.DOM.SVGExternalResourcesRequired
-          , JSDOM.SVGFEBlendElement as GHCJS.DOM.SVGFEBlendElement
-          , JSDOM.SVGFEColorMatrixElement as GHCJS.DOM.SVGFEColorMatrixElement
-          , JSDOM.SVGFEComponentTransferElement as GHCJS.DOM.SVGFEComponentTransferElement
-          , JSDOM.SVGFECompositeElement as GHCJS.DOM.SVGFECompositeElement
-          , JSDOM.SVGFEConvolveMatrixElement as GHCJS.DOM.SVGFEConvolveMatrixElement
-          , JSDOM.SVGFEDiffuseLightingElement as GHCJS.DOM.SVGFEDiffuseLightingElement
-          , JSDOM.SVGFEDisplacementMapElement as GHCJS.DOM.SVGFEDisplacementMapElement
-          , JSDOM.SVGFEDistantLightElement as GHCJS.DOM.SVGFEDistantLightElement
-          , JSDOM.SVGFEDropShadowElement as GHCJS.DOM.SVGFEDropShadowElement
-          , JSDOM.SVGFEGaussianBlurElement as GHCJS.DOM.SVGFEGaussianBlurElement
-          , JSDOM.SVGFEImageElement as GHCJS.DOM.SVGFEImageElement
-          , JSDOM.SVGFEMergeNodeElement as GHCJS.DOM.SVGFEMergeNodeElement
-          , JSDOM.SVGFEMorphologyElement as GHCJS.DOM.SVGFEMorphologyElement
-          , JSDOM.SVGFEOffsetElement as GHCJS.DOM.SVGFEOffsetElement
-          , JSDOM.SVGFEPointLightElement as GHCJS.DOM.SVGFEPointLightElement
-          , JSDOM.SVGFESpecularLightingElement as GHCJS.DOM.SVGFESpecularLightingElement
-          , JSDOM.SVGFESpotLightElement as GHCJS.DOM.SVGFESpotLightElement
-          , JSDOM.SVGFETileElement as GHCJS.DOM.SVGFETileElement
-          , JSDOM.SVGFETurbulenceElement as GHCJS.DOM.SVGFETurbulenceElement
-          , JSDOM.SVGFilterElement as GHCJS.DOM.SVGFilterElement
-          , JSDOM.SVGFilterPrimitiveStandardAttributes as GHCJS.DOM.SVGFilterPrimitiveStandardAttributes
-          , JSDOM.SVGFitToViewBox as GHCJS.DOM.SVGFitToViewBox
-          , JSDOM.SVGForeignObjectElement as GHCJS.DOM.SVGForeignObjectElement
-          , JSDOM.SVGGlyphRefElement as GHCJS.DOM.SVGGlyphRefElement
-          , JSDOM.SVGGradientElement as GHCJS.DOM.SVGGradientElement
-          , JSDOM.SVGGraphicsElement as GHCJS.DOM.SVGGraphicsElement
-          , JSDOM.SVGImageElement as GHCJS.DOM.SVGImageElement
-          , JSDOM.SVGLength as GHCJS.DOM.SVGLength
-          , JSDOM.SVGLengthList as GHCJS.DOM.SVGLengthList
-          , JSDOM.SVGLineElement as GHCJS.DOM.SVGLineElement
-          , JSDOM.SVGLinearGradientElement as GHCJS.DOM.SVGLinearGradientElement
-          , JSDOM.SVGMarkerElement as GHCJS.DOM.SVGMarkerElement
-          , JSDOM.SVGMaskElement as GHCJS.DOM.SVGMaskElement
-          , JSDOM.SVGMatrix as GHCJS.DOM.SVGMatrix
-          , JSDOM.SVGNumber as GHCJS.DOM.SVGNumber
-          , JSDOM.SVGNumberList as GHCJS.DOM.SVGNumberList
-          , JSDOM.SVGPathElement as GHCJS.DOM.SVGPathElement
-          , JSDOM.SVGPathSeg as GHCJS.DOM.SVGPathSeg
-          , JSDOM.SVGPathSegArcAbs as GHCJS.DOM.SVGPathSegArcAbs
-          , JSDOM.SVGPathSegArcRel as GHCJS.DOM.SVGPathSegArcRel
-          , JSDOM.SVGPathSegCurvetoCubicAbs as GHCJS.DOM.SVGPathSegCurvetoCubicAbs
-          , JSDOM.SVGPathSegCurvetoCubicRel as GHCJS.DOM.SVGPathSegCurvetoCubicRel
-          , JSDOM.SVGPathSegCurvetoCubicSmoothAbs as GHCJS.DOM.SVGPathSegCurvetoCubicSmoothAbs
-          , JSDOM.SVGPathSegCurvetoCubicSmoothRel as GHCJS.DOM.SVGPathSegCurvetoCubicSmoothRel
-          , JSDOM.SVGPathSegCurvetoQuadraticAbs as GHCJS.DOM.SVGPathSegCurvetoQuadraticAbs
-          , JSDOM.SVGPathSegCurvetoQuadraticRel as GHCJS.DOM.SVGPathSegCurvetoQuadraticRel
-          , JSDOM.SVGPathSegCurvetoQuadraticSmoothAbs as GHCJS.DOM.SVGPathSegCurvetoQuadraticSmoothAbs
-          , JSDOM.SVGPathSegCurvetoQuadraticSmoothRel as GHCJS.DOM.SVGPathSegCurvetoQuadraticSmoothRel
-          , JSDOM.SVGPathSegLinetoAbs as GHCJS.DOM.SVGPathSegLinetoAbs
-          , JSDOM.SVGPathSegLinetoHorizontalAbs as GHCJS.DOM.SVGPathSegLinetoHorizontalAbs
-          , JSDOM.SVGPathSegLinetoHorizontalRel as GHCJS.DOM.SVGPathSegLinetoHorizontalRel
-          , JSDOM.SVGPathSegLinetoRel as GHCJS.DOM.SVGPathSegLinetoRel
-          , JSDOM.SVGPathSegLinetoVerticalAbs as GHCJS.DOM.SVGPathSegLinetoVerticalAbs
-          , JSDOM.SVGPathSegLinetoVerticalRel as GHCJS.DOM.SVGPathSegLinetoVerticalRel
-          , JSDOM.SVGPathSegList as GHCJS.DOM.SVGPathSegList
-          , JSDOM.SVGPathSegMovetoAbs as GHCJS.DOM.SVGPathSegMovetoAbs
-          , JSDOM.SVGPathSegMovetoRel as GHCJS.DOM.SVGPathSegMovetoRel
-          , JSDOM.SVGPatternElement as GHCJS.DOM.SVGPatternElement
-          , JSDOM.SVGPoint as GHCJS.DOM.SVGPoint
-          , JSDOM.SVGPointList as GHCJS.DOM.SVGPointList
-          , JSDOM.SVGPolygonElement as GHCJS.DOM.SVGPolygonElement
-          , JSDOM.SVGPolylineElement as GHCJS.DOM.SVGPolylineElement
-          , JSDOM.SVGPreserveAspectRatio as GHCJS.DOM.SVGPreserveAspectRatio
-          , JSDOM.SVGRadialGradientElement as GHCJS.DOM.SVGRadialGradientElement
-          , JSDOM.SVGRect as GHCJS.DOM.SVGRect
-          , JSDOM.SVGRectElement as GHCJS.DOM.SVGRectElement
-          , JSDOM.SVGRenderingIntent as GHCJS.DOM.SVGRenderingIntent
-          , JSDOM.SVGSVGElement as GHCJS.DOM.SVGSVGElement
-          , JSDOM.SVGScriptElement as GHCJS.DOM.SVGScriptElement
-          , JSDOM.SVGStopElement as GHCJS.DOM.SVGStopElement
-          , JSDOM.SVGStringList as GHCJS.DOM.SVGStringList
-          , JSDOM.SVGStyleElement as GHCJS.DOM.SVGStyleElement
-          , JSDOM.SVGTests as GHCJS.DOM.SVGTests
-          , JSDOM.SVGTextContentElement as GHCJS.DOM.SVGTextContentElement
-          , JSDOM.SVGTextPathElement as GHCJS.DOM.SVGTextPathElement
-          , JSDOM.SVGTextPositioningElement as GHCJS.DOM.SVGTextPositioningElement
-          , JSDOM.SVGTransform as GHCJS.DOM.SVGTransform
-          , JSDOM.SVGTransformList as GHCJS.DOM.SVGTransformList
-          , JSDOM.SVGURIReference as GHCJS.DOM.SVGURIReference
-          , JSDOM.SVGUnitTypes as GHCJS.DOM.SVGUnitTypes
-          , JSDOM.SVGUseElement as GHCJS.DOM.SVGUseElement
-          , JSDOM.SVGViewElement as GHCJS.DOM.SVGViewElement
-          , JSDOM.SVGViewSpec as GHCJS.DOM.SVGViewSpec
-          , JSDOM.SVGZoomAndPan as GHCJS.DOM.SVGZoomAndPan
-          , JSDOM.SVGZoomEvent as GHCJS.DOM.SVGZoomEvent
-          , JSDOM.Screen as GHCJS.DOM.Screen
-          , JSDOM.ScriptProcessorNode as GHCJS.DOM.ScriptProcessorNode
-          , JSDOM.SecurityPolicyViolationEvent as GHCJS.DOM.SecurityPolicyViolationEvent
-          , JSDOM.Selection as GHCJS.DOM.Selection
-          , JSDOM.ShadowRoot as GHCJS.DOM.ShadowRoot
-          , JSDOM.SiteBoundCredential as GHCJS.DOM.SiteBoundCredential
-          , JSDOM.Slotable as GHCJS.DOM.Slotable
-          , JSDOM.SourceBuffer as GHCJS.DOM.SourceBuffer
-          , JSDOM.SourceBufferList as GHCJS.DOM.SourceBufferList
-          , JSDOM.SpeechSynthesis as GHCJS.DOM.SpeechSynthesis
-          , JSDOM.SpeechSynthesisEvent as GHCJS.DOM.SpeechSynthesisEvent
-          , JSDOM.SpeechSynthesisUtterance as GHCJS.DOM.SpeechSynthesisUtterance
-          , JSDOM.SpeechSynthesisVoice as GHCJS.DOM.SpeechSynthesisVoice
-          , JSDOM.StaticRange as GHCJS.DOM.StaticRange
-          , JSDOM.Storage as GHCJS.DOM.Storage
-          , JSDOM.StorageErrorCallback as GHCJS.DOM.StorageErrorCallback
-          , JSDOM.StorageEvent as GHCJS.DOM.StorageEvent
-          , JSDOM.StorageInfo as GHCJS.DOM.StorageInfo
-          , JSDOM.StorageQuota as GHCJS.DOM.StorageQuota
-          , JSDOM.StorageQuotaCallback as GHCJS.DOM.StorageQuotaCallback
-          , JSDOM.StorageUsageCallback as GHCJS.DOM.StorageUsageCallback
-          , JSDOM.StringCallback as GHCJS.DOM.StringCallback
-          , JSDOM.StyleMedia as GHCJS.DOM.StyleMedia
-          , JSDOM.StyleSheet as GHCJS.DOM.StyleSheet
-          , JSDOM.StyleSheetList as GHCJS.DOM.StyleSheetList
-          , JSDOM.SubtleCrypto as GHCJS.DOM.SubtleCrypto
-          , JSDOM.Text as GHCJS.DOM.Text
-          , JSDOM.TextDecoder as GHCJS.DOM.TextDecoder
-          , JSDOM.TextEncoder as GHCJS.DOM.TextEncoder
-          , JSDOM.TextEvent as GHCJS.DOM.TextEvent
-          , JSDOM.TextMetrics as GHCJS.DOM.TextMetrics
-          , JSDOM.TextTrack as GHCJS.DOM.TextTrack
-          , JSDOM.TextTrackCue as GHCJS.DOM.TextTrackCue
-          , JSDOM.TextTrackCueList as GHCJS.DOM.TextTrackCueList
-          , JSDOM.TextTrackList as GHCJS.DOM.TextTrackList
-          , JSDOM.TimeRanges as GHCJS.DOM.TimeRanges
-          , JSDOM.Touch as GHCJS.DOM.Touch
-          , JSDOM.TouchEvent as GHCJS.DOM.TouchEvent
-          , JSDOM.TouchList as GHCJS.DOM.TouchList
-          , JSDOM.TrackEvent as GHCJS.DOM.TrackEvent
-          , JSDOM.TransitionEvent as GHCJS.DOM.TransitionEvent
-          , JSDOM.TreeWalker as GHCJS.DOM.TreeWalker
-          , JSDOM.UIEvent as GHCJS.DOM.UIEvent
-          , JSDOM.URL as GHCJS.DOM.URL
-          , JSDOM.URLSearchParams as GHCJS.DOM.URLSearchParams
-          , JSDOM.UserMessageHandler as GHCJS.DOM.UserMessageHandler
-          , JSDOM.VTTCue as GHCJS.DOM.VTTCue
-          , JSDOM.VTTRegion as GHCJS.DOM.VTTRegion
-          , JSDOM.VTTRegionList as GHCJS.DOM.VTTRegionList
-          , JSDOM.ValidityState as GHCJS.DOM.ValidityState
-          , JSDOM.VideoPlaybackQuality as GHCJS.DOM.VideoPlaybackQuality
-          , JSDOM.VideoTrack as GHCJS.DOM.VideoTrack
-          , JSDOM.VideoTrackList as GHCJS.DOM.VideoTrackList
-          , JSDOM.VoidCallback as GHCJS.DOM.VoidCallback
-          , JSDOM.WaveShaperNode as GHCJS.DOM.WaveShaperNode
-          , JSDOM.WebGL2RenderingContext as GHCJS.DOM.WebGL2RenderingContext
-          , JSDOM.WebGLActiveInfo as GHCJS.DOM.WebGLActiveInfo
-          , JSDOM.WebGLCompressedTextureATC as GHCJS.DOM.WebGLCompressedTextureATC
-          , JSDOM.WebGLCompressedTexturePVRTC as GHCJS.DOM.WebGLCompressedTexturePVRTC
-          , JSDOM.WebGLCompressedTextureS3TC as GHCJS.DOM.WebGLCompressedTextureS3TC
-          , JSDOM.WebGLContextEvent as GHCJS.DOM.WebGLContextEvent
-          , JSDOM.WebGLDebugRendererInfo as GHCJS.DOM.WebGLDebugRendererInfo
-          , JSDOM.WebGLDebugShaders as GHCJS.DOM.WebGLDebugShaders
-          , JSDOM.WebGLDepthTexture as GHCJS.DOM.WebGLDepthTexture
-          , JSDOM.WebGLDrawBuffers as GHCJS.DOM.WebGLDrawBuffers
-          , JSDOM.WebGLLoseContext as GHCJS.DOM.WebGLLoseContext
-          , JSDOM.WebGLRenderingContextBase as GHCJS.DOM.WebGLRenderingContextBase
-          , JSDOM.WebGLShaderPrecisionFormat as GHCJS.DOM.WebGLShaderPrecisionFormat
-          , JSDOM.WebGPUBuffer as GHCJS.DOM.WebGPUBuffer
-          , JSDOM.WebGPUCommandBuffer as GHCJS.DOM.WebGPUCommandBuffer
-          , JSDOM.WebGPUCommandQueue as GHCJS.DOM.WebGPUCommandQueue
-          , JSDOM.WebGPUComputeCommandEncoder as GHCJS.DOM.WebGPUComputeCommandEncoder
-          , JSDOM.WebGPUDepthStencilDescriptor as GHCJS.DOM.WebGPUDepthStencilDescriptor
-          , JSDOM.WebGPUDepthStencilState as GHCJS.DOM.WebGPUDepthStencilState
-          , JSDOM.WebGPUDrawable as GHCJS.DOM.WebGPUDrawable
-          , JSDOM.WebGPUFunction as GHCJS.DOM.WebGPUFunction
-          , JSDOM.WebGPULibrary as GHCJS.DOM.WebGPULibrary
-          , JSDOM.WebGPURenderCommandEncoder as GHCJS.DOM.WebGPURenderCommandEncoder
-          , JSDOM.WebGPURenderPassAttachmentDescriptor as GHCJS.DOM.WebGPURenderPassAttachmentDescriptor
-          , JSDOM.WebGPURenderPassColorAttachmentDescriptor as GHCJS.DOM.WebGPURenderPassColorAttachmentDescriptor
-          , JSDOM.WebGPURenderPassDepthAttachmentDescriptor as GHCJS.DOM.WebGPURenderPassDepthAttachmentDescriptor
-          , JSDOM.WebGPURenderPassDescriptor as GHCJS.DOM.WebGPURenderPassDescriptor
-          , JSDOM.WebGPURenderPipelineColorAttachmentDescriptor as GHCJS.DOM.WebGPURenderPipelineColorAttachmentDescriptor
-          , JSDOM.WebGPURenderPipelineDescriptor as GHCJS.DOM.WebGPURenderPipelineDescriptor
-          , JSDOM.WebGPURenderPipelineState as GHCJS.DOM.WebGPURenderPipelineState
-          , JSDOM.WebGPURenderingContext as GHCJS.DOM.WebGPURenderingContext
-          , JSDOM.WebGPUTexture as GHCJS.DOM.WebGPUTexture
-          , JSDOM.WebGPUTextureDescriptor as GHCJS.DOM.WebGPUTextureDescriptor
-          , JSDOM.WebKitAnimationEvent as GHCJS.DOM.WebKitAnimationEvent
-          , JSDOM.WebKitCSSMatrix as GHCJS.DOM.WebKitCSSMatrix
-          , JSDOM.WebKitCSSRegionRule as GHCJS.DOM.WebKitCSSRegionRule
-          , JSDOM.WebKitCSSViewportRule as GHCJS.DOM.WebKitCSSViewportRule
-          , JSDOM.WebKitMediaKeyError as GHCJS.DOM.WebKitMediaKeyError
-          , JSDOM.WebKitMediaKeyMessageEvent as GHCJS.DOM.WebKitMediaKeyMessageEvent
-          , JSDOM.WebKitMediaKeyNeededEvent as GHCJS.DOM.WebKitMediaKeyNeededEvent
-          , JSDOM.WebKitMediaKeySession as GHCJS.DOM.WebKitMediaKeySession
-          , JSDOM.WebKitMediaKeys as GHCJS.DOM.WebKitMediaKeys
-          , JSDOM.WebKitNamedFlow as GHCJS.DOM.WebKitNamedFlow
-          , JSDOM.WebKitNamespace as GHCJS.DOM.WebKitNamespace
-          , JSDOM.WebKitPlaybackTargetAvailabilityEvent as GHCJS.DOM.WebKitPlaybackTargetAvailabilityEvent
-          , JSDOM.WebKitPoint as GHCJS.DOM.WebKitPoint
-          , JSDOM.WebKitSubtleCrypto as GHCJS.DOM.WebKitSubtleCrypto
-          , JSDOM.WebKitTransitionEvent as GHCJS.DOM.WebKitTransitionEvent
-          , JSDOM.WebSocket as GHCJS.DOM.WebSocket
-          , JSDOM.WheelEvent as GHCJS.DOM.WheelEvent
-          , JSDOM.Window as GHCJS.DOM.Window
-          , JSDOM.WindowEventHandlers as GHCJS.DOM.WindowEventHandlers
-          , JSDOM.WindowOrWorkerGlobalScope as GHCJS.DOM.WindowOrWorkerGlobalScope
-          , JSDOM.Worker as GHCJS.DOM.Worker
-          , JSDOM.WorkerGlobalScope as GHCJS.DOM.WorkerGlobalScope
-          , JSDOM.WorkerLocation as GHCJS.DOM.WorkerLocation
-          , JSDOM.WorkerNavigator as GHCJS.DOM.WorkerNavigator
-          , JSDOM.WritableStream as GHCJS.DOM.WritableStream
-          , JSDOM.XMLHttpRequest as GHCJS.DOM.XMLHttpRequest
-          , JSDOM.XMLHttpRequestEventTarget as GHCJS.DOM.XMLHttpRequestEventTarget
-          , JSDOM.XMLHttpRequestProgressEvent as GHCJS.DOM.XMLHttpRequestProgressEvent
-          , JSDOM.XMLSerializer as GHCJS.DOM.XMLSerializer
-          , JSDOM.XPathEvaluator as GHCJS.DOM.XPathEvaluator
-          , JSDOM.XPathException as GHCJS.DOM.XPathException
-          , JSDOM.XPathExpression as GHCJS.DOM.XPathExpression
-          , JSDOM.XPathNSResolver as GHCJS.DOM.XPathNSResolver
-          , JSDOM.XPathResult as GHCJS.DOM.XPathResult
-          , JSDOM.XSLTProcessor as GHCJS.DOM.XSLTProcessor
-
+version: 0.10.0.0
+build-type: Simple
+license: MIT
+license-file: LICENSE
+extra-doc-files: ChangeLog.md
+maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
+synopsis: DOM library that supports both GHCJS and GHC using jsaddle
+description: Document Object Model (DOM) functions that work with
+             GHCJS, but can also be used with GHC and a Browser.
+author: Hamish Mackenzie
+category: Web
+
+Tested-With:
+  GHC == 8.8.1 || == 8.6.5 ||  == 8.4.4 || == 8.2.2 || == 8.0.2 || == 7.10.3,
+  GHCJS == 8.4 || == 8.2
+
+Source-Repository head
+  type:         git
+  location:     https://github.com/ghcjs/ghcjs-dom
+  subdir:       ghcjs-dom-jsaddle
+
+library
+    build-depends: jsaddle-dom >=0.10.0.0 && <0.11
+
+    default-language: Haskell2010
+
+    exposed: True
+    buildable: True
+
+    reexported-modules:
+            JSDOM as GHCJS.DOM
+          , JSDOM.Types as GHCJS.DOM.Types
+          , JSDOM.EventM as GHCJS.DOM.EventM
+          , JSDOM.EventTargetClosures as GHCJS.DOM.EventTargetClosures
+          -- The list below is generated by dom-gen; do not edit.
+          , JSDOM.ANGLE_instanced_arrays as GHCJS.DOM.ANGLE_instanced_arrays
+          , JSDOM.ARIAMixin as GHCJS.DOM.ARIAMixin
+          , JSDOM.ARIANotifyMixin as GHCJS.DOM.ARIANotifyMixin
+          , JSDOM.AacEncoderConfig as GHCJS.DOM.AacEncoderConfig
+          , JSDOM.AbortController as GHCJS.DOM.AbortController
+          , JSDOM.AbortSignal as GHCJS.DOM.AbortSignal
+          , JSDOM.AbstractRange as GHCJS.DOM.AbstractRange
+          , JSDOM.AbstractWorker as GHCJS.DOM.AbstractWorker
+          , JSDOM.AddEventListenerOptions as GHCJS.DOM.AddEventListenerOptions
+          , JSDOM.AddressErrors as GHCJS.DOM.AddressErrors
+          , JSDOM.AllAcceptedCredentialsOptions as GHCJS.DOM.AllAcceptedCredentialsOptions
+          , JSDOM.AnalyserNode as GHCJS.DOM.AnalyserNode
+          , JSDOM.AnalyserOptions as GHCJS.DOM.AnalyserOptions
+          , JSDOM.Animatable as GHCJS.DOM.Animatable
+          , JSDOM.Animation as GHCJS.DOM.Animation
+          , JSDOM.AnimationEffect as GHCJS.DOM.AnimationEffect
+          , JSDOM.AnimationEvent as GHCJS.DOM.AnimationEvent
+          , JSDOM.AnimationEventInit as GHCJS.DOM.AnimationEventInit
+          , JSDOM.AnimationFrameProvider as GHCJS.DOM.AnimationFrameProvider
+          , JSDOM.AnimationPlaybackEvent as GHCJS.DOM.AnimationPlaybackEvent
+          , JSDOM.AnimationPlaybackEventInit as GHCJS.DOM.AnimationPlaybackEventInit
+          , JSDOM.AnimationTimeline as GHCJS.DOM.AnimationTimeline
+          , JSDOM.AnimationTrigger as GHCJS.DOM.AnimationTrigger
+          , JSDOM.AriaNotificationOptions as GHCJS.DOM.AriaNotificationOptions
+          , JSDOM.AssignedNodesOptions as GHCJS.DOM.AssignedNodesOptions
+          , JSDOM.Attr as GHCJS.DOM.Attr
+          , JSDOM.AudioBuffer as GHCJS.DOM.AudioBuffer
+          , JSDOM.AudioBufferOptions as GHCJS.DOM.AudioBufferOptions
+          , JSDOM.AudioBufferSourceNode as GHCJS.DOM.AudioBufferSourceNode
+          , JSDOM.AudioBufferSourceOptions as GHCJS.DOM.AudioBufferSourceOptions
+          , JSDOM.AudioConfiguration as GHCJS.DOM.AudioConfiguration
+          , JSDOM.AudioContext as GHCJS.DOM.AudioContext
+          , JSDOM.AudioContextOptions as GHCJS.DOM.AudioContextOptions
+          , JSDOM.AudioData as GHCJS.DOM.AudioData
+          , JSDOM.AudioDataCopyToOptions as GHCJS.DOM.AudioDataCopyToOptions
+          , JSDOM.AudioDataInit as GHCJS.DOM.AudioDataInit
+          , JSDOM.AudioDataOutputCallback as GHCJS.DOM.AudioDataOutputCallback
+          , JSDOM.AudioDecoder as GHCJS.DOM.AudioDecoder
+          , JSDOM.AudioDecoderConfig as GHCJS.DOM.AudioDecoderConfig
+          , JSDOM.AudioDecoderInit as GHCJS.DOM.AudioDecoderInit
+          , JSDOM.AudioDecoderSupport as GHCJS.DOM.AudioDecoderSupport
+          , JSDOM.AudioDestinationNode as GHCJS.DOM.AudioDestinationNode
+          , JSDOM.AudioEncoder as GHCJS.DOM.AudioEncoder
+          , JSDOM.AudioEncoderConfig as GHCJS.DOM.AudioEncoderConfig
+          , JSDOM.AudioEncoderInit as GHCJS.DOM.AudioEncoderInit
+          , JSDOM.AudioEncoderSupport as GHCJS.DOM.AudioEncoderSupport
+          , JSDOM.AudioListener as GHCJS.DOM.AudioListener
+          , JSDOM.AudioNode as GHCJS.DOM.AudioNode
+          , JSDOM.AudioNodeOptions as GHCJS.DOM.AudioNodeOptions
+          , JSDOM.AudioParam as GHCJS.DOM.AudioParam
+          , JSDOM.AudioParamMap as GHCJS.DOM.AudioParamMap
+          , JSDOM.AudioProcessingEvent as GHCJS.DOM.AudioProcessingEvent
+          , JSDOM.AudioProcessingEventInit as GHCJS.DOM.AudioProcessingEventInit
+          , JSDOM.AudioScheduledSourceNode as GHCJS.DOM.AudioScheduledSourceNode
+          , JSDOM.AudioSinkOptions as GHCJS.DOM.AudioSinkOptions
+          , JSDOM.AudioTimestamp as GHCJS.DOM.AudioTimestamp
+          , JSDOM.AudioTrack as GHCJS.DOM.AudioTrack
+          , JSDOM.AudioTrackList as GHCJS.DOM.AudioTrackList
+          , JSDOM.AudioWorklet as GHCJS.DOM.AudioWorklet
+          , JSDOM.AudioWorkletGlobalScope as GHCJS.DOM.AudioWorkletGlobalScope
+          , JSDOM.AudioWorkletNode as GHCJS.DOM.AudioWorkletNode
+          , JSDOM.AudioWorkletNodeOptions as GHCJS.DOM.AudioWorkletNodeOptions
+          , JSDOM.AudioWorkletProcessor as GHCJS.DOM.AudioWorkletProcessor
+          , JSDOM.AudioWorkletProcessorConstructor as GHCJS.DOM.AudioWorkletProcessorConstructor
+          , JSDOM.AuthenticationExtensionsClientInputs as GHCJS.DOM.AuthenticationExtensionsClientInputs
+          , JSDOM.AuthenticationExtensionsClientInputsJSON as GHCJS.DOM.AuthenticationExtensionsClientInputsJSON
+          , JSDOM.AuthenticationExtensionsClientOutputs as GHCJS.DOM.AuthenticationExtensionsClientOutputs
+          , JSDOM.AuthenticationExtensionsLargeBlobInputs as GHCJS.DOM.AuthenticationExtensionsLargeBlobInputs
+          , JSDOM.AuthenticationExtensionsLargeBlobInputsJSON as GHCJS.DOM.AuthenticationExtensionsLargeBlobInputsJSON
+          , JSDOM.AuthenticationExtensionsLargeBlobOutputs as GHCJS.DOM.AuthenticationExtensionsLargeBlobOutputs
+          , JSDOM.AuthenticationExtensionsPRFInputs as GHCJS.DOM.AuthenticationExtensionsPRFInputs
+          , JSDOM.AuthenticationExtensionsPRFInputsJSON as GHCJS.DOM.AuthenticationExtensionsPRFInputsJSON
+          , JSDOM.AuthenticationExtensionsPRFOutputs as GHCJS.DOM.AuthenticationExtensionsPRFOutputs
+          , JSDOM.AuthenticationExtensionsPRFValues as GHCJS.DOM.AuthenticationExtensionsPRFValues
+          , JSDOM.AuthenticationExtensionsPRFValuesJSON as GHCJS.DOM.AuthenticationExtensionsPRFValuesJSON
+          , JSDOM.AuthenticationExtensionsPaymentInputs as GHCJS.DOM.AuthenticationExtensionsPaymentInputs
+          , JSDOM.AuthenticationExtensionsPaymentOutputs as GHCJS.DOM.AuthenticationExtensionsPaymentOutputs
+          , JSDOM.AuthenticatorAssertionResponse as GHCJS.DOM.AuthenticatorAssertionResponse
+          , JSDOM.AuthenticatorAttestationResponse as GHCJS.DOM.AuthenticatorAttestationResponse
+          , JSDOM.AuthenticatorResponse as GHCJS.DOM.AuthenticatorResponse
+          , JSDOM.AuthenticatorSelectionCriteria as GHCJS.DOM.AuthenticatorSelectionCriteria
+          , JSDOM.AutofillEvent as GHCJS.DOM.AutofillEvent
+          , JSDOM.AvcEncoderConfig as GHCJS.DOM.AvcEncoderConfig
+          , JSDOM.BackgroundBlur as GHCJS.DOM.BackgroundBlur
+          , JSDOM.BarProp as GHCJS.DOM.BarProp
+          , JSDOM.BaseAudioContext as GHCJS.DOM.BaseAudioContext
+          , JSDOM.BeforeUnloadEvent as GHCJS.DOM.BeforeUnloadEvent
+          , JSDOM.BiquadFilterNode as GHCJS.DOM.BiquadFilterNode
+          , JSDOM.BiquadFilterOptions as GHCJS.DOM.BiquadFilterOptions
+          , JSDOM.Blob as GHCJS.DOM.Blob
+          , JSDOM.BlobCallback as GHCJS.DOM.BlobCallback
+          , JSDOM.BlobEvent as GHCJS.DOM.BlobEvent
+          , JSDOM.BlobEventInit as GHCJS.DOM.BlobEventInit
+          , JSDOM.BlobPropertyBag as GHCJS.DOM.BlobPropertyBag
+          , JSDOM.Body as GHCJS.DOM.Body
+          , JSDOM.BroadcastChannel as GHCJS.DOM.BroadcastChannel
+          , JSDOM.BrowserBoundSignature as GHCJS.DOM.BrowserBoundSignature
+          , JSDOM.ByteLengthQueuingStrategy as GHCJS.DOM.ByteLengthQueuingStrategy
+          , JSDOM.CDATASection as GHCJS.DOM.CDATASection
+          , JSDOM.CSS as GHCJS.DOM.CSS
+          , JSDOM.CSSAnimation as GHCJS.DOM.CSSAnimation
+          , JSDOM.CSSConditionRule as GHCJS.DOM.CSSConditionRule
+          , JSDOM.CSSContainerCondition as GHCJS.DOM.CSSContainerCondition
+          , JSDOM.CSSContainerRule as GHCJS.DOM.CSSContainerRule
+          , JSDOM.CSSCounterStyleRule as GHCJS.DOM.CSSCounterStyleRule
+          , JSDOM.CSSFontFaceDescriptors as GHCJS.DOM.CSSFontFaceDescriptors
+          , JSDOM.CSSFontFaceRule as GHCJS.DOM.CSSFontFaceRule
+          , JSDOM.CSSFontFeatureValuesRule as GHCJS.DOM.CSSFontFeatureValuesRule
+          , JSDOM.CSSFontPaletteValuesRule as GHCJS.DOM.CSSFontPaletteValuesRule
+          , JSDOM.CSSGroupingRule as GHCJS.DOM.CSSGroupingRule
+          , JSDOM.CSSImageValue as GHCJS.DOM.CSSImageValue
+          , JSDOM.CSSImportRule as GHCJS.DOM.CSSImportRule
+          , JSDOM.CSSKeyframeRule as GHCJS.DOM.CSSKeyframeRule
+          , JSDOM.CSSKeyframesRule as GHCJS.DOM.CSSKeyframesRule
+          , JSDOM.CSSKeywordValue as GHCJS.DOM.CSSKeywordValue
+          , JSDOM.CSSLayerBlockRule as GHCJS.DOM.CSSLayerBlockRule
+          , JSDOM.CSSLayerStatementRule as GHCJS.DOM.CSSLayerStatementRule
+          , JSDOM.CSSMathClamp as GHCJS.DOM.CSSMathClamp
+          , JSDOM.CSSMathInvert as GHCJS.DOM.CSSMathInvert
+          , JSDOM.CSSMathMax as GHCJS.DOM.CSSMathMax
+          , JSDOM.CSSMathMin as GHCJS.DOM.CSSMathMin
+          , JSDOM.CSSMathNegate as GHCJS.DOM.CSSMathNegate
+          , JSDOM.CSSMathProduct as GHCJS.DOM.CSSMathProduct
+          , JSDOM.CSSMathSum as GHCJS.DOM.CSSMathSum
+          , JSDOM.CSSMathValue as GHCJS.DOM.CSSMathValue
+          , JSDOM.CSSMatrixComponent as GHCJS.DOM.CSSMatrixComponent
+          , JSDOM.CSSMatrixComponentOptions as GHCJS.DOM.CSSMatrixComponentOptions
+          , JSDOM.CSSMediaRule as GHCJS.DOM.CSSMediaRule
+          , JSDOM.CSSNamespaceRule as GHCJS.DOM.CSSNamespaceRule
+          , JSDOM.CSSNestedDeclarations as GHCJS.DOM.CSSNestedDeclarations
+          , JSDOM.CSSNumericArray as GHCJS.DOM.CSSNumericArray
+          , JSDOM.CSSNumericType as GHCJS.DOM.CSSNumericType
+          , JSDOM.CSSNumericValue as GHCJS.DOM.CSSNumericValue
+          , JSDOM.CSSPageDescriptors as GHCJS.DOM.CSSPageDescriptors
+          , JSDOM.CSSPageRule as GHCJS.DOM.CSSPageRule
+          , JSDOM.CSSPerspective as GHCJS.DOM.CSSPerspective
+          , JSDOM.CSSPositionTryDescriptors as GHCJS.DOM.CSSPositionTryDescriptors
+          , JSDOM.CSSPositionTryRule as GHCJS.DOM.CSSPositionTryRule
+          , JSDOM.CSSPropertyRule as GHCJS.DOM.CSSPropertyRule
+          , JSDOM.CSSRotate as GHCJS.DOM.CSSRotate
+          , JSDOM.CSSRule as GHCJS.DOM.CSSRule
+          , JSDOM.CSSRuleList as GHCJS.DOM.CSSRuleList
+          , JSDOM.CSSScale as GHCJS.DOM.CSSScale
+          , JSDOM.CSSScopeRule as GHCJS.DOM.CSSScopeRule
+          , JSDOM.CSSSkew as GHCJS.DOM.CSSSkew
+          , JSDOM.CSSSkewX as GHCJS.DOM.CSSSkewX
+          , JSDOM.CSSSkewY as GHCJS.DOM.CSSSkewY
+          , JSDOM.CSSStartingStyleRule as GHCJS.DOM.CSSStartingStyleRule
+          , JSDOM.CSSStyleDeclaration as GHCJS.DOM.CSSStyleDeclaration
+          , JSDOM.CSSStyleProperties as GHCJS.DOM.CSSStyleProperties
+          , JSDOM.CSSStyleRule as GHCJS.DOM.CSSStyleRule
+          , JSDOM.CSSStyleSheet as GHCJS.DOM.CSSStyleSheet
+          , JSDOM.CSSStyleSheetInit as GHCJS.DOM.CSSStyleSheetInit
+          , JSDOM.CSSStyleValue as GHCJS.DOM.CSSStyleValue
+          , JSDOM.CSSSupportsRule as GHCJS.DOM.CSSSupportsRule
+          , JSDOM.CSSTransformComponent as GHCJS.DOM.CSSTransformComponent
+          , JSDOM.CSSTransformValue as GHCJS.DOM.CSSTransformValue
+          , JSDOM.CSSTransition as GHCJS.DOM.CSSTransition
+          , JSDOM.CSSTranslate as GHCJS.DOM.CSSTranslate
+          , JSDOM.CSSUnitValue as GHCJS.DOM.CSSUnitValue
+          , JSDOM.CSSUnparsedValue as GHCJS.DOM.CSSUnparsedValue
+          , JSDOM.CSSVariableReferenceValue as GHCJS.DOM.CSSVariableReferenceValue
+          , JSDOM.CSSViewTransitionRule as GHCJS.DOM.CSSViewTransitionRule
+          , JSDOM.Cache as GHCJS.DOM.Cache
+          , JSDOM.CacheQueryOptions as GHCJS.DOM.CacheQueryOptions
+          , JSDOM.CacheStorage as GHCJS.DOM.CacheStorage
+          , JSDOM.CanvasCaptureMediaStreamTrack as GHCJS.DOM.CanvasCaptureMediaStreamTrack
+          , JSDOM.CanvasCompositing as GHCJS.DOM.CanvasCompositing
+          , JSDOM.CanvasDrawImage as GHCJS.DOM.CanvasDrawImage
+          , JSDOM.CanvasDrawPath as GHCJS.DOM.CanvasDrawPath
+          , JSDOM.CanvasFillStrokeStyles as GHCJS.DOM.CanvasFillStrokeStyles
+          , JSDOM.CanvasFilters as GHCJS.DOM.CanvasFilters
+          , JSDOM.CanvasGradient as GHCJS.DOM.CanvasGradient
+          , JSDOM.CanvasImageData as GHCJS.DOM.CanvasImageData
+          , JSDOM.CanvasImageSmoothing as GHCJS.DOM.CanvasImageSmoothing
+          , JSDOM.CanvasPath as GHCJS.DOM.CanvasPath
+          , JSDOM.CanvasPathDrawingStyles as GHCJS.DOM.CanvasPathDrawingStyles
+          , JSDOM.CanvasPattern as GHCJS.DOM.CanvasPattern
+          , JSDOM.CanvasRect as GHCJS.DOM.CanvasRect
+          , JSDOM.CanvasRenderingContext2D as GHCJS.DOM.CanvasRenderingContext2D
+          , JSDOM.CanvasRenderingContext2DSettings as GHCJS.DOM.CanvasRenderingContext2DSettings
+          , JSDOM.CanvasSettings as GHCJS.DOM.CanvasSettings
+          , JSDOM.CanvasShadowStyles as GHCJS.DOM.CanvasShadowStyles
+          , JSDOM.CanvasState as GHCJS.DOM.CanvasState
+          , JSDOM.CanvasText as GHCJS.DOM.CanvasText
+          , JSDOM.CanvasTextDrawingStyles as GHCJS.DOM.CanvasTextDrawingStyles
+          , JSDOM.CanvasTransform as GHCJS.DOM.CanvasTransform
+          , JSDOM.CanvasUserInterface as GHCJS.DOM.CanvasUserInterface
+          , JSDOM.CaptureController as GHCJS.DOM.CaptureController
+          , JSDOM.CaretPosition as GHCJS.DOM.CaretPosition
+          , JSDOM.CaretPositionFromPointOptions as GHCJS.DOM.CaretPositionFromPointOptions
+          , JSDOM.ChannelMergerNode as GHCJS.DOM.ChannelMergerNode
+          , JSDOM.ChannelMergerOptions as GHCJS.DOM.ChannelMergerOptions
+          , JSDOM.ChannelSplitterNode as GHCJS.DOM.ChannelSplitterNode
+          , JSDOM.ChannelSplitterOptions as GHCJS.DOM.ChannelSplitterOptions
+          , JSDOM.ChapterInformationInit as GHCJS.DOM.ChapterInformationInit
+          , JSDOM.CharacterData as GHCJS.DOM.CharacterData
+          , JSDOM.CheckVisibilityOptions as GHCJS.DOM.CheckVisibilityOptions
+          , JSDOM.ChildNode as GHCJS.DOM.ChildNode
+          , JSDOM.Client as GHCJS.DOM.Client
+          , JSDOM.ClientQueryOptions as GHCJS.DOM.ClientQueryOptions
+          , JSDOM.Clients as GHCJS.DOM.Clients
+          , JSDOM.Clipboard as GHCJS.DOM.Clipboard
+          , JSDOM.ClipboardChangeEvent as GHCJS.DOM.ClipboardChangeEvent
+          , JSDOM.ClipboardEvent as GHCJS.DOM.ClipboardEvent
+          , JSDOM.ClipboardEventInit as GHCJS.DOM.ClipboardEventInit
+          , JSDOM.ClipboardItem as GHCJS.DOM.ClipboardItem
+          , JSDOM.ClipboardItemOptions as GHCJS.DOM.ClipboardItemOptions
+          , JSDOM.ClipboardUnsanitizedFormats as GHCJS.DOM.ClipboardUnsanitizedFormats
+          , JSDOM.CloseEvent as GHCJS.DOM.CloseEvent
+          , JSDOM.CloseEventInit as GHCJS.DOM.CloseEventInit
+          , JSDOM.CloseWatcher as GHCJS.DOM.CloseWatcher
+          , JSDOM.CloseWatcherOptions as GHCJS.DOM.CloseWatcherOptions
+          , JSDOM.CommandEvent as GHCJS.DOM.CommandEvent
+          , JSDOM.CommandEventInit as GHCJS.DOM.CommandEventInit
+          , JSDOM.Comment as GHCJS.DOM.Comment
+          , JSDOM.CompositionEvent as GHCJS.DOM.CompositionEvent
+          , JSDOM.CompositionEventInit as GHCJS.DOM.CompositionEventInit
+          , JSDOM.CompressionStream as GHCJS.DOM.CompressionStream
+          , JSDOM.ComputedEffectTiming as GHCJS.DOM.ComputedEffectTiming
+          , JSDOM.Console as GHCJS.DOM.Console
+          , JSDOM.ConstantSourceNode as GHCJS.DOM.ConstantSourceNode
+          , JSDOM.ConstantSourceOptions as GHCJS.DOM.ConstantSourceOptions
+          , JSDOM.ConstrainBooleanOrDOMStringParameters as GHCJS.DOM.ConstrainBooleanOrDOMStringParameters
+          , JSDOM.ConstrainBooleanParameters as GHCJS.DOM.ConstrainBooleanParameters
+          , JSDOM.ConstrainDOMStringParameters as GHCJS.DOM.ConstrainDOMStringParameters
+          , JSDOM.ConstrainDoubleRange as GHCJS.DOM.ConstrainDoubleRange
+          , JSDOM.ConstrainPoint2DParameters as GHCJS.DOM.ConstrainPoint2DParameters
+          , JSDOM.ConstrainULongRange as GHCJS.DOM.ConstrainULongRange
+          , JSDOM.ContactAddress as GHCJS.DOM.ContactAddress
+          , JSDOM.ContentVisibilityAutoStateChangeEvent as GHCJS.DOM.ContentVisibilityAutoStateChangeEvent
+          , JSDOM.ContentVisibilityAutoStateChangeEventInit as GHCJS.DOM.ContentVisibilityAutoStateChangeEventInit
+          , JSDOM.ConvolverNode as GHCJS.DOM.ConvolverNode
+          , JSDOM.ConvolverOptions as GHCJS.DOM.ConvolverOptions
+          , JSDOM.CookieChangeEvent as GHCJS.DOM.CookieChangeEvent
+          , JSDOM.CookieChangeEventInit as GHCJS.DOM.CookieChangeEventInit
+          , JSDOM.CookieInit as GHCJS.DOM.CookieInit
+          , JSDOM.CookieListItem as GHCJS.DOM.CookieListItem
+          , JSDOM.CookieStore as GHCJS.DOM.CookieStore
+          , JSDOM.CookieStoreDeleteOptions as GHCJS.DOM.CookieStoreDeleteOptions
+          , JSDOM.CookieStoreGetOptions as GHCJS.DOM.CookieStoreGetOptions
+          , JSDOM.CookieStoreManager as GHCJS.DOM.CookieStoreManager
+          , JSDOM.CountQueuingStrategy as GHCJS.DOM.CountQueuingStrategy
+          , JSDOM.CreateHTMLCallback as GHCJS.DOM.CreateHTMLCallback
+          , JSDOM.CreateParserOptionsCallback as GHCJS.DOM.CreateParserOptionsCallback
+          , JSDOM.CreateScriptCallback as GHCJS.DOM.CreateScriptCallback
+          , JSDOM.CreateScriptURLCallback as GHCJS.DOM.CreateScriptURLCallback
+          , JSDOM.Credential as GHCJS.DOM.Credential
+          , JSDOM.CredentialCreationOptions as GHCJS.DOM.CredentialCreationOptions
+          , JSDOM.CredentialData as GHCJS.DOM.CredentialData
+          , JSDOM.CredentialPropertiesOutput as GHCJS.DOM.CredentialPropertiesOutput
+          , JSDOM.CredentialRequestOptions as GHCJS.DOM.CredentialRequestOptions
+          , JSDOM.CredentialsContainer as GHCJS.DOM.CredentialsContainer
+          , JSDOM.Crypto as GHCJS.DOM.Crypto
+          , JSDOM.CryptoKey as GHCJS.DOM.CryptoKey
+          , JSDOM.CryptoKeyPair as GHCJS.DOM.CryptoKeyPair
+          , JSDOM.CurrentUserDetailsOptions as GHCJS.DOM.CurrentUserDetailsOptions
+          , JSDOM.CustomElementConstructor as GHCJS.DOM.CustomElementConstructor
+          , JSDOM.CustomElementRegistry as GHCJS.DOM.CustomElementRegistry
+          , JSDOM.CustomEvent as GHCJS.DOM.CustomEvent
+          , JSDOM.CustomEventInit as GHCJS.DOM.CustomEventInit
+          , JSDOM.CustomStateSet as GHCJS.DOM.CustomStateSet
+          , JSDOM.DOMException as GHCJS.DOM.DOMException
+          , JSDOM.DOMImplementation as GHCJS.DOM.DOMImplementation
+          , JSDOM.DOMMatrix as GHCJS.DOM.DOMMatrix
+          , JSDOM.DOMMatrix2DInit as GHCJS.DOM.DOMMatrix2DInit
+          , JSDOM.DOMMatrixInit as GHCJS.DOM.DOMMatrixInit
+          , JSDOM.DOMMatrixReadOnly as GHCJS.DOM.DOMMatrixReadOnly
+          , JSDOM.DOMParser as GHCJS.DOM.DOMParser
+          , JSDOM.DOMPoint as GHCJS.DOM.DOMPoint
+          , JSDOM.DOMPointInit as GHCJS.DOM.DOMPointInit
+          , JSDOM.DOMPointReadOnly as GHCJS.DOM.DOMPointReadOnly
+          , JSDOM.DOMQuad as GHCJS.DOM.DOMQuad
+          , JSDOM.DOMQuadInit as GHCJS.DOM.DOMQuadInit
+          , JSDOM.DOMRect as GHCJS.DOM.DOMRect
+          , JSDOM.DOMRectInit as GHCJS.DOM.DOMRectInit
+          , JSDOM.DOMRectList as GHCJS.DOM.DOMRectList
+          , JSDOM.DOMRectReadOnly as GHCJS.DOM.DOMRectReadOnly
+          , JSDOM.DOMStringList as GHCJS.DOM.DOMStringList
+          , JSDOM.DOMStringMap as GHCJS.DOM.DOMStringMap
+          , JSDOM.DOMTokenList as GHCJS.DOM.DOMTokenList
+          , JSDOM.DataCue as GHCJS.DOM.DataCue
+          , JSDOM.DataTransfer as GHCJS.DOM.DataTransfer
+          , JSDOM.DataTransferItem as GHCJS.DOM.DataTransferItem
+          , JSDOM.DataTransferItemList as GHCJS.DOM.DataTransferItemList
+          , JSDOM.DecodeErrorCallback as GHCJS.DOM.DecodeErrorCallback
+          , JSDOM.DecodeSuccessCallback as GHCJS.DOM.DecodeSuccessCallback
+          , JSDOM.DecompressionStream as GHCJS.DOM.DecompressionStream
+          , JSDOM.DedicatedWorkerGlobalScope as GHCJS.DOM.DedicatedWorkerGlobalScope
+          , JSDOM.DelayNode as GHCJS.DOM.DelayNode
+          , JSDOM.DelayOptions as GHCJS.DOM.DelayOptions
+          , JSDOM.DeviceChangeEvent as GHCJS.DOM.DeviceChangeEvent
+          , JSDOM.DeviceMotionEvent as GHCJS.DOM.DeviceMotionEvent
+          , JSDOM.DeviceMotionEventAcceleration as GHCJS.DOM.DeviceMotionEventAcceleration
+          , JSDOM.DeviceMotionEventAccelerationInit as GHCJS.DOM.DeviceMotionEventAccelerationInit
+          , JSDOM.DeviceMotionEventInit as GHCJS.DOM.DeviceMotionEventInit
+          , JSDOM.DeviceMotionEventRotationRate as GHCJS.DOM.DeviceMotionEventRotationRate
+          , JSDOM.DeviceMotionEventRotationRateInit as GHCJS.DOM.DeviceMotionEventRotationRateInit
+          , JSDOM.DeviceOrientationEvent as GHCJS.DOM.DeviceOrientationEvent
+          , JSDOM.DeviceOrientationEventInit as GHCJS.DOM.DeviceOrientationEventInit
+          , JSDOM.DigitalCredential as GHCJS.DOM.DigitalCredential
+          , JSDOM.DigitalCredentialCreateRequest as GHCJS.DOM.DigitalCredentialCreateRequest
+          , JSDOM.DigitalCredentialCreationOptions as GHCJS.DOM.DigitalCredentialCreationOptions
+          , JSDOM.DigitalCredentialGetRequest as GHCJS.DOM.DigitalCredentialGetRequest
+          , JSDOM.DigitalCredentialRequestOptions as GHCJS.DOM.DigitalCredentialRequestOptions
+          , JSDOM.DisplayMediaStreamOptions as GHCJS.DOM.DisplayMediaStreamOptions
+          , JSDOM.Document as GHCJS.DOM.Document
+          , JSDOM.DocumentFragment as GHCJS.DOM.DocumentFragment
+          , JSDOM.DocumentOrShadowRoot as GHCJS.DOM.DocumentOrShadowRoot
+          , JSDOM.DocumentPictureInPicture as GHCJS.DOM.DocumentPictureInPicture
+          , JSDOM.DocumentPictureInPictureEvent as GHCJS.DOM.DocumentPictureInPictureEvent
+          , JSDOM.DocumentPictureInPictureEventInit as GHCJS.DOM.DocumentPictureInPictureEventInit
+          , JSDOM.DocumentPictureInPictureOptions as GHCJS.DOM.DocumentPictureInPictureOptions
+          , JSDOM.DocumentTimeline as GHCJS.DOM.DocumentTimeline
+          , JSDOM.DocumentTimelineOptions as GHCJS.DOM.DocumentTimelineOptions
+          , JSDOM.DocumentType as GHCJS.DOM.DocumentType
+          , JSDOM.DoubleRange as GHCJS.DOM.DoubleRange
+          , JSDOM.DragEvent as GHCJS.DOM.DragEvent
+          , JSDOM.DragEventInit as GHCJS.DOM.DragEventInit
+          , JSDOM.DynamicsCompressorNode as GHCJS.DOM.DynamicsCompressorNode
+          , JSDOM.DynamicsCompressorOptions as GHCJS.DOM.DynamicsCompressorOptions
+          , JSDOM.EXT_blend_minmax as GHCJS.DOM.EXT_blend_minmax
+          , JSDOM.EXT_clip_control as GHCJS.DOM.EXT_clip_control
+          , JSDOM.EXT_color_buffer_float as GHCJS.DOM.EXT_color_buffer_float
+          , JSDOM.EXT_color_buffer_half_float as GHCJS.DOM.EXT_color_buffer_half_float
+          , JSDOM.EXT_float_blend as GHCJS.DOM.EXT_float_blend
+          , JSDOM.EXT_frag_depth as GHCJS.DOM.EXT_frag_depth
+          , JSDOM.EXT_polygon_offset_clamp as GHCJS.DOM.EXT_polygon_offset_clamp
+          , JSDOM.EXT_sRGB as GHCJS.DOM.EXT_sRGB
+          , JSDOM.EXT_shader_texture_lod as GHCJS.DOM.EXT_shader_texture_lod
+          , JSDOM.EXT_texture_compression_bptc as GHCJS.DOM.EXT_texture_compression_bptc
+          , JSDOM.EXT_texture_compression_rgtc as GHCJS.DOM.EXT_texture_compression_rgtc
+          , JSDOM.EXT_texture_filter_anisotropic as GHCJS.DOM.EXT_texture_filter_anisotropic
+          , JSDOM.EXT_texture_mirror_clamp_to_edge as GHCJS.DOM.EXT_texture_mirror_clamp_to_edge
+          , JSDOM.EXT_texture_norm16 as GHCJS.DOM.EXT_texture_norm16
+          , JSDOM.EffectTiming as GHCJS.DOM.EffectTiming
+          , JSDOM.Element as GHCJS.DOM.Element
+          , JSDOM.ElementCSSInlineStyle as GHCJS.DOM.ElementCSSInlineStyle
+          , JSDOM.ElementContentEditable as GHCJS.DOM.ElementContentEditable
+          , JSDOM.ElementCreationOptions as GHCJS.DOM.ElementCreationOptions
+          , JSDOM.ElementDefinitionOptions as GHCJS.DOM.ElementDefinitionOptions
+          , JSDOM.ElementInternals as GHCJS.DOM.ElementInternals
+          , JSDOM.EncodedAudioChunk as GHCJS.DOM.EncodedAudioChunk
+          , JSDOM.EncodedAudioChunkInit as GHCJS.DOM.EncodedAudioChunkInit
+          , JSDOM.EncodedAudioChunkMetadata as GHCJS.DOM.EncodedAudioChunkMetadata
+          , JSDOM.EncodedAudioChunkOutputCallback as GHCJS.DOM.EncodedAudioChunkOutputCallback
+          , JSDOM.EncodedVideoChunk as GHCJS.DOM.EncodedVideoChunk
+          , JSDOM.EncodedVideoChunkInit as GHCJS.DOM.EncodedVideoChunkInit
+          , JSDOM.EncodedVideoChunkMetadata as GHCJS.DOM.EncodedVideoChunkMetadata
+          , JSDOM.EncodedVideoChunkOutputCallback as GHCJS.DOM.EncodedVideoChunkOutputCallback
+          , JSDOM.Enums as GHCJS.DOM.Enums
+          , JSDOM.ErrorCallback as GHCJS.DOM.ErrorCallback
+          , JSDOM.ErrorEvent as GHCJS.DOM.ErrorEvent
+          , JSDOM.ErrorEventInit as GHCJS.DOM.ErrorEventInit
+          , JSDOM.Event as GHCJS.DOM.Event
+          , JSDOM.EventCounts as GHCJS.DOM.EventCounts
+          , JSDOM.EventInit as GHCJS.DOM.EventInit
+          , JSDOM.EventListenerOptions as GHCJS.DOM.EventListenerOptions
+          , JSDOM.EventModifierInit as GHCJS.DOM.EventModifierInit
+          , JSDOM.EventSource as GHCJS.DOM.EventSource
+          , JSDOM.EventSourceInit as GHCJS.DOM.EventSourceInit
+          , JSDOM.EventTarget as GHCJS.DOM.EventTarget
+          , JSDOM.ExtendableCookieChangeEvent as GHCJS.DOM.ExtendableCookieChangeEvent
+          , JSDOM.ExtendableCookieChangeEventInit as GHCJS.DOM.ExtendableCookieChangeEventInit
+          , JSDOM.ExtendableEvent as GHCJS.DOM.ExtendableEvent
+          , JSDOM.ExtendableEventInit as GHCJS.DOM.ExtendableEventInit
+          , JSDOM.ExtendableMessageEvent as GHCJS.DOM.ExtendableMessageEvent
+          , JSDOM.ExtendableMessageEventInit as GHCJS.DOM.ExtendableMessageEventInit
+          , JSDOM.External as GHCJS.DOM.External
+          , JSDOM.FederatedCredentialInit as GHCJS.DOM.FederatedCredentialInit
+          , JSDOM.FederatedCredentialRequestOptions as GHCJS.DOM.FederatedCredentialRequestOptions
+          , JSDOM.FetchEvent as GHCJS.DOM.FetchEvent
+          , JSDOM.FetchEventInit as GHCJS.DOM.FetchEventInit
+          , JSDOM.File as GHCJS.DOM.File
+          , JSDOM.FileCallback as GHCJS.DOM.FileCallback
+          , JSDOM.FileList as GHCJS.DOM.FileList
+          , JSDOM.FilePropertyBag as GHCJS.DOM.FilePropertyBag
+          , JSDOM.FileReader as GHCJS.DOM.FileReader
+          , JSDOM.FileReaderSync as GHCJS.DOM.FileReaderSync
+          , JSDOM.FileSystem as GHCJS.DOM.FileSystem
+          , JSDOM.FileSystemCreateWritableOptions as GHCJS.DOM.FileSystemCreateWritableOptions
+          , JSDOM.FileSystemDirectoryEntry as GHCJS.DOM.FileSystemDirectoryEntry
+          , JSDOM.FileSystemDirectoryHandle as GHCJS.DOM.FileSystemDirectoryHandle
+          , JSDOM.FileSystemDirectoryReader as GHCJS.DOM.FileSystemDirectoryReader
+          , JSDOM.FileSystemEntriesCallback as GHCJS.DOM.FileSystemEntriesCallback
+          , JSDOM.FileSystemEntry as GHCJS.DOM.FileSystemEntry
+          , JSDOM.FileSystemEntryCallback as GHCJS.DOM.FileSystemEntryCallback
+          , JSDOM.FileSystemFileEntry as GHCJS.DOM.FileSystemFileEntry
+          , JSDOM.FileSystemFileHandle as GHCJS.DOM.FileSystemFileHandle
+          , JSDOM.FileSystemFlags as GHCJS.DOM.FileSystemFlags
+          , JSDOM.FileSystemGetDirectoryOptions as GHCJS.DOM.FileSystemGetDirectoryOptions
+          , JSDOM.FileSystemGetFileOptions as GHCJS.DOM.FileSystemGetFileOptions
+          , JSDOM.FileSystemHandle as GHCJS.DOM.FileSystemHandle
+          , JSDOM.FileSystemReadWriteOptions as GHCJS.DOM.FileSystemReadWriteOptions
+          , JSDOM.FileSystemRemoveOptions as GHCJS.DOM.FileSystemRemoveOptions
+          , JSDOM.FileSystemSyncAccessHandle as GHCJS.DOM.FileSystemSyncAccessHandle
+          , JSDOM.FileSystemWritableFileStream as GHCJS.DOM.FileSystemWritableFileStream
+          , JSDOM.FlacEncoderConfig as GHCJS.DOM.FlacEncoderConfig
+          , JSDOM.FocusEvent as GHCJS.DOM.FocusEvent
+          , JSDOM.FocusEventInit as GHCJS.DOM.FocusEventInit
+          , JSDOM.FocusOptions as GHCJS.DOM.FocusOptions
+          , JSDOM.FontFace as GHCJS.DOM.FontFace
+          , JSDOM.FontFaceDescriptors as GHCJS.DOM.FontFaceDescriptors
+          , JSDOM.FontFaceSet as GHCJS.DOM.FontFaceSet
+          , JSDOM.FontFaceSetLoadEvent as GHCJS.DOM.FontFaceSetLoadEvent
+          , JSDOM.FontFaceSetLoadEventInit as GHCJS.DOM.FontFaceSetLoadEventInit
+          , JSDOM.FontFaceSource as GHCJS.DOM.FontFaceSource
+          , JSDOM.FormData as GHCJS.DOM.FormData
+          , JSDOM.FormDataEvent as GHCJS.DOM.FormDataEvent
+          , JSDOM.FormDataEventInit as GHCJS.DOM.FormDataEventInit
+          , JSDOM.FragmentDirective as GHCJS.DOM.FragmentDirective
+          , JSDOM.FrameRequestCallback as GHCJS.DOM.FrameRequestCallback
+          , JSDOM.FullscreenOptions as GHCJS.DOM.FullscreenOptions
+          , JSDOM.FunctionStringCallback as GHCJS.DOM.FunctionStringCallback
+          , JSDOM.GPU as GHCJS.DOM.GPU
+          , JSDOM.GPUAdapter as GHCJS.DOM.GPUAdapter
+          , JSDOM.GPUAdapterInfo as GHCJS.DOM.GPUAdapterInfo
+          , JSDOM.GPUBindGroup as GHCJS.DOM.GPUBindGroup
+          , JSDOM.GPUBindGroupDescriptor as GHCJS.DOM.GPUBindGroupDescriptor
+          , JSDOM.GPUBindGroupEntry as GHCJS.DOM.GPUBindGroupEntry
+          , JSDOM.GPUBindGroupLayout as GHCJS.DOM.GPUBindGroupLayout
+          , JSDOM.GPUBindGroupLayoutDescriptor as GHCJS.DOM.GPUBindGroupLayoutDescriptor
+          , JSDOM.GPUBindGroupLayoutEntry as GHCJS.DOM.GPUBindGroupLayoutEntry
+          , JSDOM.GPUBindingCommandsMixin as GHCJS.DOM.GPUBindingCommandsMixin
+          , JSDOM.GPUBlendComponent as GHCJS.DOM.GPUBlendComponent
+          , JSDOM.GPUBlendState as GHCJS.DOM.GPUBlendState
+          , JSDOM.GPUBuffer as GHCJS.DOM.GPUBuffer
+          , JSDOM.GPUBufferBinding as GHCJS.DOM.GPUBufferBinding
+          , JSDOM.GPUBufferBindingLayout as GHCJS.DOM.GPUBufferBindingLayout
+          , JSDOM.GPUBufferDescriptor as GHCJS.DOM.GPUBufferDescriptor
+          , JSDOM.GPUCanvasConfiguration as GHCJS.DOM.GPUCanvasConfiguration
+          , JSDOM.GPUCanvasContext as GHCJS.DOM.GPUCanvasContext
+          , JSDOM.GPUCanvasToneMapping as GHCJS.DOM.GPUCanvasToneMapping
+          , JSDOM.GPUColorDict as GHCJS.DOM.GPUColorDict
+          , JSDOM.GPUColorTargetState as GHCJS.DOM.GPUColorTargetState
+          , JSDOM.GPUCommandBuffer as GHCJS.DOM.GPUCommandBuffer
+          , JSDOM.GPUCommandBufferDescriptor as GHCJS.DOM.GPUCommandBufferDescriptor
+          , JSDOM.GPUCommandEncoder as GHCJS.DOM.GPUCommandEncoder
+          , JSDOM.GPUCommandEncoderDescriptor as GHCJS.DOM.GPUCommandEncoderDescriptor
+          , JSDOM.GPUCompilationInfo as GHCJS.DOM.GPUCompilationInfo
+          , JSDOM.GPUCompilationMessage as GHCJS.DOM.GPUCompilationMessage
+          , JSDOM.GPUComputePassDescriptor as GHCJS.DOM.GPUComputePassDescriptor
+          , JSDOM.GPUComputePassEncoder as GHCJS.DOM.GPUComputePassEncoder
+          , JSDOM.GPUComputePassTimestampWrites as GHCJS.DOM.GPUComputePassTimestampWrites
+          , JSDOM.GPUComputePipeline as GHCJS.DOM.GPUComputePipeline
+          , JSDOM.GPUComputePipelineDescriptor as GHCJS.DOM.GPUComputePipelineDescriptor
+          , JSDOM.GPUCopyExternalImageDestInfo as GHCJS.DOM.GPUCopyExternalImageDestInfo
+          , JSDOM.GPUCopyExternalImageSourceInfo as GHCJS.DOM.GPUCopyExternalImageSourceInfo
+          , JSDOM.GPUDebugCommandsMixin as GHCJS.DOM.GPUDebugCommandsMixin
+          , JSDOM.GPUDepthStencilState as GHCJS.DOM.GPUDepthStencilState
+          , JSDOM.GPUDevice as GHCJS.DOM.GPUDevice
+          , JSDOM.GPUDeviceDescriptor as GHCJS.DOM.GPUDeviceDescriptor
+          , JSDOM.GPUDeviceLostInfo as GHCJS.DOM.GPUDeviceLostInfo
+          , JSDOM.GPUError as GHCJS.DOM.GPUError
+          , JSDOM.GPUExtent3DDict as GHCJS.DOM.GPUExtent3DDict
+          , JSDOM.GPUExternalTexture as GHCJS.DOM.GPUExternalTexture
+          , JSDOM.GPUExternalTextureBindingLayout as GHCJS.DOM.GPUExternalTextureBindingLayout
+          , JSDOM.GPUExternalTextureDescriptor as GHCJS.DOM.GPUExternalTextureDescriptor
+          , JSDOM.GPUFragmentState as GHCJS.DOM.GPUFragmentState
+          , JSDOM.GPUInternalError as GHCJS.DOM.GPUInternalError
+          , JSDOM.GPUMultisampleState as GHCJS.DOM.GPUMultisampleState
+          , JSDOM.GPUObjectBase as GHCJS.DOM.GPUObjectBase
+          , JSDOM.GPUObjectDescriptorBase as GHCJS.DOM.GPUObjectDescriptorBase
+          , JSDOM.GPUOrigin2DDict as GHCJS.DOM.GPUOrigin2DDict
+          , JSDOM.GPUOrigin3DDict as GHCJS.DOM.GPUOrigin3DDict
+          , JSDOM.GPUOutOfMemoryError as GHCJS.DOM.GPUOutOfMemoryError
+          , JSDOM.GPUPipelineBase as GHCJS.DOM.GPUPipelineBase
+          , JSDOM.GPUPipelineDescriptorBase as GHCJS.DOM.GPUPipelineDescriptorBase
+          , JSDOM.GPUPipelineError as GHCJS.DOM.GPUPipelineError
+          , JSDOM.GPUPipelineErrorInit as GHCJS.DOM.GPUPipelineErrorInit
+          , JSDOM.GPUPipelineLayout as GHCJS.DOM.GPUPipelineLayout
+          , JSDOM.GPUPipelineLayoutDescriptor as GHCJS.DOM.GPUPipelineLayoutDescriptor
+          , JSDOM.GPUPrimitiveState as GHCJS.DOM.GPUPrimitiveState
+          , JSDOM.GPUProgrammableStage as GHCJS.DOM.GPUProgrammableStage
+          , JSDOM.GPUQuerySet as GHCJS.DOM.GPUQuerySet
+          , JSDOM.GPUQuerySetDescriptor as GHCJS.DOM.GPUQuerySetDescriptor
+          , JSDOM.GPUQueue as GHCJS.DOM.GPUQueue
+          , JSDOM.GPUQueueDescriptor as GHCJS.DOM.GPUQueueDescriptor
+          , JSDOM.GPURenderBundle as GHCJS.DOM.GPURenderBundle
+          , JSDOM.GPURenderBundleDescriptor as GHCJS.DOM.GPURenderBundleDescriptor
+          , JSDOM.GPURenderBundleEncoder as GHCJS.DOM.GPURenderBundleEncoder
+          , JSDOM.GPURenderBundleEncoderDescriptor as GHCJS.DOM.GPURenderBundleEncoderDescriptor
+          , JSDOM.GPURenderCommandsMixin as GHCJS.DOM.GPURenderCommandsMixin
+          , JSDOM.GPURenderPassColorAttachment as GHCJS.DOM.GPURenderPassColorAttachment
+          , JSDOM.GPURenderPassDepthStencilAttachment as GHCJS.DOM.GPURenderPassDepthStencilAttachment
+          , JSDOM.GPURenderPassDescriptor as GHCJS.DOM.GPURenderPassDescriptor
+          , JSDOM.GPURenderPassEncoder as GHCJS.DOM.GPURenderPassEncoder
+          , JSDOM.GPURenderPassLayout as GHCJS.DOM.GPURenderPassLayout
+          , JSDOM.GPURenderPassTimestampWrites as GHCJS.DOM.GPURenderPassTimestampWrites
+          , JSDOM.GPURenderPipeline as GHCJS.DOM.GPURenderPipeline
+          , JSDOM.GPURenderPipelineDescriptor as GHCJS.DOM.GPURenderPipelineDescriptor
+          , JSDOM.GPURequestAdapterOptions as GHCJS.DOM.GPURequestAdapterOptions
+          , JSDOM.GPUSampler as GHCJS.DOM.GPUSampler
+          , JSDOM.GPUSamplerBindingLayout as GHCJS.DOM.GPUSamplerBindingLayout
+          , JSDOM.GPUSamplerDescriptor as GHCJS.DOM.GPUSamplerDescriptor
+          , JSDOM.GPUShaderModule as GHCJS.DOM.GPUShaderModule
+          , JSDOM.GPUShaderModuleCompilationHint as GHCJS.DOM.GPUShaderModuleCompilationHint
+          , JSDOM.GPUShaderModuleDescriptor as GHCJS.DOM.GPUShaderModuleDescriptor
+          , JSDOM.GPUStencilFaceState as GHCJS.DOM.GPUStencilFaceState
+          , JSDOM.GPUStorageTextureBindingLayout as GHCJS.DOM.GPUStorageTextureBindingLayout
+          , JSDOM.GPUSupportedFeatures as GHCJS.DOM.GPUSupportedFeatures
+          , JSDOM.GPUSupportedLimits as GHCJS.DOM.GPUSupportedLimits
+          , JSDOM.GPUTexelCopyBufferInfo as GHCJS.DOM.GPUTexelCopyBufferInfo
+          , JSDOM.GPUTexelCopyBufferLayout as GHCJS.DOM.GPUTexelCopyBufferLayout
+          , JSDOM.GPUTexelCopyTextureInfo as GHCJS.DOM.GPUTexelCopyTextureInfo
+          , JSDOM.GPUTexture as GHCJS.DOM.GPUTexture
+          , JSDOM.GPUTextureBindingLayout as GHCJS.DOM.GPUTextureBindingLayout
+          , JSDOM.GPUTextureDescriptor as GHCJS.DOM.GPUTextureDescriptor
+          , JSDOM.GPUTextureView as GHCJS.DOM.GPUTextureView
+          , JSDOM.GPUTextureViewDescriptor as GHCJS.DOM.GPUTextureViewDescriptor
+          , JSDOM.GPUUncapturedErrorEvent as GHCJS.DOM.GPUUncapturedErrorEvent
+          , JSDOM.GPUUncapturedErrorEventInit as GHCJS.DOM.GPUUncapturedErrorEventInit
+          , JSDOM.GPUValidationError as GHCJS.DOM.GPUValidationError
+          , JSDOM.GPUVertexAttribute as GHCJS.DOM.GPUVertexAttribute
+          , JSDOM.GPUVertexBufferLayout as GHCJS.DOM.GPUVertexBufferLayout
+          , JSDOM.GPUVertexState as GHCJS.DOM.GPUVertexState
+          , JSDOM.GainNode as GHCJS.DOM.GainNode
+          , JSDOM.GainOptions as GHCJS.DOM.GainOptions
+          , JSDOM.Gamepad as GHCJS.DOM.Gamepad
+          , JSDOM.GamepadButton as GHCJS.DOM.GamepadButton
+          , JSDOM.GamepadEffectParameters as GHCJS.DOM.GamepadEffectParameters
+          , JSDOM.GamepadEvent as GHCJS.DOM.GamepadEvent
+          , JSDOM.GamepadEventInit as GHCJS.DOM.GamepadEventInit
+          , JSDOM.GamepadHapticActuator as GHCJS.DOM.GamepadHapticActuator
+          , JSDOM.GenericTransformStream as GHCJS.DOM.GenericTransformStream
+          , JSDOM.Geolocation as GHCJS.DOM.Geolocation
+          , JSDOM.GeolocationCoordinates as GHCJS.DOM.GeolocationCoordinates
+          , JSDOM.GeolocationPosition as GHCJS.DOM.GeolocationPosition
+          , JSDOM.GeolocationPositionError as GHCJS.DOM.GeolocationPositionError
+          , JSDOM.GetAnimationsOptions as GHCJS.DOM.GetAnimationsOptions
+          , JSDOM.GetComposedRangesOptions as GHCJS.DOM.GetComposedRangesOptions
+          , JSDOM.GetHTMLOptions as GHCJS.DOM.GetHTMLOptions
+          , JSDOM.GetNotificationOptions as GHCJS.DOM.GetNotificationOptions
+          , JSDOM.GetRootNodeOptions as GHCJS.DOM.GetRootNodeOptions
+          , JSDOM.GlobalEventHandlers as GHCJS.DOM.GlobalEventHandlers
+          , JSDOM.HMACGetSecretInput as GHCJS.DOM.HMACGetSecretInput
+          , JSDOM.HMACGetSecretOutput as GHCJS.DOM.HMACGetSecretOutput
+          , JSDOM.HTMLAllCollection as GHCJS.DOM.HTMLAllCollection
+          , JSDOM.HTMLAnchorElement as GHCJS.DOM.HTMLAnchorElement
+          , JSDOM.HTMLAreaElement as GHCJS.DOM.HTMLAreaElement
+          , JSDOM.HTMLAudioElement as GHCJS.DOM.HTMLAudioElement
+          , JSDOM.HTMLBRElement as GHCJS.DOM.HTMLBRElement
+          , JSDOM.HTMLBaseElement as GHCJS.DOM.HTMLBaseElement
+          , JSDOM.HTMLBodyElement as GHCJS.DOM.HTMLBodyElement
+          , JSDOM.HTMLButtonElement as GHCJS.DOM.HTMLButtonElement
+          , JSDOM.HTMLCanvasElement as GHCJS.DOM.HTMLCanvasElement
+          , JSDOM.HTMLCollection as GHCJS.DOM.HTMLCollection
+          , JSDOM.HTMLDListElement as GHCJS.DOM.HTMLDListElement
+          , JSDOM.HTMLDataElement as GHCJS.DOM.HTMLDataElement
+          , JSDOM.HTMLDataListElement as GHCJS.DOM.HTMLDataListElement
+          , JSDOM.HTMLDetailsElement as GHCJS.DOM.HTMLDetailsElement
+          , JSDOM.HTMLDialogElement as GHCJS.DOM.HTMLDialogElement
+          , JSDOM.HTMLDirectoryElement as GHCJS.DOM.HTMLDirectoryElement
+          , JSDOM.HTMLDivElement as GHCJS.DOM.HTMLDivElement
+          , JSDOM.HTMLElement as GHCJS.DOM.HTMLElement
+          , JSDOM.HTMLEmbedElement as GHCJS.DOM.HTMLEmbedElement
+          , JSDOM.HTMLFieldSetElement as GHCJS.DOM.HTMLFieldSetElement
+          , JSDOM.HTMLFontElement as GHCJS.DOM.HTMLFontElement
+          , JSDOM.HTMLFormControlsCollection as GHCJS.DOM.HTMLFormControlsCollection
+          , JSDOM.HTMLFormElement as GHCJS.DOM.HTMLFormElement
+          , JSDOM.HTMLFrameElement as GHCJS.DOM.HTMLFrameElement
+          , JSDOM.HTMLFrameSetElement as GHCJS.DOM.HTMLFrameSetElement
+          , JSDOM.HTMLHRElement as GHCJS.DOM.HTMLHRElement
+          , JSDOM.HTMLHeadElement as GHCJS.DOM.HTMLHeadElement
+          , JSDOM.HTMLHeadingElement as GHCJS.DOM.HTMLHeadingElement
+          , JSDOM.HTMLHtmlElement as GHCJS.DOM.HTMLHtmlElement
+          , JSDOM.HTMLHyperlinkElementUtils as GHCJS.DOM.HTMLHyperlinkElementUtils
+          , JSDOM.HTMLIFrameElement as GHCJS.DOM.HTMLIFrameElement
+          , JSDOM.HTMLImageElement as GHCJS.DOM.HTMLImageElement
+          , JSDOM.HTMLInputElement as GHCJS.DOM.HTMLInputElement
+          , JSDOM.HTMLLIElement as GHCJS.DOM.HTMLLIElement
+          , JSDOM.HTMLLabelElement as GHCJS.DOM.HTMLLabelElement
+          , JSDOM.HTMLLegendElement as GHCJS.DOM.HTMLLegendElement
+          , JSDOM.HTMLLinkElement as GHCJS.DOM.HTMLLinkElement
+          , JSDOM.HTMLMapElement as GHCJS.DOM.HTMLMapElement
+          , JSDOM.HTMLMarqueeElement as GHCJS.DOM.HTMLMarqueeElement
+          , JSDOM.HTMLMediaElement as GHCJS.DOM.HTMLMediaElement
+          , JSDOM.HTMLMenuElement as GHCJS.DOM.HTMLMenuElement
+          , JSDOM.HTMLMetaElement as GHCJS.DOM.HTMLMetaElement
+          , JSDOM.HTMLMeterElement as GHCJS.DOM.HTMLMeterElement
+          , JSDOM.HTMLModElement as GHCJS.DOM.HTMLModElement
+          , JSDOM.HTMLOListElement as GHCJS.DOM.HTMLOListElement
+          , JSDOM.HTMLObjectElement as GHCJS.DOM.HTMLObjectElement
+          , JSDOM.HTMLOptGroupElement as GHCJS.DOM.HTMLOptGroupElement
+          , JSDOM.HTMLOptionElement as GHCJS.DOM.HTMLOptionElement
+          , JSDOM.HTMLOptionsCollection as GHCJS.DOM.HTMLOptionsCollection
+          , JSDOM.HTMLOrSVGOrMathMLElement as GHCJS.DOM.HTMLOrSVGOrMathMLElement
+          , JSDOM.HTMLOutputElement as GHCJS.DOM.HTMLOutputElement
+          , JSDOM.HTMLParagraphElement as GHCJS.DOM.HTMLParagraphElement
+          , JSDOM.HTMLParamElement as GHCJS.DOM.HTMLParamElement
+          , JSDOM.HTMLPictureElement as GHCJS.DOM.HTMLPictureElement
+          , JSDOM.HTMLPreElement as GHCJS.DOM.HTMLPreElement
+          , JSDOM.HTMLProgressElement as GHCJS.DOM.HTMLProgressElement
+          , JSDOM.HTMLQuoteElement as GHCJS.DOM.HTMLQuoteElement
+          , JSDOM.HTMLScriptElement as GHCJS.DOM.HTMLScriptElement
+          , JSDOM.HTMLSelectElement as GHCJS.DOM.HTMLSelectElement
+          , JSDOM.HTMLSelectedContentElement as GHCJS.DOM.HTMLSelectedContentElement
+          , JSDOM.HTMLSlotElement as GHCJS.DOM.HTMLSlotElement
+          , JSDOM.HTMLSourceElement as GHCJS.DOM.HTMLSourceElement
+          , JSDOM.HTMLSpanElement as GHCJS.DOM.HTMLSpanElement
+          , JSDOM.HTMLStyleElement as GHCJS.DOM.HTMLStyleElement
+          , JSDOM.HTMLTableCaptionElement as GHCJS.DOM.HTMLTableCaptionElement
+          , JSDOM.HTMLTableCellElement as GHCJS.DOM.HTMLTableCellElement
+          , JSDOM.HTMLTableColElement as GHCJS.DOM.HTMLTableColElement
+          , JSDOM.HTMLTableElement as GHCJS.DOM.HTMLTableElement
+          , JSDOM.HTMLTableRowElement as GHCJS.DOM.HTMLTableRowElement
+          , JSDOM.HTMLTableSectionElement as GHCJS.DOM.HTMLTableSectionElement
+          , JSDOM.HTMLTemplateElement as GHCJS.DOM.HTMLTemplateElement
+          , JSDOM.HTMLTextAreaElement as GHCJS.DOM.HTMLTextAreaElement
+          , JSDOM.HTMLTimeElement as GHCJS.DOM.HTMLTimeElement
+          , JSDOM.HTMLTitleElement as GHCJS.DOM.HTMLTitleElement
+          , JSDOM.HTMLTrackElement as GHCJS.DOM.HTMLTrackElement
+          , JSDOM.HTMLUListElement as GHCJS.DOM.HTMLUListElement
+          , JSDOM.HTMLUnknownElement as GHCJS.DOM.HTMLUnknownElement
+          , JSDOM.HTMLVideoElement as GHCJS.DOM.HTMLVideoElement
+          , JSDOM.HashChangeEvent as GHCJS.DOM.HashChangeEvent
+          , JSDOM.HashChangeEventInit as GHCJS.DOM.HashChangeEventInit
+          , JSDOM.Headers as GHCJS.DOM.Headers
+          , JSDOM.HevcEncoderConfig as GHCJS.DOM.HevcEncoderConfig
+          , JSDOM.Highlight as GHCJS.DOM.Highlight
+          , JSDOM.HighlightHitResult as GHCJS.DOM.HighlightHitResult
+          , JSDOM.HighlightRegistry as GHCJS.DOM.HighlightRegistry
+          , JSDOM.HighlightsFromPointOptions as GHCJS.DOM.HighlightsFromPointOptions
+          , JSDOM.History as GHCJS.DOM.History
+          , JSDOM.HyperlinkElementUtils as GHCJS.DOM.HyperlinkElementUtils
+          , JSDOM.IDBCursor as GHCJS.DOM.IDBCursor
+          , JSDOM.IDBCursorWithValue as GHCJS.DOM.IDBCursorWithValue
+          , JSDOM.IDBDatabase as GHCJS.DOM.IDBDatabase
+          , JSDOM.IDBDatabaseInfo as GHCJS.DOM.IDBDatabaseInfo
+          , JSDOM.IDBFactory as GHCJS.DOM.IDBFactory
+          , JSDOM.IDBGetAllOptions as GHCJS.DOM.IDBGetAllOptions
+          , JSDOM.IDBIndex as GHCJS.DOM.IDBIndex
+          , JSDOM.IDBIndexParameters as GHCJS.DOM.IDBIndexParameters
+          , JSDOM.IDBKeyRange as GHCJS.DOM.IDBKeyRange
+          , JSDOM.IDBObjectStore as GHCJS.DOM.IDBObjectStore
+          , JSDOM.IDBObjectStoreParameters as GHCJS.DOM.IDBObjectStoreParameters
+          , JSDOM.IDBOpenDBRequest as GHCJS.DOM.IDBOpenDBRequest
+          , JSDOM.IDBRecord as GHCJS.DOM.IDBRecord
+          , JSDOM.IDBRequest as GHCJS.DOM.IDBRequest
+          , JSDOM.IDBTransaction as GHCJS.DOM.IDBTransaction
+          , JSDOM.IDBTransactionOptions as GHCJS.DOM.IDBTransactionOptions
+          , JSDOM.IDBVersionChangeEvent as GHCJS.DOM.IDBVersionChangeEvent
+          , JSDOM.IDBVersionChangeEventInit as GHCJS.DOM.IDBVersionChangeEventInit
+          , JSDOM.IIRFilterNode as GHCJS.DOM.IIRFilterNode
+          , JSDOM.IIRFilterOptions as GHCJS.DOM.IIRFilterOptions
+          , JSDOM.IdentityCredentialRequestOptions as GHCJS.DOM.IdentityCredentialRequestOptions
+          , JSDOM.IdentityProviderConfig as GHCJS.DOM.IdentityProviderConfig
+          , JSDOM.IdentityProviderRequestOptions as GHCJS.DOM.IdentityProviderRequestOptions
+          , JSDOM.IdleDeadline as GHCJS.DOM.IdleDeadline
+          , JSDOM.IdleRequestCallback as GHCJS.DOM.IdleRequestCallback
+          , JSDOM.IdleRequestOptions as GHCJS.DOM.IdleRequestOptions
+          , JSDOM.ImageBitmap as GHCJS.DOM.ImageBitmap
+          , JSDOM.ImageBitmapRenderingContext as GHCJS.DOM.ImageBitmapRenderingContext
+          , JSDOM.ImageCapture as GHCJS.DOM.ImageCapture
+          , JSDOM.ImageData as GHCJS.DOM.ImageData
+          , JSDOM.ImageDataSettings as GHCJS.DOM.ImageDataSettings
+          , JSDOM.ImageDecodeOptions as GHCJS.DOM.ImageDecodeOptions
+          , JSDOM.ImageDecodeResult as GHCJS.DOM.ImageDecodeResult
+          , JSDOM.ImageDecoder as GHCJS.DOM.ImageDecoder
+          , JSDOM.ImageDecoderInit as GHCJS.DOM.ImageDecoderInit
+          , JSDOM.ImageEncodeOptions as GHCJS.DOM.ImageEncodeOptions
+          , JSDOM.ImageTrack as GHCJS.DOM.ImageTrack
+          , JSDOM.ImageTrackList as GHCJS.DOM.ImageTrackList
+          , JSDOM.ImportNodeOptions as GHCJS.DOM.ImportNodeOptions
+          , JSDOM.InputDeviceCapabilities as GHCJS.DOM.InputDeviceCapabilities
+          , JSDOM.InputDeviceInfo as GHCJS.DOM.InputDeviceInfo
+          , JSDOM.InputEvent as GHCJS.DOM.InputEvent
+          , JSDOM.InputEventInit as GHCJS.DOM.InputEventInit
+          , JSDOM.InstallEvent as GHCJS.DOM.InstallEvent
+          , JSDOM.IntersectionObserver as GHCJS.DOM.IntersectionObserver
+          , JSDOM.IntersectionObserverCallback as GHCJS.DOM.IntersectionObserverCallback
+          , JSDOM.IntersectionObserverEntry as GHCJS.DOM.IntersectionObserverEntry
+          , JSDOM.IntersectionObserverEntryInit as GHCJS.DOM.IntersectionObserverEntryInit
+          , JSDOM.IntersectionObserverInit as GHCJS.DOM.IntersectionObserverInit
+          , JSDOM.JsonWebKey as GHCJS.DOM.JsonWebKey
+          , JSDOM.KHR_parallel_shader_compile as GHCJS.DOM.KHR_parallel_shader_compile
+          , JSDOM.KeySystemTrackConfiguration as GHCJS.DOM.KeySystemTrackConfiguration
+          , JSDOM.KeyboardEvent as GHCJS.DOM.KeyboardEvent
+          , JSDOM.KeyboardEventInit as GHCJS.DOM.KeyboardEventInit
+          , JSDOM.KeyframeAnimationOptions as GHCJS.DOM.KeyframeAnimationOptions
+          , JSDOM.KeyframeEffect as GHCJS.DOM.KeyframeEffect
+          , JSDOM.KeyframeEffectOptions as GHCJS.DOM.KeyframeEffectOptions
+          , JSDOM.LargestContentfulPaint as GHCJS.DOM.LargestContentfulPaint
+          , JSDOM.LinkStyle as GHCJS.DOM.LinkStyle
+          , JSDOM.Location as GHCJS.DOM.Location
+          , JSDOM.Lock as GHCJS.DOM.Lock
+          , JSDOM.LockGrantedCallback as GHCJS.DOM.LockGrantedCallback
+          , JSDOM.LockInfo as GHCJS.DOM.LockInfo
+          , JSDOM.LockManager as GHCJS.DOM.LockManager
+          , JSDOM.LockManagerSnapshot as GHCJS.DOM.LockManagerSnapshot
+          , JSDOM.LockOptions as GHCJS.DOM.LockOptions
+          , JSDOM.MIDIAccess as GHCJS.DOM.MIDIAccess
+          , JSDOM.MIDIConnectionEvent as GHCJS.DOM.MIDIConnectionEvent
+          , JSDOM.MIDIConnectionEventInit as GHCJS.DOM.MIDIConnectionEventInit
+          , JSDOM.MIDIInput as GHCJS.DOM.MIDIInput
+          , JSDOM.MIDIInputMap as GHCJS.DOM.MIDIInputMap
+          , JSDOM.MIDIMessageEvent as GHCJS.DOM.MIDIMessageEvent
+          , JSDOM.MIDIMessageEventInit as GHCJS.DOM.MIDIMessageEventInit
+          , JSDOM.MIDIOptions as GHCJS.DOM.MIDIOptions
+          , JSDOM.MIDIOutput as GHCJS.DOM.MIDIOutput
+          , JSDOM.MIDIOutputMap as GHCJS.DOM.MIDIOutputMap
+          , JSDOM.MIDIPort as GHCJS.DOM.MIDIPort
+          , JSDOM.MathMLElement as GHCJS.DOM.MathMLElement
+          , JSDOM.MediaCapabilities as GHCJS.DOM.MediaCapabilities
+          , JSDOM.MediaCapabilitiesDecodingInfo as GHCJS.DOM.MediaCapabilitiesDecodingInfo
+          , JSDOM.MediaCapabilitiesEncodingInfo as GHCJS.DOM.MediaCapabilitiesEncodingInfo
+          , JSDOM.MediaCapabilitiesInfo as GHCJS.DOM.MediaCapabilitiesInfo
+          , JSDOM.MediaCapabilitiesKeySystemConfiguration as GHCJS.DOM.MediaCapabilitiesKeySystemConfiguration
+          , JSDOM.MediaConfiguration as GHCJS.DOM.MediaConfiguration
+          , JSDOM.MediaDecodingConfiguration as GHCJS.DOM.MediaDecodingConfiguration
+          , JSDOM.MediaDeviceInfo as GHCJS.DOM.MediaDeviceInfo
+          , JSDOM.MediaDevices as GHCJS.DOM.MediaDevices
+          , JSDOM.MediaEffectInfo as GHCJS.DOM.MediaEffectInfo
+          , JSDOM.MediaElementAudioSourceNode as GHCJS.DOM.MediaElementAudioSourceNode
+          , JSDOM.MediaElementAudioSourceOptions as GHCJS.DOM.MediaElementAudioSourceOptions
+          , JSDOM.MediaEncodingConfiguration as GHCJS.DOM.MediaEncodingConfiguration
+          , JSDOM.MediaEncryptedEvent as GHCJS.DOM.MediaEncryptedEvent
+          , JSDOM.MediaEncryptedEventInit as GHCJS.DOM.MediaEncryptedEventInit
+          , JSDOM.MediaError as GHCJS.DOM.MediaError
+          , JSDOM.MediaImage as GHCJS.DOM.MediaImage
+          , JSDOM.MediaKeyMessageEvent as GHCJS.DOM.MediaKeyMessageEvent
+          , JSDOM.MediaKeyMessageEventInit as GHCJS.DOM.MediaKeyMessageEventInit
+          , JSDOM.MediaKeySession as GHCJS.DOM.MediaKeySession
+          , JSDOM.MediaKeyStatusMap as GHCJS.DOM.MediaKeyStatusMap
+          , JSDOM.MediaKeySystemAccess as GHCJS.DOM.MediaKeySystemAccess
+          , JSDOM.MediaKeySystemConfiguration as GHCJS.DOM.MediaKeySystemConfiguration
+          , JSDOM.MediaKeySystemMediaCapability as GHCJS.DOM.MediaKeySystemMediaCapability
+          , JSDOM.MediaKeys as GHCJS.DOM.MediaKeys
+          , JSDOM.MediaKeysPolicy as GHCJS.DOM.MediaKeysPolicy
+          , JSDOM.MediaList as GHCJS.DOM.MediaList
+          , JSDOM.MediaMetadata as GHCJS.DOM.MediaMetadata
+          , JSDOM.MediaMetadataInit as GHCJS.DOM.MediaMetadataInit
+          , JSDOM.MediaPositionState as GHCJS.DOM.MediaPositionState
+          , JSDOM.MediaQueryList as GHCJS.DOM.MediaQueryList
+          , JSDOM.MediaQueryListEvent as GHCJS.DOM.MediaQueryListEvent
+          , JSDOM.MediaQueryListEventInit as GHCJS.DOM.MediaQueryListEventInit
+          , JSDOM.MediaRecorder as GHCJS.DOM.MediaRecorder
+          , JSDOM.MediaRecorderOptions as GHCJS.DOM.MediaRecorderOptions
+          , JSDOM.MediaSession as GHCJS.DOM.MediaSession
+          , JSDOM.MediaSessionActionDetails as GHCJS.DOM.MediaSessionActionDetails
+          , JSDOM.MediaSessionActionHandler as GHCJS.DOM.MediaSessionActionHandler
+          , JSDOM.MediaSettingsRange as GHCJS.DOM.MediaSettingsRange
+          , JSDOM.MediaSource as GHCJS.DOM.MediaSource
+          , JSDOM.MediaSourceHandle as GHCJS.DOM.MediaSourceHandle
+          , JSDOM.MediaStream as GHCJS.DOM.MediaStream
+          , JSDOM.MediaStreamAudioDestinationNode as GHCJS.DOM.MediaStreamAudioDestinationNode
+          , JSDOM.MediaStreamAudioSourceNode as GHCJS.DOM.MediaStreamAudioSourceNode
+          , JSDOM.MediaStreamAudioSourceOptions as GHCJS.DOM.MediaStreamAudioSourceOptions
+          , JSDOM.MediaStreamConstraints as GHCJS.DOM.MediaStreamConstraints
+          , JSDOM.MediaStreamTrack as GHCJS.DOM.MediaStreamTrack
+          , JSDOM.MediaStreamTrackEvent as GHCJS.DOM.MediaStreamTrackEvent
+          , JSDOM.MediaStreamTrackEventInit as GHCJS.DOM.MediaStreamTrackEventInit
+          , JSDOM.MediaStreamTrackHandle as GHCJS.DOM.MediaStreamTrackHandle
+          , JSDOM.MediaStreamTrackProcessor as GHCJS.DOM.MediaStreamTrackProcessor
+          , JSDOM.MediaStreamTrackProcessorInit as GHCJS.DOM.MediaStreamTrackProcessorInit
+          , JSDOM.MediaTrackCapabilities as GHCJS.DOM.MediaTrackCapabilities
+          , JSDOM.MediaTrackConstraintSet as GHCJS.DOM.MediaTrackConstraintSet
+          , JSDOM.MediaTrackConstraints as GHCJS.DOM.MediaTrackConstraints
+          , JSDOM.MediaTrackSettings as GHCJS.DOM.MediaTrackSettings
+          , JSDOM.MediaTrackSupportedConstraints as GHCJS.DOM.MediaTrackSupportedConstraints
+          , JSDOM.MessageChannel as GHCJS.DOM.MessageChannel
+          , JSDOM.MessageEvent as GHCJS.DOM.MessageEvent
+          , JSDOM.MessageEventInit as GHCJS.DOM.MessageEventInit
+          , JSDOM.MessageEventTarget as GHCJS.DOM.MessageEventTarget
+          , JSDOM.MessagePort as GHCJS.DOM.MessagePort
+          , JSDOM.MimeType as GHCJS.DOM.MimeType
+          , JSDOM.MimeTypeArray as GHCJS.DOM.MimeTypeArray
+          , JSDOM.MouseEvent as GHCJS.DOM.MouseEvent
+          , JSDOM.MouseEventInit as GHCJS.DOM.MouseEventInit
+          , JSDOM.MultiCacheQueryOptions as GHCJS.DOM.MultiCacheQueryOptions
+          , JSDOM.MutationCallback as GHCJS.DOM.MutationCallback
+          , JSDOM.MutationObserver as GHCJS.DOM.MutationObserver
+          , JSDOM.MutationObserverInit as GHCJS.DOM.MutationObserverInit
+          , JSDOM.MutationRecord as GHCJS.DOM.MutationRecord
+          , JSDOM.NamedNodeMap as GHCJS.DOM.NamedNodeMap
+          , JSDOM.NavigateEvent as GHCJS.DOM.NavigateEvent
+          , JSDOM.NavigateEventInit as GHCJS.DOM.NavigateEventInit
+          , JSDOM.Navigation as GHCJS.DOM.Navigation
+          , JSDOM.NavigationActivation as GHCJS.DOM.NavigationActivation
+          , JSDOM.NavigationCurrentEntryChangeEvent as GHCJS.DOM.NavigationCurrentEntryChangeEvent
+          , JSDOM.NavigationCurrentEntryChangeEventInit as GHCJS.DOM.NavigationCurrentEntryChangeEventInit
+          , JSDOM.NavigationDestination as GHCJS.DOM.NavigationDestination
+          , JSDOM.NavigationEvent as GHCJS.DOM.NavigationEvent
+          , JSDOM.NavigationHistoryEntry as GHCJS.DOM.NavigationHistoryEntry
+          , JSDOM.NavigationInterceptHandler as GHCJS.DOM.NavigationInterceptHandler
+          , JSDOM.NavigationInterceptOptions as GHCJS.DOM.NavigationInterceptOptions
+          , JSDOM.NavigationNavigateOptions as GHCJS.DOM.NavigationNavigateOptions
+          , JSDOM.NavigationOptions as GHCJS.DOM.NavigationOptions
+          , JSDOM.NavigationPrecommitController as GHCJS.DOM.NavigationPrecommitController
+          , JSDOM.NavigationPrecommitHandler as GHCJS.DOM.NavigationPrecommitHandler
+          , JSDOM.NavigationPreloadManager as GHCJS.DOM.NavigationPreloadManager
+          , JSDOM.NavigationPreloadState as GHCJS.DOM.NavigationPreloadState
+          , JSDOM.NavigationReloadOptions as GHCJS.DOM.NavigationReloadOptions
+          , JSDOM.NavigationResult as GHCJS.DOM.NavigationResult
+          , JSDOM.NavigationTransition as GHCJS.DOM.NavigationTransition
+          , JSDOM.NavigationUpdateCurrentEntryOptions as GHCJS.DOM.NavigationUpdateCurrentEntryOptions
+          , JSDOM.Navigator as GHCJS.DOM.Navigator
+          , JSDOM.NavigatorAutomationInformation as GHCJS.DOM.NavigatorAutomationInformation
+          , JSDOM.NavigatorBadge as GHCJS.DOM.NavigatorBadge
+          , JSDOM.NavigatorConcurrentHardware as GHCJS.DOM.NavigatorConcurrentHardware
+          , JSDOM.NavigatorContentUtils as GHCJS.DOM.NavigatorContentUtils
+          , JSDOM.NavigatorCookies as GHCJS.DOM.NavigatorCookies
+          , JSDOM.NavigatorGPU as GHCJS.DOM.NavigatorGPU
+          , JSDOM.NavigatorID as GHCJS.DOM.NavigatorID
+          , JSDOM.NavigatorLanguage as GHCJS.DOM.NavigatorLanguage
+          , JSDOM.NavigatorLocks as GHCJS.DOM.NavigatorLocks
+          , JSDOM.NavigatorLogin as GHCJS.DOM.NavigatorLogin
+          , JSDOM.NavigatorOnLine as GHCJS.DOM.NavigatorOnLine
+          , JSDOM.NavigatorPlugins as GHCJS.DOM.NavigatorPlugins
+          , JSDOM.NavigatorStorage as GHCJS.DOM.NavigatorStorage
+          , JSDOM.Node as GHCJS.DOM.Node
+          , JSDOM.NodeFilter as GHCJS.DOM.NodeFilter
+          , JSDOM.NodeIterator as GHCJS.DOM.NodeIterator
+          , JSDOM.NodeList as GHCJS.DOM.NodeList
+          , JSDOM.NonDocumentTypeChildNode as GHCJS.DOM.NonDocumentTypeChildNode
+          , JSDOM.NonElementParentNode as GHCJS.DOM.NonElementParentNode
+          , JSDOM.Notification as GHCJS.DOM.Notification
+          , JSDOM.NotificationAction as GHCJS.DOM.NotificationAction
+          , JSDOM.NotificationEvent as GHCJS.DOM.NotificationEvent
+          , JSDOM.NotificationEventInit as GHCJS.DOM.NotificationEventInit
+          , JSDOM.NotificationOptions as GHCJS.DOM.NotificationOptions
+          , JSDOM.NotificationPermissionCallback as GHCJS.DOM.NotificationPermissionCallback
+          , JSDOM.OES_draw_buffers_indexed as GHCJS.DOM.OES_draw_buffers_indexed
+          , JSDOM.OES_element_index_uint as GHCJS.DOM.OES_element_index_uint
+          , JSDOM.OES_fbo_render_mipmap as GHCJS.DOM.OES_fbo_render_mipmap
+          , JSDOM.OES_standard_derivatives as GHCJS.DOM.OES_standard_derivatives
+          , JSDOM.OES_texture_float as GHCJS.DOM.OES_texture_float
+          , JSDOM.OES_texture_float_linear as GHCJS.DOM.OES_texture_float_linear
+          , JSDOM.OES_texture_half_float as GHCJS.DOM.OES_texture_half_float
+          , JSDOM.OES_texture_half_float_linear as GHCJS.DOM.OES_texture_half_float_linear
+          , JSDOM.OES_vertex_array_object as GHCJS.DOM.OES_vertex_array_object
+          , JSDOM.OTPCredentialRequestOptions as GHCJS.DOM.OTPCredentialRequestOptions
+          , JSDOM.OVR_multiview2 as GHCJS.DOM.OVR_multiview2
+          , JSDOM.OfflineAudioCompletionEvent as GHCJS.DOM.OfflineAudioCompletionEvent
+          , JSDOM.OfflineAudioCompletionEventInit as GHCJS.DOM.OfflineAudioCompletionEventInit
+          , JSDOM.OfflineAudioContext as GHCJS.DOM.OfflineAudioContext
+          , JSDOM.OfflineAudioContextOptions as GHCJS.DOM.OfflineAudioContextOptions
+          , JSDOM.OffscreenCanvas as GHCJS.DOM.OffscreenCanvas
+          , JSDOM.OffscreenCanvasRenderingContext2D as GHCJS.DOM.OffscreenCanvasRenderingContext2D
+          , JSDOM.OptionalEffectTiming as GHCJS.DOM.OptionalEffectTiming
+          , JSDOM.OpusEncoderConfig as GHCJS.DOM.OpusEncoderConfig
+          , JSDOM.Origin as GHCJS.DOM.Origin
+          , JSDOM.OscillatorNode as GHCJS.DOM.OscillatorNode
+          , JSDOM.OscillatorOptions as GHCJS.DOM.OscillatorOptions
+          , JSDOM.OverconstrainedError as GHCJS.DOM.OverconstrainedError
+          , JSDOM.PageRevealEvent as GHCJS.DOM.PageRevealEvent
+          , JSDOM.PageRevealEventInit as GHCJS.DOM.PageRevealEventInit
+          , JSDOM.PageSwapEvent as GHCJS.DOM.PageSwapEvent
+          , JSDOM.PageSwapEventInit as GHCJS.DOM.PageSwapEventInit
+          , JSDOM.PageTransitionEvent as GHCJS.DOM.PageTransitionEvent
+          , JSDOM.PageTransitionEventInit as GHCJS.DOM.PageTransitionEventInit
+          , JSDOM.PaintTimingMixin as GHCJS.DOM.PaintTimingMixin
+          , JSDOM.PannerNode as GHCJS.DOM.PannerNode
+          , JSDOM.PannerOptions as GHCJS.DOM.PannerOptions
+          , JSDOM.ParentNode as GHCJS.DOM.ParentNode
+          , JSDOM.ParseHTMLUnsafeOptions as GHCJS.DOM.ParseHTMLUnsafeOptions
+          , JSDOM.PasswordCredential as GHCJS.DOM.PasswordCredential
+          , JSDOM.PasswordCredentialData as GHCJS.DOM.PasswordCredentialData
+          , JSDOM.Path2D as GHCJS.DOM.Path2D
+          , JSDOM.PayerErrors as GHCJS.DOM.PayerErrors
+          , JSDOM.PaymentCompleteDetails as GHCJS.DOM.PaymentCompleteDetails
+          , JSDOM.PaymentCredentialInstrument as GHCJS.DOM.PaymentCredentialInstrument
+          , JSDOM.PaymentCurrencyAmount as GHCJS.DOM.PaymentCurrencyAmount
+          , JSDOM.PaymentDetailsBase as GHCJS.DOM.PaymentDetailsBase
+          , JSDOM.PaymentDetailsInit as GHCJS.DOM.PaymentDetailsInit
+          , JSDOM.PaymentDetailsModifier as GHCJS.DOM.PaymentDetailsModifier
+          , JSDOM.PaymentDetailsUpdate as GHCJS.DOM.PaymentDetailsUpdate
+          , JSDOM.PaymentEntityLogo as GHCJS.DOM.PaymentEntityLogo
+          , JSDOM.PaymentItem as GHCJS.DOM.PaymentItem
+          , JSDOM.PaymentMethodChangeEvent as GHCJS.DOM.PaymentMethodChangeEvent
+          , JSDOM.PaymentMethodChangeEventInit as GHCJS.DOM.PaymentMethodChangeEventInit
+          , JSDOM.PaymentMethodData as GHCJS.DOM.PaymentMethodData
+          , JSDOM.PaymentOptions as GHCJS.DOM.PaymentOptions
+          , JSDOM.PaymentRequest as GHCJS.DOM.PaymentRequest
+          , JSDOM.PaymentRequestUpdateEvent as GHCJS.DOM.PaymentRequestUpdateEvent
+          , JSDOM.PaymentRequestUpdateEventInit as GHCJS.DOM.PaymentRequestUpdateEventInit
+          , JSDOM.PaymentResponse as GHCJS.DOM.PaymentResponse
+          , JSDOM.PaymentShippingOption as GHCJS.DOM.PaymentShippingOption
+          , JSDOM.PaymentValidationErrors as GHCJS.DOM.PaymentValidationErrors
+          , JSDOM.Performance as GHCJS.DOM.Performance
+          , JSDOM.PerformanceEntry as GHCJS.DOM.PerformanceEntry
+          , JSDOM.PerformanceEventTiming as GHCJS.DOM.PerformanceEventTiming
+          , JSDOM.PerformanceMark as GHCJS.DOM.PerformanceMark
+          , JSDOM.PerformanceMarkOptions as GHCJS.DOM.PerformanceMarkOptions
+          , JSDOM.PerformanceMeasure as GHCJS.DOM.PerformanceMeasure
+          , JSDOM.PerformanceMeasureOptions as GHCJS.DOM.PerformanceMeasureOptions
+          , JSDOM.PerformanceNavigation as GHCJS.DOM.PerformanceNavigation
+          , JSDOM.PerformanceNavigationTiming as GHCJS.DOM.PerformanceNavigationTiming
+          , JSDOM.PerformanceObserver as GHCJS.DOM.PerformanceObserver
+          , JSDOM.PerformanceObserverCallback as GHCJS.DOM.PerformanceObserverCallback
+          , JSDOM.PerformanceObserverCallbackOptions as GHCJS.DOM.PerformanceObserverCallbackOptions
+          , JSDOM.PerformanceObserverEntryList as GHCJS.DOM.PerformanceObserverEntryList
+          , JSDOM.PerformanceObserverInit as GHCJS.DOM.PerformanceObserverInit
+          , JSDOM.PerformancePaintTiming as GHCJS.DOM.PerformancePaintTiming
+          , JSDOM.PerformanceResourceTiming as GHCJS.DOM.PerformanceResourceTiming
+          , JSDOM.PerformanceServerTiming as GHCJS.DOM.PerformanceServerTiming
+          , JSDOM.PerformanceTiming as GHCJS.DOM.PerformanceTiming
+          , JSDOM.PeriodicWave as GHCJS.DOM.PeriodicWave
+          , JSDOM.PeriodicWaveConstraints as GHCJS.DOM.PeriodicWaveConstraints
+          , JSDOM.PeriodicWaveOptions as GHCJS.DOM.PeriodicWaveOptions
+          , JSDOM.PermissionStatus as GHCJS.DOM.PermissionStatus
+          , JSDOM.Permissions as GHCJS.DOM.Permissions
+          , JSDOM.PhotoCapabilities as GHCJS.DOM.PhotoCapabilities
+          , JSDOM.PhotoSettings as GHCJS.DOM.PhotoSettings
+          , JSDOM.PictureInPictureEvent as GHCJS.DOM.PictureInPictureEvent
+          , JSDOM.PictureInPictureEventInit as GHCJS.DOM.PictureInPictureEventInit
+          , JSDOM.PictureInPictureWindow as GHCJS.DOM.PictureInPictureWindow
+          , JSDOM.PlaneLayout as GHCJS.DOM.PlaneLayout
+          , JSDOM.Plugin as GHCJS.DOM.Plugin
+          , JSDOM.PluginArray as GHCJS.DOM.PluginArray
+          , JSDOM.Point2D as GHCJS.DOM.Point2D
+          , JSDOM.PointerEvent as GHCJS.DOM.PointerEvent
+          , JSDOM.PointerEventInit as GHCJS.DOM.PointerEventInit
+          , JSDOM.PointerLockOptions as GHCJS.DOM.PointerLockOptions
+          , JSDOM.PopStateEvent as GHCJS.DOM.PopStateEvent
+          , JSDOM.PopStateEventInit as GHCJS.DOM.PopStateEventInit
+          , JSDOM.PopoverTargetAttributes as GHCJS.DOM.PopoverTargetAttributes
+          , JSDOM.PositionCallback as GHCJS.DOM.PositionCallback
+          , JSDOM.PositionErrorCallback as GHCJS.DOM.PositionErrorCallback
+          , JSDOM.PositionOptions as GHCJS.DOM.PositionOptions
+          , JSDOM.PrivateToken as GHCJS.DOM.PrivateToken
+          , JSDOM.ProcessingInstruction as GHCJS.DOM.ProcessingInstruction
+          , JSDOM.ProgressEvent as GHCJS.DOM.ProgressEvent
+          , JSDOM.ProgressEventInit as GHCJS.DOM.ProgressEventInit
+          , JSDOM.PromiseRejectionEvent as GHCJS.DOM.PromiseRejectionEvent
+          , JSDOM.PromiseRejectionEventInit as GHCJS.DOM.PromiseRejectionEventInit
+          , JSDOM.PropertyDefinition as GHCJS.DOM.PropertyDefinition
+          , JSDOM.PublicKeyCredential as GHCJS.DOM.PublicKeyCredential
+          , JSDOM.PublicKeyCredentialCreationOptions as GHCJS.DOM.PublicKeyCredentialCreationOptions
+          , JSDOM.PublicKeyCredentialCreationOptionsJSON as GHCJS.DOM.PublicKeyCredentialCreationOptionsJSON
+          , JSDOM.PublicKeyCredentialDescriptor as GHCJS.DOM.PublicKeyCredentialDescriptor
+          , JSDOM.PublicKeyCredentialDescriptorJSON as GHCJS.DOM.PublicKeyCredentialDescriptorJSON
+          , JSDOM.PublicKeyCredentialEntity as GHCJS.DOM.PublicKeyCredentialEntity
+          , JSDOM.PublicKeyCredentialParameters as GHCJS.DOM.PublicKeyCredentialParameters
+          , JSDOM.PublicKeyCredentialRequestOptions as GHCJS.DOM.PublicKeyCredentialRequestOptions
+          , JSDOM.PublicKeyCredentialRequestOptionsJSON as GHCJS.DOM.PublicKeyCredentialRequestOptionsJSON
+          , JSDOM.PublicKeyCredentialRpEntity as GHCJS.DOM.PublicKeyCredentialRpEntity
+          , JSDOM.PublicKeyCredentialUserEntity as GHCJS.DOM.PublicKeyCredentialUserEntity
+          , JSDOM.PublicKeyCredentialUserEntityJSON as GHCJS.DOM.PublicKeyCredentialUserEntityJSON
+          , JSDOM.PushEvent as GHCJS.DOM.PushEvent
+          , JSDOM.PushEventInit as GHCJS.DOM.PushEventInit
+          , JSDOM.PushManager as GHCJS.DOM.PushManager
+          , JSDOM.PushManagerAttribute as GHCJS.DOM.PushManagerAttribute
+          , JSDOM.PushMessageData as GHCJS.DOM.PushMessageData
+          , JSDOM.PushSubscription as GHCJS.DOM.PushSubscription
+          , JSDOM.PushSubscriptionChangeEvent as GHCJS.DOM.PushSubscriptionChangeEvent
+          , JSDOM.PushSubscriptionChangeEventInit as GHCJS.DOM.PushSubscriptionChangeEventInit
+          , JSDOM.PushSubscriptionJSON as GHCJS.DOM.PushSubscriptionJSON
+          , JSDOM.PushSubscriptionKeys as GHCJS.DOM.PushSubscriptionKeys
+          , JSDOM.PushSubscriptionOptions as GHCJS.DOM.PushSubscriptionOptions
+          , JSDOM.PushSubscriptionOptionsInit as GHCJS.DOM.PushSubscriptionOptionsInit
+          , JSDOM.QueuingStrategy as GHCJS.DOM.QueuingStrategy
+          , JSDOM.QueuingStrategyInit as GHCJS.DOM.QueuingStrategyInit
+          , JSDOM.QueuingStrategySize as GHCJS.DOM.QueuingStrategySize
+          , JSDOM.RTCAnswerOptions as GHCJS.DOM.RTCAnswerOptions
+          , JSDOM.RTCCertificate as GHCJS.DOM.RTCCertificate
+          , JSDOM.RTCConfiguration as GHCJS.DOM.RTCConfiguration
+          , JSDOM.RTCDTMFSender as GHCJS.DOM.RTCDTMFSender
+          , JSDOM.RTCDTMFToneChangeEvent as GHCJS.DOM.RTCDTMFToneChangeEvent
+          , JSDOM.RTCDTMFToneChangeEventInit as GHCJS.DOM.RTCDTMFToneChangeEventInit
+          , JSDOM.RTCDataChannel as GHCJS.DOM.RTCDataChannel
+          , JSDOM.RTCDataChannelEvent as GHCJS.DOM.RTCDataChannelEvent
+          , JSDOM.RTCDataChannelEventInit as GHCJS.DOM.RTCDataChannelEventInit
+          , JSDOM.RTCDataChannelInit as GHCJS.DOM.RTCDataChannelInit
+          , JSDOM.RTCDtlsFingerprint as GHCJS.DOM.RTCDtlsFingerprint
+          , JSDOM.RTCDtlsTransport as GHCJS.DOM.RTCDtlsTransport
+          , JSDOM.RTCEncodedAudioFrame as GHCJS.DOM.RTCEncodedAudioFrame
+          , JSDOM.RTCEncodedAudioFrameMetadata as GHCJS.DOM.RTCEncodedAudioFrameMetadata
+          , JSDOM.RTCEncodedAudioFrameOptions as GHCJS.DOM.RTCEncodedAudioFrameOptions
+          , JSDOM.RTCEncodedFrameMetadata as GHCJS.DOM.RTCEncodedFrameMetadata
+          , JSDOM.RTCEncodedVideoFrame as GHCJS.DOM.RTCEncodedVideoFrame
+          , JSDOM.RTCEncodedVideoFrameMetadata as GHCJS.DOM.RTCEncodedVideoFrameMetadata
+          , JSDOM.RTCEncodedVideoFrameOptions as GHCJS.DOM.RTCEncodedVideoFrameOptions
+          , JSDOM.RTCError as GHCJS.DOM.RTCError
+          , JSDOM.RTCErrorEvent as GHCJS.DOM.RTCErrorEvent
+          , JSDOM.RTCErrorEventInit as GHCJS.DOM.RTCErrorEventInit
+          , JSDOM.RTCErrorInit as GHCJS.DOM.RTCErrorInit
+          , JSDOM.RTCIceCandidate as GHCJS.DOM.RTCIceCandidate
+          , JSDOM.RTCIceCandidateInit as GHCJS.DOM.RTCIceCandidateInit
+          , JSDOM.RTCIceCandidatePair as GHCJS.DOM.RTCIceCandidatePair
+          , JSDOM.RTCIceServer as GHCJS.DOM.RTCIceServer
+          , JSDOM.RTCIceTransport as GHCJS.DOM.RTCIceTransport
+          , JSDOM.RTCLocalIceCandidateInit as GHCJS.DOM.RTCLocalIceCandidateInit
+          , JSDOM.RTCLocalSessionDescriptionInit as GHCJS.DOM.RTCLocalSessionDescriptionInit
+          , JSDOM.RTCOfferAnswerOptions as GHCJS.DOM.RTCOfferAnswerOptions
+          , JSDOM.RTCOfferOptions as GHCJS.DOM.RTCOfferOptions
+          , JSDOM.RTCPeerConnection as GHCJS.DOM.RTCPeerConnection
+          , JSDOM.RTCPeerConnectionErrorCallback as GHCJS.DOM.RTCPeerConnectionErrorCallback
+          , JSDOM.RTCPeerConnectionIceErrorEvent as GHCJS.DOM.RTCPeerConnectionIceErrorEvent
+          , JSDOM.RTCPeerConnectionIceErrorEventInit as GHCJS.DOM.RTCPeerConnectionIceErrorEventInit
+          , JSDOM.RTCPeerConnectionIceEvent as GHCJS.DOM.RTCPeerConnectionIceEvent
+          , JSDOM.RTCPeerConnectionIceEventInit as GHCJS.DOM.RTCPeerConnectionIceEventInit
+          , JSDOM.RTCRtcpParameters as GHCJS.DOM.RTCRtcpParameters
+          , JSDOM.RTCRtpCapabilities as GHCJS.DOM.RTCRtpCapabilities
+          , JSDOM.RTCRtpCodec as GHCJS.DOM.RTCRtpCodec
+          , JSDOM.RTCRtpCodecParameters as GHCJS.DOM.RTCRtpCodecParameters
+          , JSDOM.RTCRtpCodingParameters as GHCJS.DOM.RTCRtpCodingParameters
+          , JSDOM.RTCRtpContributingSource as GHCJS.DOM.RTCRtpContributingSource
+          , JSDOM.RTCRtpEncodingParameters as GHCJS.DOM.RTCRtpEncodingParameters
+          , JSDOM.RTCRtpHeaderExtensionCapability as GHCJS.DOM.RTCRtpHeaderExtensionCapability
+          , JSDOM.RTCRtpHeaderExtensionParameters as GHCJS.DOM.RTCRtpHeaderExtensionParameters
+          , JSDOM.RTCRtpParameters as GHCJS.DOM.RTCRtpParameters
+          , JSDOM.RTCRtpReceiveParameters as GHCJS.DOM.RTCRtpReceiveParameters
+          , JSDOM.RTCRtpReceiver as GHCJS.DOM.RTCRtpReceiver
+          , JSDOM.RTCRtpSFrameDecryptor as GHCJS.DOM.RTCRtpSFrameDecryptor
+          , JSDOM.RTCRtpSFrameEncryptor as GHCJS.DOM.RTCRtpSFrameEncryptor
+          , JSDOM.RTCRtpScriptTransform as GHCJS.DOM.RTCRtpScriptTransform
+          , JSDOM.RTCRtpScriptTransformer as GHCJS.DOM.RTCRtpScriptTransformer
+          , JSDOM.RTCRtpSendParameters as GHCJS.DOM.RTCRtpSendParameters
+          , JSDOM.RTCRtpSender as GHCJS.DOM.RTCRtpSender
+          , JSDOM.RTCRtpSynchronizationSource as GHCJS.DOM.RTCRtpSynchronizationSource
+          , JSDOM.RTCRtpTransceiver as GHCJS.DOM.RTCRtpTransceiver
+          , JSDOM.RTCRtpTransceiverInit as GHCJS.DOM.RTCRtpTransceiverInit
+          , JSDOM.RTCSctpTransport as GHCJS.DOM.RTCSctpTransport
+          , JSDOM.RTCSessionDescription as GHCJS.DOM.RTCSessionDescription
+          , JSDOM.RTCSessionDescriptionCallback as GHCJS.DOM.RTCSessionDescriptionCallback
+          , JSDOM.RTCSessionDescriptionInit as GHCJS.DOM.RTCSessionDescriptionInit
+          , JSDOM.RTCSetParameterOptions as GHCJS.DOM.RTCSetParameterOptions
+          , JSDOM.RTCStatsReport as GHCJS.DOM.RTCStatsReport
+          , JSDOM.RTCTrackEvent as GHCJS.DOM.RTCTrackEvent
+          , JSDOM.RTCTrackEventInit as GHCJS.DOM.RTCTrackEventInit
+          , JSDOM.RTCTransformEvent as GHCJS.DOM.RTCTransformEvent
+          , JSDOM.RadioNodeList as GHCJS.DOM.RadioNodeList
+          , JSDOM.Range as GHCJS.DOM.Range
+          , JSDOM.ReadableByteStreamController as GHCJS.DOM.ReadableByteStreamController
+          , JSDOM.ReadableStream as GHCJS.DOM.ReadableStream
+          , JSDOM.ReadableStreamBYOBReader as GHCJS.DOM.ReadableStreamBYOBReader
+          , JSDOM.ReadableStreamBYOBReaderReadOptions as GHCJS.DOM.ReadableStreamBYOBReaderReadOptions
+          , JSDOM.ReadableStreamBYOBRequest as GHCJS.DOM.ReadableStreamBYOBRequest
+          , JSDOM.ReadableStreamDefaultController as GHCJS.DOM.ReadableStreamDefaultController
+          , JSDOM.ReadableStreamDefaultReader as GHCJS.DOM.ReadableStreamDefaultReader
+          , JSDOM.ReadableStreamGenericReader as GHCJS.DOM.ReadableStreamGenericReader
+          , JSDOM.ReadableStreamGetReaderOptions as GHCJS.DOM.ReadableStreamGetReaderOptions
+          , JSDOM.ReadableStreamReadResult as GHCJS.DOM.ReadableStreamReadResult
+          , JSDOM.ReadableWritablePair as GHCJS.DOM.ReadableWritablePair
+          , JSDOM.RegistrationOptions as GHCJS.DOM.RegistrationOptions
+          , JSDOM.RemotePlayback as GHCJS.DOM.RemotePlayback
+          , JSDOM.RemotePlaybackAvailabilityCallback as GHCJS.DOM.RemotePlaybackAvailabilityCallback
+          , JSDOM.Report as GHCJS.DOM.Report
+          , JSDOM.ReportBody as GHCJS.DOM.ReportBody
+          , JSDOM.ReportingObserver as GHCJS.DOM.ReportingObserver
+          , JSDOM.ReportingObserverCallback as GHCJS.DOM.ReportingObserverCallback
+          , JSDOM.ReportingObserverOptions as GHCJS.DOM.ReportingObserverOptions
+          , JSDOM.Request as GHCJS.DOM.Request
+          , JSDOM.RequestInit as GHCJS.DOM.RequestInit
+          , JSDOM.ResizeObserver as GHCJS.DOM.ResizeObserver
+          , JSDOM.ResizeObserverCallback as GHCJS.DOM.ResizeObserverCallback
+          , JSDOM.ResizeObserverEntry as GHCJS.DOM.ResizeObserverEntry
+          , JSDOM.ResizeObserverOptions as GHCJS.DOM.ResizeObserverOptions
+          , JSDOM.ResizeObserverSize as GHCJS.DOM.ResizeObserverSize
+          , JSDOM.Response as GHCJS.DOM.Response
+          , JSDOM.ResponseInit as GHCJS.DOM.ResponseInit
+          , JSDOM.RouterCondition as GHCJS.DOM.RouterCondition
+          , JSDOM.RouterRule as GHCJS.DOM.RouterRule
+          , JSDOM.RouterSourceDict as GHCJS.DOM.RouterSourceDict
+          , JSDOM.RsaOtherPrimesInfo as GHCJS.DOM.RsaOtherPrimesInfo
+          , JSDOM.SVGAElement as GHCJS.DOM.SVGAElement
+          , JSDOM.SVGAngle as GHCJS.DOM.SVGAngle
+          , JSDOM.SVGAnimateElement as GHCJS.DOM.SVGAnimateElement
+          , JSDOM.SVGAnimateMotionElement as GHCJS.DOM.SVGAnimateMotionElement
+          , JSDOM.SVGAnimateTransformElement as GHCJS.DOM.SVGAnimateTransformElement
+          , JSDOM.SVGAnimatedAngle as GHCJS.DOM.SVGAnimatedAngle
+          , JSDOM.SVGAnimatedBoolean as GHCJS.DOM.SVGAnimatedBoolean
+          , JSDOM.SVGAnimatedEnumeration as GHCJS.DOM.SVGAnimatedEnumeration
+          , JSDOM.SVGAnimatedInteger as GHCJS.DOM.SVGAnimatedInteger
+          , JSDOM.SVGAnimatedLength as GHCJS.DOM.SVGAnimatedLength
+          , JSDOM.SVGAnimatedLengthList as GHCJS.DOM.SVGAnimatedLengthList
+          , JSDOM.SVGAnimatedNumber as GHCJS.DOM.SVGAnimatedNumber
+          , JSDOM.SVGAnimatedNumberList as GHCJS.DOM.SVGAnimatedNumberList
+          , JSDOM.SVGAnimatedPoints as GHCJS.DOM.SVGAnimatedPoints
+          , JSDOM.SVGAnimatedPreserveAspectRatio as GHCJS.DOM.SVGAnimatedPreserveAspectRatio
+          , JSDOM.SVGAnimatedRect as GHCJS.DOM.SVGAnimatedRect
+          , JSDOM.SVGAnimatedString as GHCJS.DOM.SVGAnimatedString
+          , JSDOM.SVGAnimatedTransformList as GHCJS.DOM.SVGAnimatedTransformList
+          , JSDOM.SVGAnimationElement as GHCJS.DOM.SVGAnimationElement
+          , JSDOM.SVGBoundingBoxOptions as GHCJS.DOM.SVGBoundingBoxOptions
+          , JSDOM.SVGCircleElement as GHCJS.DOM.SVGCircleElement
+          , JSDOM.SVGClipPathElement as GHCJS.DOM.SVGClipPathElement
+          , JSDOM.SVGComponentTransferFunctionElement as GHCJS.DOM.SVGComponentTransferFunctionElement
+          , JSDOM.SVGDefsElement as GHCJS.DOM.SVGDefsElement
+          , JSDOM.SVGDescElement as GHCJS.DOM.SVGDescElement
+          , JSDOM.SVGElement as GHCJS.DOM.SVGElement
+          , JSDOM.SVGEllipseElement as GHCJS.DOM.SVGEllipseElement
+          , JSDOM.SVGFEBlendElement as GHCJS.DOM.SVGFEBlendElement
+          , JSDOM.SVGFEColorMatrixElement as GHCJS.DOM.SVGFEColorMatrixElement
+          , JSDOM.SVGFEComponentTransferElement as GHCJS.DOM.SVGFEComponentTransferElement
+          , JSDOM.SVGFECompositeElement as GHCJS.DOM.SVGFECompositeElement
+          , JSDOM.SVGFEConvolveMatrixElement as GHCJS.DOM.SVGFEConvolveMatrixElement
+          , JSDOM.SVGFEDiffuseLightingElement as GHCJS.DOM.SVGFEDiffuseLightingElement
+          , JSDOM.SVGFEDisplacementMapElement as GHCJS.DOM.SVGFEDisplacementMapElement
+          , JSDOM.SVGFEDistantLightElement as GHCJS.DOM.SVGFEDistantLightElement
+          , JSDOM.SVGFEDropShadowElement as GHCJS.DOM.SVGFEDropShadowElement
+          , JSDOM.SVGFEFloodElement as GHCJS.DOM.SVGFEFloodElement
+          , JSDOM.SVGFEFuncAElement as GHCJS.DOM.SVGFEFuncAElement
+          , JSDOM.SVGFEFuncBElement as GHCJS.DOM.SVGFEFuncBElement
+          , JSDOM.SVGFEFuncGElement as GHCJS.DOM.SVGFEFuncGElement
+          , JSDOM.SVGFEFuncRElement as GHCJS.DOM.SVGFEFuncRElement
+          , JSDOM.SVGFEGaussianBlurElement as GHCJS.DOM.SVGFEGaussianBlurElement
+          , JSDOM.SVGFEImageElement as GHCJS.DOM.SVGFEImageElement
+          , JSDOM.SVGFEMergeElement as GHCJS.DOM.SVGFEMergeElement
+          , JSDOM.SVGFEMergeNodeElement as GHCJS.DOM.SVGFEMergeNodeElement
+          , JSDOM.SVGFEMorphologyElement as GHCJS.DOM.SVGFEMorphologyElement
+          , JSDOM.SVGFEOffsetElement as GHCJS.DOM.SVGFEOffsetElement
+          , JSDOM.SVGFEPointLightElement as GHCJS.DOM.SVGFEPointLightElement
+          , JSDOM.SVGFESpecularLightingElement as GHCJS.DOM.SVGFESpecularLightingElement
+          , JSDOM.SVGFESpotLightElement as GHCJS.DOM.SVGFESpotLightElement
+          , JSDOM.SVGFETileElement as GHCJS.DOM.SVGFETileElement
+          , JSDOM.SVGFETurbulenceElement as GHCJS.DOM.SVGFETurbulenceElement
+          , JSDOM.SVGFilterElement as GHCJS.DOM.SVGFilterElement
+          , JSDOM.SVGFilterPrimitiveStandardAttributes as GHCJS.DOM.SVGFilterPrimitiveStandardAttributes
+          , JSDOM.SVGFitToViewBox as GHCJS.DOM.SVGFitToViewBox
+          , JSDOM.SVGForeignObjectElement as GHCJS.DOM.SVGForeignObjectElement
+          , JSDOM.SVGGElement as GHCJS.DOM.SVGGElement
+          , JSDOM.SVGGeometryElement as GHCJS.DOM.SVGGeometryElement
+          , JSDOM.SVGGradientElement as GHCJS.DOM.SVGGradientElement
+          , JSDOM.SVGGraphicsElement as GHCJS.DOM.SVGGraphicsElement
+          , JSDOM.SVGImageElement as GHCJS.DOM.SVGImageElement
+          , JSDOM.SVGLength as GHCJS.DOM.SVGLength
+          , JSDOM.SVGLengthList as GHCJS.DOM.SVGLengthList
+          , JSDOM.SVGLineElement as GHCJS.DOM.SVGLineElement
+          , JSDOM.SVGLinearGradientElement as GHCJS.DOM.SVGLinearGradientElement
+          , JSDOM.SVGMPathElement as GHCJS.DOM.SVGMPathElement
+          , JSDOM.SVGMarkerElement as GHCJS.DOM.SVGMarkerElement
+          , JSDOM.SVGMaskElement as GHCJS.DOM.SVGMaskElement
+          , JSDOM.SVGMetadataElement as GHCJS.DOM.SVGMetadataElement
+          , JSDOM.SVGNumber as GHCJS.DOM.SVGNumber
+          , JSDOM.SVGNumberList as GHCJS.DOM.SVGNumberList
+          , JSDOM.SVGPathElement as GHCJS.DOM.SVGPathElement
+          , JSDOM.SVGPatternElement as GHCJS.DOM.SVGPatternElement
+          , JSDOM.SVGPointList as GHCJS.DOM.SVGPointList
+          , JSDOM.SVGPolygonElement as GHCJS.DOM.SVGPolygonElement
+          , JSDOM.SVGPolylineElement as GHCJS.DOM.SVGPolylineElement
+          , JSDOM.SVGPreserveAspectRatio as GHCJS.DOM.SVGPreserveAspectRatio
+          , JSDOM.SVGRadialGradientElement as GHCJS.DOM.SVGRadialGradientElement
+          , JSDOM.SVGRectElement as GHCJS.DOM.SVGRectElement
+          , JSDOM.SVGSVGElement as GHCJS.DOM.SVGSVGElement
+          , JSDOM.SVGScriptElement as GHCJS.DOM.SVGScriptElement
+          , JSDOM.SVGSetElement as GHCJS.DOM.SVGSetElement
+          , JSDOM.SVGStopElement as GHCJS.DOM.SVGStopElement
+          , JSDOM.SVGStringList as GHCJS.DOM.SVGStringList
+          , JSDOM.SVGStyleElement as GHCJS.DOM.SVGStyleElement
+          , JSDOM.SVGSwitchElement as GHCJS.DOM.SVGSwitchElement
+          , JSDOM.SVGSymbolElement as GHCJS.DOM.SVGSymbolElement
+          , JSDOM.SVGTSpanElement as GHCJS.DOM.SVGTSpanElement
+          , JSDOM.SVGTests as GHCJS.DOM.SVGTests
+          , JSDOM.SVGTextContentElement as GHCJS.DOM.SVGTextContentElement
+          , JSDOM.SVGTextElement as GHCJS.DOM.SVGTextElement
+          , JSDOM.SVGTextPathElement as GHCJS.DOM.SVGTextPathElement
+          , JSDOM.SVGTextPositioningElement as GHCJS.DOM.SVGTextPositioningElement
+          , JSDOM.SVGTitleElement as GHCJS.DOM.SVGTitleElement
+          , JSDOM.SVGTransform as GHCJS.DOM.SVGTransform
+          , JSDOM.SVGTransformList as GHCJS.DOM.SVGTransformList
+          , JSDOM.SVGURIReference as GHCJS.DOM.SVGURIReference
+          , JSDOM.SVGUnitTypes as GHCJS.DOM.SVGUnitTypes
+          , JSDOM.SVGUseElement as GHCJS.DOM.SVGUseElement
+          , JSDOM.SVGViewElement as GHCJS.DOM.SVGViewElement
+          , JSDOM.Sanitizer as GHCJS.DOM.Sanitizer
+          , JSDOM.SanitizerAttributeNamespace as GHCJS.DOM.SanitizerAttributeNamespace
+          , JSDOM.SanitizerConfig as GHCJS.DOM.SanitizerConfig
+          , JSDOM.SanitizerElementNamespace as GHCJS.DOM.SanitizerElementNamespace
+          , JSDOM.SanitizerElementNamespaceWithAttributes as GHCJS.DOM.SanitizerElementNamespaceWithAttributes
+          , JSDOM.SanitizerProcessingInstruction as GHCJS.DOM.SanitizerProcessingInstruction
+          , JSDOM.Scheduler as GHCJS.DOM.Scheduler
+          , JSDOM.SchedulerPostTaskCallback as GHCJS.DOM.SchedulerPostTaskCallback
+          , JSDOM.SchedulerPostTaskOptions as GHCJS.DOM.SchedulerPostTaskOptions
+          , JSDOM.Screen as GHCJS.DOM.Screen
+          , JSDOM.ScreenDetailed as GHCJS.DOM.ScreenDetailed
+          , JSDOM.ScreenOrientation as GHCJS.DOM.ScreenOrientation
+          , JSDOM.ScriptProcessorNode as GHCJS.DOM.ScriptProcessorNode
+          , JSDOM.ScrollIntoViewOptions as GHCJS.DOM.ScrollIntoViewOptions
+          , JSDOM.ScrollOptions as GHCJS.DOM.ScrollOptions
+          , JSDOM.ScrollResult as GHCJS.DOM.ScrollResult
+          , JSDOM.ScrollTimeline as GHCJS.DOM.ScrollTimeline
+          , JSDOM.ScrollTimelineOptions as GHCJS.DOM.ScrollTimelineOptions
+          , JSDOM.ScrollToOptions as GHCJS.DOM.ScrollToOptions
+          , JSDOM.SecurityPolicyViolationEvent as GHCJS.DOM.SecurityPolicyViolationEvent
+          , JSDOM.SecurityPolicyViolationEventInit as GHCJS.DOM.SecurityPolicyViolationEventInit
+          , JSDOM.Segment as GHCJS.DOM.Segment
+          , JSDOM.Selection as GHCJS.DOM.Selection
+          , JSDOM.Serial as GHCJS.DOM.Serial
+          , JSDOM.SerialInputSignals as GHCJS.DOM.SerialInputSignals
+          , JSDOM.SerialOptions as GHCJS.DOM.SerialOptions
+          , JSDOM.SerialOutputSignals as GHCJS.DOM.SerialOutputSignals
+          , JSDOM.SerialPort as GHCJS.DOM.SerialPort
+          , JSDOM.SerialPortFilter as GHCJS.DOM.SerialPortFilter
+          , JSDOM.SerialPortInfo as GHCJS.DOM.SerialPortInfo
+          , JSDOM.SerialPortRequestOptions as GHCJS.DOM.SerialPortRequestOptions
+          , JSDOM.ServiceWorker as GHCJS.DOM.ServiceWorker
+          , JSDOM.ServiceWorkerContainer as GHCJS.DOM.ServiceWorkerContainer
+          , JSDOM.ServiceWorkerGlobalScope as GHCJS.DOM.ServiceWorkerGlobalScope
+          , JSDOM.ServiceWorkerRegistration as GHCJS.DOM.ServiceWorkerRegistration
+          , JSDOM.SetHTMLOptions as GHCJS.DOM.SetHTMLOptions
+          , JSDOM.SetHTMLUnsafeOptions as GHCJS.DOM.SetHTMLUnsafeOptions
+          , JSDOM.ShadowRoot as GHCJS.DOM.ShadowRoot
+          , JSDOM.ShadowRootInit as GHCJS.DOM.ShadowRootInit
+          , JSDOM.ShareData as GHCJS.DOM.ShareData
+          , JSDOM.SharedWorker as GHCJS.DOM.SharedWorker
+          , JSDOM.SharedWorkerGlobalScope as GHCJS.DOM.SharedWorkerGlobalScope
+          , JSDOM.SharedWorkerOptions as GHCJS.DOM.SharedWorkerOptions
+          , JSDOM.ShowPopoverOptions as GHCJS.DOM.ShowPopoverOptions
+          , JSDOM.Slottable as GHCJS.DOM.Slottable
+          , JSDOM.SourceBuffer as GHCJS.DOM.SourceBuffer
+          , JSDOM.SourceBufferList as GHCJS.DOM.SourceBufferList
+          , JSDOM.SpeechGrammar as GHCJS.DOM.SpeechGrammar
+          , JSDOM.SpeechGrammarList as GHCJS.DOM.SpeechGrammarList
+          , JSDOM.SpeechRecognition as GHCJS.DOM.SpeechRecognition
+          , JSDOM.SpeechRecognitionAlternative as GHCJS.DOM.SpeechRecognitionAlternative
+          , JSDOM.SpeechRecognitionErrorEvent as GHCJS.DOM.SpeechRecognitionErrorEvent
+          , JSDOM.SpeechRecognitionErrorEventInit as GHCJS.DOM.SpeechRecognitionErrorEventInit
+          , JSDOM.SpeechRecognitionEvent as GHCJS.DOM.SpeechRecognitionEvent
+          , JSDOM.SpeechRecognitionEventInit as GHCJS.DOM.SpeechRecognitionEventInit
+          , JSDOM.SpeechRecognitionOptions as GHCJS.DOM.SpeechRecognitionOptions
+          , JSDOM.SpeechRecognitionPhrase as GHCJS.DOM.SpeechRecognitionPhrase
+          , JSDOM.SpeechRecognitionResult as GHCJS.DOM.SpeechRecognitionResult
+          , JSDOM.SpeechRecognitionResultList as GHCJS.DOM.SpeechRecognitionResultList
+          , JSDOM.SpeechSynthesis as GHCJS.DOM.SpeechSynthesis
+          , JSDOM.SpeechSynthesisErrorEvent as GHCJS.DOM.SpeechSynthesisErrorEvent
+          , JSDOM.SpeechSynthesisErrorEventInit as GHCJS.DOM.SpeechSynthesisErrorEventInit
+          , JSDOM.SpeechSynthesisEvent as GHCJS.DOM.SpeechSynthesisEvent
+          , JSDOM.SpeechSynthesisEventInit as GHCJS.DOM.SpeechSynthesisEventInit
+          , JSDOM.SpeechSynthesisUtterance as GHCJS.DOM.SpeechSynthesisUtterance
+          , JSDOM.SpeechSynthesisVoice as GHCJS.DOM.SpeechSynthesisVoice
+          , JSDOM.StartViewTransitionOptions as GHCJS.DOM.StartViewTransitionOptions
+          , JSDOM.StaticRange as GHCJS.DOM.StaticRange
+          , JSDOM.StaticRangeInit as GHCJS.DOM.StaticRangeInit
+          , JSDOM.StereoPannerNode as GHCJS.DOM.StereoPannerNode
+          , JSDOM.StereoPannerOptions as GHCJS.DOM.StereoPannerOptions
+          , JSDOM.Storage as GHCJS.DOM.Storage
+          , JSDOM.StorageEstimate as GHCJS.DOM.StorageEstimate
+          , JSDOM.StorageEvent as GHCJS.DOM.StorageEvent
+          , JSDOM.StorageEventInit as GHCJS.DOM.StorageEventInit
+          , JSDOM.StorageManager as GHCJS.DOM.StorageManager
+          , JSDOM.StreamPipeOptions as GHCJS.DOM.StreamPipeOptions
+          , JSDOM.StructuredSerializeOptions as GHCJS.DOM.StructuredSerializeOptions
+          , JSDOM.StylePropertyMap as GHCJS.DOM.StylePropertyMap
+          , JSDOM.StylePropertyMapReadOnly as GHCJS.DOM.StylePropertyMapReadOnly
+          , JSDOM.StyleSheet as GHCJS.DOM.StyleSheet
+          , JSDOM.StyleSheetList as GHCJS.DOM.StyleSheetList
+          , JSDOM.SubmitEvent as GHCJS.DOM.SubmitEvent
+          , JSDOM.SubmitEventInit as GHCJS.DOM.SubmitEventInit
+          , JSDOM.SubtleCrypto as GHCJS.DOM.SubtleCrypto
+          , JSDOM.SvcOutputMetadata as GHCJS.DOM.SvcOutputMetadata
+          , JSDOM.TaskController as GHCJS.DOM.TaskController
+          , JSDOM.TaskControllerInit as GHCJS.DOM.TaskControllerInit
+          , JSDOM.TaskPriorityChangeEvent as GHCJS.DOM.TaskPriorityChangeEvent
+          , JSDOM.TaskPriorityChangeEventInit as GHCJS.DOM.TaskPriorityChangeEventInit
+          , JSDOM.TaskSignal as GHCJS.DOM.TaskSignal
+          , JSDOM.TaskSignalAnyInit as GHCJS.DOM.TaskSignalAnyInit
+          , JSDOM.Text as GHCJS.DOM.Text
+          , JSDOM.TextDecodeOptions as GHCJS.DOM.TextDecodeOptions
+          , JSDOM.TextDecoder as GHCJS.DOM.TextDecoder
+          , JSDOM.TextDecoderCommon as GHCJS.DOM.TextDecoderCommon
+          , JSDOM.TextDecoderOptions as GHCJS.DOM.TextDecoderOptions
+          , JSDOM.TextDecoderStream as GHCJS.DOM.TextDecoderStream
+          , JSDOM.TextEncoder as GHCJS.DOM.TextEncoder
+          , JSDOM.TextEncoderCommon as GHCJS.DOM.TextEncoderCommon
+          , JSDOM.TextEncoderEncodeIntoResult as GHCJS.DOM.TextEncoderEncodeIntoResult
+          , JSDOM.TextEncoderStream as GHCJS.DOM.TextEncoderStream
+          , JSDOM.TextEvent as GHCJS.DOM.TextEvent
+          , JSDOM.TextMetrics as GHCJS.DOM.TextMetrics
+          , JSDOM.TextTrack as GHCJS.DOM.TextTrack
+          , JSDOM.TextTrackCue as GHCJS.DOM.TextTrackCue
+          , JSDOM.TextTrackCueList as GHCJS.DOM.TextTrackCueList
+          , JSDOM.TextTrackList as GHCJS.DOM.TextTrackList
+          , JSDOM.TimeRanges as GHCJS.DOM.TimeRanges
+          , JSDOM.TimelineRangeOffset as GHCJS.DOM.TimelineRangeOffset
+          , JSDOM.ToggleEvent as GHCJS.DOM.ToggleEvent
+          , JSDOM.ToggleEventInit as GHCJS.DOM.ToggleEventInit
+          , JSDOM.TogglePopoverOptions as GHCJS.DOM.TogglePopoverOptions
+          , JSDOM.Touch as GHCJS.DOM.Touch
+          , JSDOM.TouchEvent as GHCJS.DOM.TouchEvent
+          , JSDOM.TouchEventInit as GHCJS.DOM.TouchEventInit
+          , JSDOM.TouchInit as GHCJS.DOM.TouchInit
+          , JSDOM.TouchList as GHCJS.DOM.TouchList
+          , JSDOM.TrackEvent as GHCJS.DOM.TrackEvent
+          , JSDOM.TrackEventInit as GHCJS.DOM.TrackEventInit
+          , JSDOM.TransformStream as GHCJS.DOM.TransformStream
+          , JSDOM.TransformStreamDefaultController as GHCJS.DOM.TransformStreamDefaultController
+          , JSDOM.TransitionEvent as GHCJS.DOM.TransitionEvent
+          , JSDOM.TransitionEventInit as GHCJS.DOM.TransitionEventInit
+          , JSDOM.TreeWalker as GHCJS.DOM.TreeWalker
+          , JSDOM.TrustedHTML as GHCJS.DOM.TrustedHTML
+          , JSDOM.TrustedHTMLParserOptions as GHCJS.DOM.TrustedHTMLParserOptions
+          , JSDOM.TrustedScript as GHCJS.DOM.TrustedScript
+          , JSDOM.TrustedScriptURL as GHCJS.DOM.TrustedScriptURL
+          , JSDOM.TrustedTypePolicy as GHCJS.DOM.TrustedTypePolicy
+          , JSDOM.TrustedTypePolicyFactory as GHCJS.DOM.TrustedTypePolicyFactory
+          , JSDOM.TrustedTypePolicyOptions as GHCJS.DOM.TrustedTypePolicyOptions
+          , JSDOM.UIEvent as GHCJS.DOM.UIEvent
+          , JSDOM.UIEventInit as GHCJS.DOM.UIEventInit
+          , JSDOM.ULongRange as GHCJS.DOM.ULongRange
+          , JSDOM.URL as GHCJS.DOM.URL
+          , JSDOM.URLPattern as GHCJS.DOM.URLPattern
+          , JSDOM.URLPatternComponentResult as GHCJS.DOM.URLPatternComponentResult
+          , JSDOM.URLPatternInit as GHCJS.DOM.URLPatternInit
+          , JSDOM.URLPatternOptions as GHCJS.DOM.URLPatternOptions
+          , JSDOM.URLPatternResult as GHCJS.DOM.URLPatternResult
+          , JSDOM.URLSearchParams as GHCJS.DOM.URLSearchParams
+          , JSDOM.UnknownCredentialOptions as GHCJS.DOM.UnknownCredentialOptions
+          , JSDOM.UserActivation as GHCJS.DOM.UserActivation
+          , JSDOM.VTTCue as GHCJS.DOM.VTTCue
+          , JSDOM.VTTRegion as GHCJS.DOM.VTTRegion
+          , JSDOM.ValidityState as GHCJS.DOM.ValidityState
+          , JSDOM.ValidityStateFlags as GHCJS.DOM.ValidityStateFlags
+          , JSDOM.VideoColorSpace as GHCJS.DOM.VideoColorSpace
+          , JSDOM.VideoColorSpaceInit as GHCJS.DOM.VideoColorSpaceInit
+          , JSDOM.VideoConfiguration as GHCJS.DOM.VideoConfiguration
+          , JSDOM.VideoDecoder as GHCJS.DOM.VideoDecoder
+          , JSDOM.VideoDecoderConfig as GHCJS.DOM.VideoDecoderConfig
+          , JSDOM.VideoDecoderInit as GHCJS.DOM.VideoDecoderInit
+          , JSDOM.VideoDecoderSupport as GHCJS.DOM.VideoDecoderSupport
+          , JSDOM.VideoEncoder as GHCJS.DOM.VideoEncoder
+          , JSDOM.VideoEncoderConfig as GHCJS.DOM.VideoEncoderConfig
+          , JSDOM.VideoEncoderEncodeOptions as GHCJS.DOM.VideoEncoderEncodeOptions
+          , JSDOM.VideoEncoderEncodeOptionsForAv1 as GHCJS.DOM.VideoEncoderEncodeOptionsForAv1
+          , JSDOM.VideoEncoderEncodeOptionsForAvc as GHCJS.DOM.VideoEncoderEncodeOptionsForAvc
+          , JSDOM.VideoEncoderEncodeOptionsForHevc as GHCJS.DOM.VideoEncoderEncodeOptionsForHevc
+          , JSDOM.VideoEncoderEncodeOptionsForVp9 as GHCJS.DOM.VideoEncoderEncodeOptionsForVp9
+          , JSDOM.VideoEncoderInit as GHCJS.DOM.VideoEncoderInit
+          , JSDOM.VideoEncoderSupport as GHCJS.DOM.VideoEncoderSupport
+          , JSDOM.VideoFrame as GHCJS.DOM.VideoFrame
+          , JSDOM.VideoFrameBufferInit as GHCJS.DOM.VideoFrameBufferInit
+          , JSDOM.VideoFrameCallbackMetadata as GHCJS.DOM.VideoFrameCallbackMetadata
+          , JSDOM.VideoFrameCopyToOptions as GHCJS.DOM.VideoFrameCopyToOptions
+          , JSDOM.VideoFrameInit as GHCJS.DOM.VideoFrameInit
+          , JSDOM.VideoFrameMetadata as GHCJS.DOM.VideoFrameMetadata
+          , JSDOM.VideoFrameOutputCallback as GHCJS.DOM.VideoFrameOutputCallback
+          , JSDOM.VideoFrameRequestCallback as GHCJS.DOM.VideoFrameRequestCallback
+          , JSDOM.VideoPlaybackQuality as GHCJS.DOM.VideoPlaybackQuality
+          , JSDOM.VideoTrack as GHCJS.DOM.VideoTrack
+          , JSDOM.VideoTrackList as GHCJS.DOM.VideoTrackList
+          , JSDOM.ViewTimeline as GHCJS.DOM.ViewTimeline
+          , JSDOM.ViewTimelineOptions as GHCJS.DOM.ViewTimelineOptions
+          , JSDOM.ViewTransition as GHCJS.DOM.ViewTransition
+          , JSDOM.ViewTransitionTypeSet as GHCJS.DOM.ViewTransitionTypeSet
+          , JSDOM.ViewTransitionUpdateCallback as GHCJS.DOM.ViewTransitionUpdateCallback
+          , JSDOM.VisualViewport as GHCJS.DOM.VisualViewport
+          , JSDOM.VoidFunction as GHCJS.DOM.VoidFunction
+          , JSDOM.WEBGL_color_buffer_float as GHCJS.DOM.WEBGL_color_buffer_float
+          , JSDOM.WEBGL_compressed_texture_astc as GHCJS.DOM.WEBGL_compressed_texture_astc
+          , JSDOM.WEBGL_compressed_texture_etc as GHCJS.DOM.WEBGL_compressed_texture_etc
+          , JSDOM.WEBGL_compressed_texture_etc1 as GHCJS.DOM.WEBGL_compressed_texture_etc1
+          , JSDOM.WEBGL_compressed_texture_pvrtc as GHCJS.DOM.WEBGL_compressed_texture_pvrtc
+          , JSDOM.WEBGL_compressed_texture_s3tc as GHCJS.DOM.WEBGL_compressed_texture_s3tc
+          , JSDOM.WEBGL_compressed_texture_s3tc_srgb as GHCJS.DOM.WEBGL_compressed_texture_s3tc_srgb
+          , JSDOM.WEBGL_debug_renderer_info as GHCJS.DOM.WEBGL_debug_renderer_info
+          , JSDOM.WEBGL_debug_shaders as GHCJS.DOM.WEBGL_debug_shaders
+          , JSDOM.WEBGL_depth_texture as GHCJS.DOM.WEBGL_depth_texture
+          , JSDOM.WEBGL_draw_buffers as GHCJS.DOM.WEBGL_draw_buffers
+          , JSDOM.WEBGL_lose_context as GHCJS.DOM.WEBGL_lose_context
+          , JSDOM.WEBGL_multi_draw as GHCJS.DOM.WEBGL_multi_draw
+          , JSDOM.WGSLLanguageFeatures as GHCJS.DOM.WGSLLanguageFeatures
+          , JSDOM.WakeLock as GHCJS.DOM.WakeLock
+          , JSDOM.WakeLockSentinel as GHCJS.DOM.WakeLockSentinel
+          , JSDOM.WaveShaperNode as GHCJS.DOM.WaveShaperNode
+          , JSDOM.WaveShaperOptions as GHCJS.DOM.WaveShaperOptions
+          , JSDOM.WebCodecsErrorCallback as GHCJS.DOM.WebCodecsErrorCallback
+          , JSDOM.WebGL2RenderingContext as GHCJS.DOM.WebGL2RenderingContext
+          , JSDOM.WebGL2RenderingContextBase as GHCJS.DOM.WebGL2RenderingContextBase
+          , JSDOM.WebGL2RenderingContextOverloads as GHCJS.DOM.WebGL2RenderingContextOverloads
+          , JSDOM.WebGLActiveInfo as GHCJS.DOM.WebGLActiveInfo
+          , JSDOM.WebGLBuffer as GHCJS.DOM.WebGLBuffer
+          , JSDOM.WebGLContextAttributes as GHCJS.DOM.WebGLContextAttributes
+          , JSDOM.WebGLContextEvent as GHCJS.DOM.WebGLContextEvent
+          , JSDOM.WebGLContextEventInit as GHCJS.DOM.WebGLContextEventInit
+          , JSDOM.WebGLFramebuffer as GHCJS.DOM.WebGLFramebuffer
+          , JSDOM.WebGLObject as GHCJS.DOM.WebGLObject
+          , JSDOM.WebGLProgram as GHCJS.DOM.WebGLProgram
+          , JSDOM.WebGLQuery as GHCJS.DOM.WebGLQuery
+          , JSDOM.WebGLRenderbuffer as GHCJS.DOM.WebGLRenderbuffer
+          , JSDOM.WebGLRenderingContext as GHCJS.DOM.WebGLRenderingContext
+          , JSDOM.WebGLRenderingContextBase as GHCJS.DOM.WebGLRenderingContextBase
+          , JSDOM.WebGLRenderingContextOverloads as GHCJS.DOM.WebGLRenderingContextOverloads
+          , JSDOM.WebGLSampler as GHCJS.DOM.WebGLSampler
+          , JSDOM.WebGLShader as GHCJS.DOM.WebGLShader
+          , JSDOM.WebGLShaderPrecisionFormat as GHCJS.DOM.WebGLShaderPrecisionFormat
+          , JSDOM.WebGLSync as GHCJS.DOM.WebGLSync
+          , JSDOM.WebGLTexture as GHCJS.DOM.WebGLTexture
+          , JSDOM.WebGLTransformFeedback as GHCJS.DOM.WebGLTransformFeedback
+          , JSDOM.WebGLUniformLocation as GHCJS.DOM.WebGLUniformLocation
+          , JSDOM.WebGLVertexArrayObject as GHCJS.DOM.WebGLVertexArrayObject
+          , JSDOM.WebGLVertexArrayObjectOES as GHCJS.DOM.WebGLVertexArrayObjectOES
+          , JSDOM.WebSocket as GHCJS.DOM.WebSocket
+          , JSDOM.WebTransport as GHCJS.DOM.WebTransport
+          , JSDOM.WebTransportBidirectionalStream as GHCJS.DOM.WebTransportBidirectionalStream
+          , JSDOM.WebTransportCloseInfo as GHCJS.DOM.WebTransportCloseInfo
+          , JSDOM.WebTransportConnectionStats as GHCJS.DOM.WebTransportConnectionStats
+          , JSDOM.WebTransportDatagramDuplexStream as GHCJS.DOM.WebTransportDatagramDuplexStream
+          , JSDOM.WebTransportDatagramStats as GHCJS.DOM.WebTransportDatagramStats
+          , JSDOM.WebTransportDatagramsWritable as GHCJS.DOM.WebTransportDatagramsWritable
+          , JSDOM.WebTransportError as GHCJS.DOM.WebTransportError
+          , JSDOM.WebTransportErrorOptions as GHCJS.DOM.WebTransportErrorOptions
+          , JSDOM.WebTransportHash as GHCJS.DOM.WebTransportHash
+          , JSDOM.WebTransportOptions as GHCJS.DOM.WebTransportOptions
+          , JSDOM.WebTransportReceiveStream as GHCJS.DOM.WebTransportReceiveStream
+          , JSDOM.WebTransportReceiveStreamStats as GHCJS.DOM.WebTransportReceiveStreamStats
+          , JSDOM.WebTransportSendGroup as GHCJS.DOM.WebTransportSendGroup
+          , JSDOM.WebTransportSendOptions as GHCJS.DOM.WebTransportSendOptions
+          , JSDOM.WebTransportSendStream as GHCJS.DOM.WebTransportSendStream
+          , JSDOM.WebTransportSendStreamOptions as GHCJS.DOM.WebTransportSendStreamOptions
+          , JSDOM.WebTransportSendStreamStats as GHCJS.DOM.WebTransportSendStreamStats
+          , JSDOM.WebTransportWriter as GHCJS.DOM.WebTransportWriter
+          , JSDOM.WheelEvent as GHCJS.DOM.WheelEvent
+          , JSDOM.WheelEventInit as GHCJS.DOM.WheelEventInit
+          , JSDOM.Window as GHCJS.DOM.Window
+          , JSDOM.WindowClient as GHCJS.DOM.WindowClient
+          , JSDOM.WindowEventHandlers as GHCJS.DOM.WindowEventHandlers
+          , JSDOM.WindowLocalStorage as GHCJS.DOM.WindowLocalStorage
+          , JSDOM.WindowOrWorkerGlobalScope as GHCJS.DOM.WindowOrWorkerGlobalScope
+          , JSDOM.WindowPostMessageOptions as GHCJS.DOM.WindowPostMessageOptions
+          , JSDOM.WindowSessionStorage as GHCJS.DOM.WindowSessionStorage
+          , JSDOM.Worker as GHCJS.DOM.Worker
+          , JSDOM.WorkerAndParameters as GHCJS.DOM.WorkerAndParameters
+          , JSDOM.WorkerGlobalScope as GHCJS.DOM.WorkerGlobalScope
+          , JSDOM.WorkerLocation as GHCJS.DOM.WorkerLocation
+          , JSDOM.WorkerNavigator as GHCJS.DOM.WorkerNavigator
+          , JSDOM.WorkerOptions as GHCJS.DOM.WorkerOptions
+          , JSDOM.Worklet as GHCJS.DOM.Worklet
+          , JSDOM.WorkletGlobalScope as GHCJS.DOM.WorkletGlobalScope
+          , JSDOM.WorkletOptions as GHCJS.DOM.WorkletOptions
+          , JSDOM.WritableStream as GHCJS.DOM.WritableStream
+          , JSDOM.WritableStreamDefaultController as GHCJS.DOM.WritableStreamDefaultController
+          , JSDOM.WritableStreamDefaultWriter as GHCJS.DOM.WritableStreamDefaultWriter
+          , JSDOM.WriteParams as GHCJS.DOM.WriteParams
+          , JSDOM.XMLDocument as GHCJS.DOM.XMLDocument
+          , JSDOM.XMLHttpRequest as GHCJS.DOM.XMLHttpRequest
+          , JSDOM.XMLHttpRequestEventTarget as GHCJS.DOM.XMLHttpRequestEventTarget
+          , JSDOM.XMLHttpRequestUpload as GHCJS.DOM.XMLHttpRequestUpload
+          , JSDOM.XMLSerializer as GHCJS.DOM.XMLSerializer
+          , JSDOM.XPathEvaluator as GHCJS.DOM.XPathEvaluator
+          , JSDOM.XPathEvaluatorBase as GHCJS.DOM.XPathEvaluatorBase
+          , JSDOM.XPathExpression as GHCJS.DOM.XPathExpression
+          , JSDOM.XPathNSResolver as GHCJS.DOM.XPathNSResolver
+          , JSDOM.XPathResult as GHCJS.DOM.XPathResult
+          , JSDOM.XSLTProcessor as GHCJS.DOM.XSLTProcessor
