diff --git a/jsaddle-dom.cabal b/jsaddle-dom.cabal
--- a/jsaddle-dom.cabal
+++ b/jsaddle-dom.cabal
@@ -1,1087 +1,1079 @@
 name: jsaddle-dom
-version: 0.2.0.1
-cabal-version: >=1.22
-build-type: Simple
-license: MIT
-license-file: LICENSE
-maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
-synopsis: DOM library that uses jsaddle to support both GHCJS and WebKitGTK
-description:
-    Documentent Object Model (DOM) functions implemented using jsaddle.
-    It works with both GHCJS and GHC.
-category: Web
-author: Hamish Mackenzie
-
-source-repository head
-    type: git
-    location: https://github.com/ghcjs/jsaddle-dom
-
-library
-
-    if impl(ghcjs -any)
-        build-depends:
-            ghcjs-base >=0.2.0.0 && <0.3,
-            ghcjs-prim -any,
-            ghc-prim -any
-    else
-        build-depends:
-            haskell-gi-base >= 0.18 && < 0.19,
-            gi-glib >=2.0.6 && <2.1,
-            gi-gtk >=3.0.6 && <3.1,
-            gi-webkit >=3.0.6 && <3.1
-
-    exposed-modules:
-        JSDOM.Custom.AudioContext
-        JSDOM.Custom.Database
-        JSDOM.Custom.DOMError
-        JSDOM.Custom.Geolocation
-        JSDOM.Custom.MediaStreamTrack
-        JSDOM.Custom.Navigator
-        JSDOM.Custom.NavigatorUserMediaError
-        JSDOM.Custom.PositionError
-        JSDOM.Custom.RTCPeerConnection
-        JSDOM.Custom.RTCPeerConnectionError
-        JSDOM.Custom.SQLError
-        JSDOM.Custom.SQLTransaction
-        JSDOM.Custom.Window
-        JSDOM.Custom.XMLHttpRequest
-        JSDOM.Generated.ANGLEInstancedArrays
-        JSDOM.Generated.AbstractView
-        JSDOM.Generated.AbstractWorker
-        JSDOM.Generated.AllAudioCapabilities
-        JSDOM.Generated.AllVideoCapabilities
-        JSDOM.Generated.AnalyserNode
-        JSDOM.Generated.AnimationEvent
-        JSDOM.Generated.Attr
-        JSDOM.Generated.AudioBuffer
-        JSDOM.Generated.AudioBufferCallback
-        JSDOM.Generated.AudioBufferSourceNode
-        JSDOM.Generated.AudioContext
-        JSDOM.Generated.AudioDestinationNode
-        JSDOM.Generated.AudioListener
-        JSDOM.Generated.AudioNode
-        JSDOM.Generated.AudioParam
-        JSDOM.Generated.AudioProcessingEvent
-        JSDOM.Generated.AudioStreamTrack
-        JSDOM.Generated.AudioTrack
-        JSDOM.Generated.AudioTrackList
-        JSDOM.Generated.AutocompleteErrorEvent
-        JSDOM.Generated.BarProp
-        JSDOM.Generated.BatteryManager
-        JSDOM.Generated.BeforeLoadEvent
-        JSDOM.Generated.BeforeUnloadEvent
-        JSDOM.Generated.BiquadFilterNode
-        JSDOM.Generated.Blob
-        JSDOM.Generated.CSSCharsetRule
-        JSDOM.Generated.CSSFontFaceLoadEvent
-        JSDOM.Generated.CSSFontFaceRule
-        JSDOM.Generated.CSSImportRule
-        JSDOM.Generated.CSSKeyframeRule
-        JSDOM.Generated.CSSKeyframesRule
-        JSDOM.Generated.CSSMediaRule
-        JSDOM.Generated.CSSPageRule
-        JSDOM.Generated.CSSPrimitiveValue
-        JSDOM.Generated.CSSRule
-        JSDOM.Generated.CSSRuleList
-        JSDOM.Generated.CSSStyleDeclaration
-        JSDOM.Generated.CSSStyleRule
-        JSDOM.Generated.CSSStyleSheet
-        JSDOM.Generated.CSSSupportsRule
-        JSDOM.Generated.CSSValue
-        JSDOM.Generated.CSSValueList
-        JSDOM.Generated.CanvasGradient
-        JSDOM.Generated.CanvasRenderingContext
-        JSDOM.Generated.CanvasRenderingContext2D
-        JSDOM.Generated.CapabilityRange
-        JSDOM.Generated.CharacterData
-        JSDOM.Generated.ChildNode
-        JSDOM.Generated.ClientRect
-        JSDOM.Generated.ClientRectList
-        JSDOM.Generated.CloseEvent
-        JSDOM.Generated.CommandLineAPIHost
-        JSDOM.Generated.Comment
-        JSDOM.Generated.CompositionEvent
-        JSDOM.Generated.ConvolverNode
-        JSDOM.Generated.Coordinates
-        JSDOM.Generated.Counter
-        JSDOM.Generated.Crypto
-        JSDOM.Generated.CryptoKey
-        JSDOM.Generated.CryptoKeyPair
-        JSDOM.Generated.CustomEvent
-        JSDOM.Generated.ApplicationCache
-        JSDOM.Generated.DOMError
-        JSDOM.Generated.FormData
-        JSDOM.Generated.DOMImplementation
-        JSDOM.Generated.MimeType
-        JSDOM.Generated.MimeTypeArray
-        JSDOM.Generated.DOMNamedFlowCollection
-        JSDOM.Generated.DOMParser
-        JSDOM.Generated.Path2D
-        JSDOM.Generated.Plugin
-        JSDOM.Generated.PluginArray
-        JSDOM.Generated.SecurityPolicy
-        JSDOM.Generated.Selection
-        JSDOM.Generated.DOMSettableTokenList
-        JSDOM.Generated.DOMStringList
-        JSDOM.Generated.DOMTokenList
-        JSDOM.Generated.URL
-        JSDOM.Generated.Window
-        JSDOM.Generated.CSS
-        JSDOM.Generated.DataCue
-        JSDOM.Generated.DataTransfer
-        JSDOM.Generated.DataTransferItem
-        JSDOM.Generated.DataTransferItemList
-        JSDOM.Generated.Database
-        JSDOM.Generated.DatabaseCallback
-        JSDOM.Generated.DedicatedWorkerGlobalScope
-        JSDOM.Generated.DelayNode
-        JSDOM.Generated.DeviceMotionEvent
-        JSDOM.Generated.DeviceOrientationEvent
-        JSDOM.Generated.DeviceProximityEvent
-        JSDOM.Generated.Document
-        JSDOM.Generated.DocumentFragment
-        JSDOM.Generated.DocumentType
-        JSDOM.Generated.DynamicsCompressorNode
-        JSDOM.Generated.EXTBlendMinMax
-        JSDOM.Generated.EXTsRGB
-        JSDOM.Generated.EXTTextureFilterAnisotropic
-        JSDOM.Generated.Element
-        JSDOM.Generated.Entity
-        JSDOM.Generated.Enums
-        JSDOM.Generated.ErrorEvent
-        JSDOM.Generated.Event
-        JSDOM.Generated.EventListener
-        JSDOM.Generated.EventSource
-        JSDOM.Generated.EventTarget
-        JSDOM.Generated.File
-        JSDOM.Generated.FileError
-        JSDOM.Generated.FileList
-        JSDOM.Generated.FileReader
-        JSDOM.Generated.FileReaderSync
-        JSDOM.Generated.FocusEvent
-        JSDOM.Generated.FontLoader
-        JSDOM.Generated.GainNode
-        JSDOM.Generated.Gamepad
-        JSDOM.Generated.GamepadButton
-        JSDOM.Generated.GamepadEvent
-        JSDOM.Generated.Geolocation
-        JSDOM.Generated.Geoposition
-        JSDOM.Generated.HTMLAllCollection
-        JSDOM.Generated.HTMLAnchorElement
-        JSDOM.Generated.HTMLAppletElement
-        JSDOM.Generated.HTMLAreaElement
-        JSDOM.Generated.HTMLBRElement
-        JSDOM.Generated.HTMLBaseElement
-        JSDOM.Generated.HTMLBaseFontElement
-        JSDOM.Generated.HTMLBodyElement
-        JSDOM.Generated.HTMLButtonElement
-        JSDOM.Generated.HTMLCanvasElement
-        JSDOM.Generated.HTMLCollection
-        JSDOM.Generated.HTMLDListElement
-        JSDOM.Generated.HTMLDataListElement
-        JSDOM.Generated.HTMLDetailsElement
-        JSDOM.Generated.HTMLDirectoryElement
-        JSDOM.Generated.HTMLDivElement
-        JSDOM.Generated.HTMLDocument
-        JSDOM.Generated.HTMLElement
-        JSDOM.Generated.HTMLEmbedElement
-        JSDOM.Generated.HTMLFieldSetElement
-        JSDOM.Generated.HTMLFontElement
-        JSDOM.Generated.HTMLFormControlsCollection
-        JSDOM.Generated.HTMLFormElement
-        JSDOM.Generated.HTMLFrameElement
-        JSDOM.Generated.HTMLFrameSetElement
-        JSDOM.Generated.HTMLHRElement
-        JSDOM.Generated.HTMLHeadElement
-        JSDOM.Generated.HTMLHeadingElement
-        JSDOM.Generated.HTMLHtmlElement
-        JSDOM.Generated.HTMLIFrameElement
-        JSDOM.Generated.HTMLImageElement
-        JSDOM.Generated.HTMLInputElement
-        JSDOM.Generated.HTMLKeygenElement
-        JSDOM.Generated.HTMLLIElement
-        JSDOM.Generated.HTMLLabelElement
-        JSDOM.Generated.HTMLLegendElement
-        JSDOM.Generated.HTMLLinkElement
-        JSDOM.Generated.HTMLMapElement
-        JSDOM.Generated.HTMLMarqueeElement
-        JSDOM.Generated.HTMLMediaElement
-        JSDOM.Generated.HTMLMenuElement
-        JSDOM.Generated.HTMLMetaElement
-        JSDOM.Generated.HTMLMeterElement
-        JSDOM.Generated.HTMLModElement
-        JSDOM.Generated.HTMLOListElement
-        JSDOM.Generated.HTMLObjectElement
-        JSDOM.Generated.HTMLOptGroupElement
-        JSDOM.Generated.HTMLOptionElement
-        JSDOM.Generated.HTMLOptionsCollection
-        JSDOM.Generated.HTMLOutputElement
-        JSDOM.Generated.HTMLParagraphElement
-        JSDOM.Generated.HTMLParamElement
-        JSDOM.Generated.HTMLPreElement
-        JSDOM.Generated.HTMLProgressElement
-        JSDOM.Generated.HTMLQuoteElement
-        JSDOM.Generated.HTMLScriptElement
-        JSDOM.Generated.HTMLSelectElement
-        JSDOM.Generated.HTMLSourceElement
-        JSDOM.Generated.HTMLStyleElement
-        JSDOM.Generated.HTMLTableCaptionElement
-        JSDOM.Generated.HTMLTableCellElement
-        JSDOM.Generated.HTMLTableColElement
-        JSDOM.Generated.HTMLTableElement
-        JSDOM.Generated.HTMLTableRowElement
-        JSDOM.Generated.HTMLTableSectionElement
-        JSDOM.Generated.HTMLTemplateElement
-        JSDOM.Generated.HTMLTextAreaElement
-        JSDOM.Generated.HTMLTitleElement
-        JSDOM.Generated.HTMLTrackElement
-        JSDOM.Generated.HTMLUListElement
-        JSDOM.Generated.HTMLVideoElement
-        JSDOM.Generated.HashChangeEvent
-        JSDOM.Generated.History
-        JSDOM.Generated.IDBCursor
-        JSDOM.Generated.IDBCursorWithValue
-        JSDOM.Generated.IDBDatabase
-        JSDOM.Generated.IDBFactory
-        JSDOM.Generated.IDBIndex
-        JSDOM.Generated.IDBKeyRange
-        JSDOM.Generated.IDBObjectStore
-        JSDOM.Generated.IDBOpenDBRequest
-        JSDOM.Generated.IDBRequest
-        JSDOM.Generated.IDBTransaction
-        JSDOM.Generated.IDBVersionChangeEvent
-        JSDOM.Generated.ImageData
-        JSDOM.Generated.InspectorFrontendHost
-        JSDOM.Generated.InternalSettings
-        JSDOM.Generated.Internals
-        JSDOM.Generated.KeyboardEvent
-        JSDOM.Generated.Location
-        JSDOM.Generated.MallocStatistics
-        JSDOM.Generated.MediaController
-        JSDOM.Generated.MediaControlsHost
-        JSDOM.Generated.MediaElementAudioSourceNode
-        JSDOM.Generated.MediaError
-        JSDOM.Generated.MediaKeyError
-        JSDOM.Generated.MediaKeyEvent
-        JSDOM.Generated.MediaKeyMessageEvent
-        JSDOM.Generated.MediaKeyNeededEvent
-        JSDOM.Generated.MediaKeySession
-        JSDOM.Generated.MediaKeys
-        JSDOM.Generated.MediaList
-        JSDOM.Generated.MediaQueryList
-        JSDOM.Generated.MediaQueryListListener
-        JSDOM.Generated.MediaSource
-        JSDOM.Generated.MediaSourceStates
-        JSDOM.Generated.MediaStream
-        JSDOM.Generated.MediaStreamAudioDestinationNode
-        JSDOM.Generated.MediaStreamAudioSourceNode
-        JSDOM.Generated.MediaStreamEvent
-        JSDOM.Generated.MediaStreamTrack
-        JSDOM.Generated.MediaStreamTrackEvent
-        JSDOM.Generated.MediaStreamTrackSourcesCallback
-        JSDOM.Generated.MediaTrackConstraints
-        JSDOM.Generated.MemoryInfo
-        JSDOM.Generated.MessageChannel
-        JSDOM.Generated.MessageEvent
-        JSDOM.Generated.MessagePort
-        JSDOM.Generated.MouseEvent
-        JSDOM.Generated.MutationEvent
-        JSDOM.Generated.MutationObserver
-        JSDOM.Generated.MutationRecord
-        JSDOM.Generated.NamedNodeMap
-        JSDOM.Generated.Navigator
-        JSDOM.Generated.NavigatorUserMediaError
-        JSDOM.Generated.NavigatorUserMediaErrorCallback
-        JSDOM.Generated.NavigatorUserMediaSuccessCallback
-        JSDOM.Generated.Node
-        JSDOM.Generated.NodeFilter
-        JSDOM.Generated.NodeIterator
-        JSDOM.Generated.NodeList
-        JSDOM.Generated.Notification
-        JSDOM.Generated.NotificationCenter
-        JSDOM.Generated.NotificationPermissionCallback
-        JSDOM.Generated.OESStandardDerivatives
-        JSDOM.Generated.OESTextureHalfFloat
-        JSDOM.Generated.OESVertexArrayObject
-        JSDOM.Generated.OfflineAudioCompletionEvent
-        JSDOM.Generated.OfflineAudioContext
-        JSDOM.Generated.OscillatorNode
-        JSDOM.Generated.OverflowEvent
-        JSDOM.Generated.PageTransitionEvent
-        JSDOM.Generated.PannerNode
-        JSDOM.Generated.Performance
-        JSDOM.Generated.PerformanceEntry
-        JSDOM.Generated.PerformanceEntryList
-        JSDOM.Generated.PerformanceNavigation
-        JSDOM.Generated.PerformanceResourceTiming
-        JSDOM.Generated.PerformanceTiming
-        JSDOM.Generated.PopStateEvent
-        JSDOM.Generated.PositionCallback
-        JSDOM.Generated.PositionError
-        JSDOM.Generated.PositionErrorCallback
-        JSDOM.Generated.ProcessingInstruction
-        JSDOM.Generated.ProgressEvent
-        JSDOM.Generated.QuickTimePluginReplacement
-        JSDOM.Generated.RGBColor
-        JSDOM.Generated.RTCConfiguration
-        JSDOM.Generated.RTCDTMFSender
-        JSDOM.Generated.RTCDTMFToneChangeEvent
-        JSDOM.Generated.RTCDataChannel
-        JSDOM.Generated.RTCDataChannelEvent
-        JSDOM.Generated.RTCIceCandidate
-        JSDOM.Generated.RTCIceCandidateEvent
-        JSDOM.Generated.RTCIceServer
-        JSDOM.Generated.RTCPeerConnection
-        JSDOM.Generated.RTCPeerConnectionErrorCallback
-        JSDOM.Generated.RTCSessionDescription
-        JSDOM.Generated.RTCSessionDescriptionCallback
-        JSDOM.Generated.RTCStatsCallback
-        JSDOM.Generated.RTCStatsReport
-        JSDOM.Generated.RTCStatsResponse
-        JSDOM.Generated.RadioNodeList
-        JSDOM.Generated.Range
-        JSDOM.Generated.ReadableStream
-        JSDOM.Generated.Rect
-        JSDOM.Generated.RequestAnimationFrameCallback
-        JSDOM.Generated.SQLError
-        JSDOM.Generated.SQLResultSet
-        JSDOM.Generated.SQLResultSetRowList
-        JSDOM.Generated.SQLStatementCallback
-        JSDOM.Generated.SQLStatementErrorCallback
-        JSDOM.Generated.SQLTransaction
-        JSDOM.Generated.SQLTransactionCallback
-        JSDOM.Generated.SQLTransactionErrorCallback
-        JSDOM.Generated.SVGAElement
-        JSDOM.Generated.SVGAltGlyphElement
-        JSDOM.Generated.SVGAngle
-        JSDOM.Generated.SVGAnimatedAngle
-        JSDOM.Generated.SVGAnimatedBoolean
-        JSDOM.Generated.SVGAnimatedEnumeration
-        JSDOM.Generated.SVGAnimatedInteger
-        JSDOM.Generated.SVGAnimatedLength
-        JSDOM.Generated.SVGAnimatedLengthList
-        JSDOM.Generated.SVGAnimatedNumber
-        JSDOM.Generated.SVGAnimatedNumberList
-        JSDOM.Generated.SVGAnimatedPreserveAspectRatio
-        JSDOM.Generated.SVGAnimatedRect
-        JSDOM.Generated.SVGAnimatedString
-        JSDOM.Generated.SVGAnimatedTransformList
-        JSDOM.Generated.SVGAnimationElement
-        JSDOM.Generated.SVGCircleElement
-        JSDOM.Generated.SVGClipPathElement
-        JSDOM.Generated.SVGColor
-        JSDOM.Generated.SVGComponentTransferFunctionElement
-        JSDOM.Generated.SVGCursorElement
-        JSDOM.Generated.SVGDocument
-        JSDOM.Generated.SVGElement
-        JSDOM.Generated.SVGEllipseElement
-        JSDOM.Generated.SVGExternalResourcesRequired
-        JSDOM.Generated.SVGFEBlendElement
-        JSDOM.Generated.SVGFEColorMatrixElement
-        JSDOM.Generated.SVGFEComponentTransferElement
-        JSDOM.Generated.SVGFECompositeElement
-        JSDOM.Generated.SVGFEConvolveMatrixElement
-        JSDOM.Generated.SVGFEDiffuseLightingElement
-        JSDOM.Generated.SVGFEDisplacementMapElement
-        JSDOM.Generated.SVGFEDistantLightElement
-        JSDOM.Generated.SVGFEDropShadowElement
-        JSDOM.Generated.SVGFEGaussianBlurElement
-        JSDOM.Generated.SVGFEImageElement
-        JSDOM.Generated.SVGFEMergeNodeElement
-        JSDOM.Generated.SVGFEMorphologyElement
-        JSDOM.Generated.SVGFEOffsetElement
-        JSDOM.Generated.SVGFEPointLightElement
-        JSDOM.Generated.SVGFESpecularLightingElement
-        JSDOM.Generated.SVGFESpotLightElement
-        JSDOM.Generated.SVGFETileElement
-        JSDOM.Generated.SVGFETurbulenceElement
-        JSDOM.Generated.SVGFilterElement
-        JSDOM.Generated.SVGFilterPrimitiveStandardAttributes
-        JSDOM.Generated.SVGFitToViewBox
-        JSDOM.Generated.SVGForeignObjectElement
-        JSDOM.Generated.SVGGlyphRefElement
-        JSDOM.Generated.SVGGradientElement
-        JSDOM.Generated.SVGGraphicsElement
-        JSDOM.Generated.SVGImageElement
-        JSDOM.Generated.SVGLength
-        JSDOM.Generated.SVGLengthList
-        JSDOM.Generated.SVGLineElement
-        JSDOM.Generated.SVGLinearGradientElement
-        JSDOM.Generated.SVGMarkerElement
-        JSDOM.Generated.SVGMaskElement
-        JSDOM.Generated.SVGMatrix
-        JSDOM.Generated.SVGNumber
-        JSDOM.Generated.SVGNumberList
-        JSDOM.Generated.SVGPaint
-        JSDOM.Generated.SVGPathElement
-        JSDOM.Generated.SVGPathSeg
-        JSDOM.Generated.SVGPathSegArcAbs
-        JSDOM.Generated.SVGPathSegArcRel
-        JSDOM.Generated.SVGPathSegCurvetoCubicAbs
-        JSDOM.Generated.SVGPathSegCurvetoCubicRel
-        JSDOM.Generated.SVGPathSegCurvetoCubicSmoothAbs
-        JSDOM.Generated.SVGPathSegCurvetoCubicSmoothRel
-        JSDOM.Generated.SVGPathSegCurvetoQuadraticAbs
-        JSDOM.Generated.SVGPathSegCurvetoQuadraticRel
-        JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothAbs
-        JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothRel
-        JSDOM.Generated.SVGPathSegLinetoAbs
-        JSDOM.Generated.SVGPathSegLinetoHorizontalAbs
-        JSDOM.Generated.SVGPathSegLinetoHorizontalRel
-        JSDOM.Generated.SVGPathSegLinetoRel
-        JSDOM.Generated.SVGPathSegLinetoVerticalAbs
-        JSDOM.Generated.SVGPathSegLinetoVerticalRel
-        JSDOM.Generated.SVGPathSegList
-        JSDOM.Generated.SVGPathSegMovetoAbs
-        JSDOM.Generated.SVGPathSegMovetoRel
-        JSDOM.Generated.SVGPatternElement
-        JSDOM.Generated.SVGPoint
-        JSDOM.Generated.SVGPointList
-        JSDOM.Generated.SVGPolygonElement
-        JSDOM.Generated.SVGPolylineElement
-        JSDOM.Generated.SVGPreserveAspectRatio
-        JSDOM.Generated.SVGRadialGradientElement
-        JSDOM.Generated.SVGRect
-        JSDOM.Generated.SVGRectElement
-        JSDOM.Generated.SVGRenderingIntent
-        JSDOM.Generated.SVGScriptElement
-        JSDOM.Generated.SVGSVGElement
-        JSDOM.Generated.SVGStopElement
-        JSDOM.Generated.SVGStringList
-        JSDOM.Generated.SVGStyleElement
-        JSDOM.Generated.SVGTests
-        JSDOM.Generated.SVGTextContentElement
-        JSDOM.Generated.SVGTextPathElement
-        JSDOM.Generated.SVGTextPositioningElement
-        JSDOM.Generated.SVGTransform
-        JSDOM.Generated.SVGTransformList
-        JSDOM.Generated.SVGURIReference
-        JSDOM.Generated.SVGUnitTypes
-        JSDOM.Generated.SVGUseElement
-        JSDOM.Generated.SVGViewElement
-        JSDOM.Generated.SVGViewSpec
-        JSDOM.Generated.SVGZoomAndPan
-        JSDOM.Generated.SVGZoomEvent
-        JSDOM.Generated.Screen
-        JSDOM.Generated.ScriptProcessorNode
-        JSDOM.Generated.ScriptProfile
-        JSDOM.Generated.ScriptProfileNode
-        JSDOM.Generated.SecurityPolicyViolationEvent
-        JSDOM.Generated.SourceBuffer
-        JSDOM.Generated.SourceBufferList
-        JSDOM.Generated.SourceInfo
-        JSDOM.Generated.SpeechSynthesis
-        JSDOM.Generated.SpeechSynthesisEvent
-        JSDOM.Generated.SpeechSynthesisUtterance
-        JSDOM.Generated.SpeechSynthesisVoice
-        JSDOM.Generated.Storage
-        JSDOM.Generated.StorageErrorCallback
-        JSDOM.Generated.StorageEvent
-        JSDOM.Generated.StorageInfo
-        JSDOM.Generated.StorageQuota
-        JSDOM.Generated.StorageQuotaCallback
-        JSDOM.Generated.StorageUsageCallback
-        JSDOM.Generated.StringCallback
-        JSDOM.Generated.StyleMedia
-        JSDOM.Generated.StyleSheet
-        JSDOM.Generated.StyleSheetList
-        JSDOM.Generated.SubtleCrypto
-        JSDOM.Generated.Text
-        JSDOM.Generated.TextEvent
-        JSDOM.Generated.TextMetrics
-        JSDOM.Generated.TextTrack
-        JSDOM.Generated.TextTrackCue
-        JSDOM.Generated.TextTrackCueList
-        JSDOM.Generated.TextTrackList
-        JSDOM.Generated.TimeRanges
-        JSDOM.Generated.Touch
-        JSDOM.Generated.TouchEvent
-        JSDOM.Generated.TouchList
-        JSDOM.Generated.TrackEvent
-        JSDOM.Generated.TransitionEvent
-        JSDOM.Generated.TreeWalker
-        JSDOM.Generated.TypeConversions
-        JSDOM.Generated.UIEvent
-        JSDOM.Generated.UIRequestEvent
-        JSDOM.Generated.URLUtils
-        JSDOM.Generated.UserMessageHandler
-        JSDOM.Generated.VTTCue
-        JSDOM.Generated.VTTRegion
-        JSDOM.Generated.VTTRegionList
-        JSDOM.Generated.ValidityState
-        JSDOM.Generated.VideoPlaybackQuality
-        JSDOM.Generated.VideoStreamTrack
-        JSDOM.Generated.VideoTrack
-        JSDOM.Generated.VideoTrackList
-        JSDOM.Generated.VoidCallback
-        JSDOM.Generated.WaveShaperNode
-        JSDOM.Generated.WebGL2RenderingContext
-        JSDOM.Generated.WebGLActiveInfo
-        JSDOM.Generated.WebGLCompressedTextureATC
-        JSDOM.Generated.WebGLCompressedTexturePVRTC
-        JSDOM.Generated.WebGLCompressedTextureS3TC
-        JSDOM.Generated.WebGLContextAttributes
-        JSDOM.Generated.WebGLContextEvent
-        JSDOM.Generated.WebGLDebugRendererInfo
-        JSDOM.Generated.WebGLDebugShaders
-        JSDOM.Generated.WebGLDepthTexture
-        JSDOM.Generated.WebGLDrawBuffers
-        JSDOM.Generated.WebGLLoseContext
-        JSDOM.Generated.WebGLRenderingContextBase
-        JSDOM.Generated.WebGLShaderPrecisionFormat
-        JSDOM.Generated.WebKitAnimationEvent
-        JSDOM.Generated.WebKitCSSFilterValue
-        JSDOM.Generated.WebKitCSSMatrix
-        JSDOM.Generated.WebKitCSSRegionRule
-        JSDOM.Generated.WebKitCSSTransformValue
-        JSDOM.Generated.WebKitCSSViewportRule
-        JSDOM.Generated.WebKitNamedFlow
-        JSDOM.Generated.WebKitNamespace
-        JSDOM.Generated.WebKitPlaybackTargetAvailabilityEvent
-        JSDOM.Generated.WebKitPoint
-        JSDOM.Generated.WebKitTransitionEvent
-        JSDOM.Generated.WebSocket
-        JSDOM.Generated.WheelEvent
-        JSDOM.Generated.WindowBase64
-        JSDOM.Generated.WindowTimers
-        JSDOM.Generated.Worker
-        JSDOM.Generated.WorkerGlobalScope
-        JSDOM.Generated.WorkerLocation
-        JSDOM.Generated.WorkerNavigator
-        JSDOM.Generated.XMLHttpRequest
-        JSDOM.Generated.XMLHttpRequestProgressEvent
-        JSDOM.Generated.XMLHttpRequestUpload
-        JSDOM.Generated.XMLSerializer
-        JSDOM.Generated.XPathEvaluator
-        JSDOM.Generated.XPathExpression
-        JSDOM.Generated.XPathNSResolver
-        JSDOM.Generated.XPathResult
-        JSDOM.Generated.XSLTProcessor
-        JSDOM
-        JSDOM.EventM
-        JSDOM.Types
-        JSDOM.Enums
-        JSDOM.EventTargetClosures
-
-    reexported-modules:
-          JSDOM.Custom.AudioContext as JSDOM.AudioContext
-        , JSDOM.Custom.Database as JSDOM.Database
-        , JSDOM.Custom.DOMError as JSDOM.DOMError
-        , JSDOM.Custom.Geolocation as JSDOM.Geolocation
-        , JSDOM.Custom.MediaStreamTrack as JSDOM.MediaStreamTrack
-        , JSDOM.Custom.Navigator as JSDOM.Navigator
-        , JSDOM.Custom.NavigatorUserMediaError as JSDOM.NavigatorUserMediaError
-        , JSDOM.Custom.PositionError as JSDOM.PositionError
-        , JSDOM.Custom.RTCPeerConnection as JSDOM.RTCPeerConnection
-        , JSDOM.Custom.RTCPeerConnectionError as JSDOM.RTCPeerConnectionError
-        , JSDOM.Custom.SQLError as JSDOM.SQLError
-        , JSDOM.Custom.SQLTransaction as JSDOM.SQLTransaction
-        , JSDOM.Custom.Window as JSDOM.Window
-        , JSDOM.Custom.XMLHttpRequest as JSDOM.XMLHttpRequest
-        , JSDOM.Generated.ANGLEInstancedArrays as JSDOM.ANGLEInstancedArrays
-        , JSDOM.Generated.AbstractView as JSDOM.AbstractView
-        , JSDOM.Generated.AbstractWorker as JSDOM.AbstractWorker
-        , JSDOM.Generated.AllAudioCapabilities as JSDOM.AllAudioCapabilities
-        , JSDOM.Generated.AllVideoCapabilities as JSDOM.AllVideoCapabilities
-        , JSDOM.Generated.AnalyserNode as JSDOM.AnalyserNode
-        , JSDOM.Generated.AnimationEvent as JSDOM.AnimationEvent
-        , JSDOM.Generated.Attr as JSDOM.Attr
-        , JSDOM.Generated.AudioBuffer as JSDOM.AudioBuffer
-        , JSDOM.Generated.AudioBufferCallback as JSDOM.AudioBufferCallback
-        , JSDOM.Generated.AudioBufferSourceNode as JSDOM.AudioBufferSourceNode
-        , JSDOM.Generated.AudioDestinationNode as JSDOM.AudioDestinationNode
-        , JSDOM.Generated.AudioListener as JSDOM.AudioListener
-        , JSDOM.Generated.AudioNode as JSDOM.AudioNode
-        , JSDOM.Generated.AudioParam as JSDOM.AudioParam
-        , JSDOM.Generated.AudioProcessingEvent as JSDOM.AudioProcessingEvent
-        , JSDOM.Generated.AudioStreamTrack as JSDOM.AudioStreamTrack
-        , JSDOM.Generated.AudioTrack as JSDOM.AudioTrack
-        , JSDOM.Generated.AudioTrackList as JSDOM.AudioTrackList
-        , JSDOM.Generated.AutocompleteErrorEvent as JSDOM.AutocompleteErrorEvent
-        , JSDOM.Generated.BarProp as JSDOM.BarProp
-        , JSDOM.Generated.BatteryManager as JSDOM.BatteryManager
-        , JSDOM.Generated.BeforeLoadEvent as JSDOM.BeforeLoadEvent
-        , JSDOM.Generated.BeforeUnloadEvent as JSDOM.BeforeUnloadEvent
-        , JSDOM.Generated.BiquadFilterNode as JSDOM.BiquadFilterNode
-        , JSDOM.Generated.Blob as JSDOM.Blob
-        , JSDOM.Generated.CSSCharsetRule as JSDOM.CSSCharsetRule
-        , JSDOM.Generated.CSSFontFaceLoadEvent as JSDOM.CSSFontFaceLoadEvent
-        , JSDOM.Generated.CSSFontFaceRule as JSDOM.CSSFontFaceRule
-        , JSDOM.Generated.CSSImportRule as JSDOM.CSSImportRule
-        , JSDOM.Generated.CSSKeyframeRule as JSDOM.CSSKeyframeRule
-        , JSDOM.Generated.CSSKeyframesRule as JSDOM.CSSKeyframesRule
-        , JSDOM.Generated.CSSMediaRule as JSDOM.CSSMediaRule
-        , JSDOM.Generated.CSSPageRule as JSDOM.CSSPageRule
-        , JSDOM.Generated.CSSPrimitiveValue as JSDOM.CSSPrimitiveValue
-        , JSDOM.Generated.CSSRule as JSDOM.CSSRule
-        , JSDOM.Generated.CSSRuleList as JSDOM.CSSRuleList
-        , JSDOM.Generated.CSSStyleDeclaration as JSDOM.CSSStyleDeclaration
-        , JSDOM.Generated.CSSStyleRule as JSDOM.CSSStyleRule
-        , JSDOM.Generated.CSSStyleSheet as JSDOM.CSSStyleSheet
-        , JSDOM.Generated.CSSSupportsRule as JSDOM.CSSSupportsRule
-        , JSDOM.Generated.CSSValue as JSDOM.CSSValue
-        , JSDOM.Generated.CSSValueList as JSDOM.CSSValueList
-        , JSDOM.Generated.CanvasGradient as JSDOM.CanvasGradient
-        , JSDOM.Generated.CanvasRenderingContext as JSDOM.CanvasRenderingContext
-        , JSDOM.Generated.CanvasRenderingContext2D as JSDOM.CanvasRenderingContext2D
-        , JSDOM.Generated.CapabilityRange as JSDOM.CapabilityRange
-        , JSDOM.Generated.CharacterData as JSDOM.CharacterData
-        , JSDOM.Generated.ChildNode as JSDOM.ChildNode
-        , JSDOM.Generated.ClientRect as JSDOM.ClientRect
-        , JSDOM.Generated.ClientRectList as JSDOM.ClientRectList
-        , JSDOM.Generated.CloseEvent as JSDOM.CloseEvent
-        , JSDOM.Generated.CommandLineAPIHost as JSDOM.CommandLineAPIHost
-        , JSDOM.Generated.Comment as JSDOM.Comment
-        , JSDOM.Generated.CompositionEvent as JSDOM.CompositionEvent
-        , JSDOM.Generated.ConvolverNode as JSDOM.ConvolverNode
-        , JSDOM.Generated.Coordinates as JSDOM.Coordinates
-        , JSDOM.Generated.Counter as JSDOM.Counter
-        , JSDOM.Generated.Crypto as JSDOM.Crypto
-        , JSDOM.Generated.CryptoKey as JSDOM.CryptoKey
-        , JSDOM.Generated.CryptoKeyPair as JSDOM.CryptoKeyPair
-        , JSDOM.Generated.CustomEvent as JSDOM.CustomEvent
-        , JSDOM.Generated.ApplicationCache as JSDOM.ApplicationCache
-        , JSDOM.Generated.FormData as JSDOM.FormData
-        , JSDOM.Generated.DOMImplementation as JSDOM.DOMImplementation
-        , JSDOM.Generated.MimeType as JSDOM.MimeType
-        , JSDOM.Generated.MimeTypeArray as JSDOM.MimeTypeArray
-        , JSDOM.Generated.DOMNamedFlowCollection as JSDOM.DOMNamedFlowCollection
-        , JSDOM.Generated.DOMParser as JSDOM.DOMParser
-        , JSDOM.Generated.Path2D as JSDOM.Path2D
-        , JSDOM.Generated.Plugin as JSDOM.Plugin
-        , JSDOM.Generated.PluginArray as JSDOM.PluginArray
-        , JSDOM.Generated.SecurityPolicy as JSDOM.SecurityPolicy
-        , JSDOM.Generated.Selection as JSDOM.Selection
-        , JSDOM.Generated.DOMSettableTokenList as JSDOM.DOMSettableTokenList
-        , JSDOM.Generated.DOMStringList as JSDOM.DOMStringList
-        , JSDOM.Generated.DOMTokenList as JSDOM.DOMTokenList
-        , JSDOM.Generated.URL as JSDOM.URL
-        , JSDOM.Generated.CSS as JSDOM.CSS
-        , JSDOM.Generated.DataCue as JSDOM.DataCue
-        , JSDOM.Generated.DataTransfer as JSDOM.DataTransfer
-        , JSDOM.Generated.DataTransferItem as JSDOM.DataTransferItem
-        , JSDOM.Generated.DataTransferItemList as JSDOM.DataTransferItemList
-        , JSDOM.Generated.DatabaseCallback as JSDOM.DatabaseCallback
-        , JSDOM.Generated.DedicatedWorkerGlobalScope as JSDOM.DedicatedWorkerGlobalScope
-        , JSDOM.Generated.DelayNode as JSDOM.DelayNode
-        , JSDOM.Generated.DeviceMotionEvent as JSDOM.DeviceMotionEvent
-        , JSDOM.Generated.DeviceOrientationEvent as JSDOM.DeviceOrientationEvent
-        , JSDOM.Generated.DeviceProximityEvent as JSDOM.DeviceProximityEvent
-        , JSDOM.Generated.Document as JSDOM.Document
-        , JSDOM.Generated.DocumentFragment as JSDOM.DocumentFragment
-        , JSDOM.Generated.DocumentType as JSDOM.DocumentType
-        , JSDOM.Generated.DynamicsCompressorNode as JSDOM.DynamicsCompressorNode
-        , JSDOM.Generated.EXTBlendMinMax as JSDOM.EXTBlendMinMax
-        , JSDOM.Generated.EXTsRGB as JSDOM.EXTsRGB
-        , JSDOM.Generated.EXTTextureFilterAnisotropic as JSDOM.EXTTextureFilterAnisotropic
-        , JSDOM.Generated.Element as JSDOM.Element
-        , JSDOM.Generated.Entity as JSDOM.Entity
-        , JSDOM.Generated.ErrorEvent as JSDOM.ErrorEvent
-        , JSDOM.Generated.Event as JSDOM.Event
-        , JSDOM.Generated.EventListener as JSDOM.EventListener
-        , JSDOM.Generated.EventSource as JSDOM.EventSource
-        , JSDOM.Generated.EventTarget as JSDOM.EventTarget
-        , JSDOM.Generated.File as JSDOM.File
-        , JSDOM.Generated.FileError as JSDOM.FileError
-        , JSDOM.Generated.FileList as JSDOM.FileList
-        , JSDOM.Generated.FileReader as JSDOM.FileReader
-        , JSDOM.Generated.FileReaderSync as JSDOM.FileReaderSync
-        , JSDOM.Generated.FocusEvent as JSDOM.FocusEvent
-        , JSDOM.Generated.FontLoader as JSDOM.FontLoader
-        , JSDOM.Generated.GainNode as JSDOM.GainNode
-        , JSDOM.Generated.Gamepad as JSDOM.Gamepad
-        , JSDOM.Generated.GamepadButton as JSDOM.GamepadButton
-        , JSDOM.Generated.GamepadEvent as JSDOM.GamepadEvent
-        , JSDOM.Generated.Geoposition as JSDOM.Geoposition
-        , JSDOM.Generated.HTMLAllCollection as JSDOM.HTMLAllCollection
-        , JSDOM.Generated.HTMLAnchorElement as JSDOM.HTMLAnchorElement
-        , JSDOM.Generated.HTMLAppletElement as JSDOM.HTMLAppletElement
-        , JSDOM.Generated.HTMLAreaElement as JSDOM.HTMLAreaElement
-        , JSDOM.Generated.HTMLBRElement as JSDOM.HTMLBRElement
-        , JSDOM.Generated.HTMLBaseElement as JSDOM.HTMLBaseElement
-        , JSDOM.Generated.HTMLBaseFontElement as JSDOM.HTMLBaseFontElement
-        , JSDOM.Generated.HTMLBodyElement as JSDOM.HTMLBodyElement
-        , JSDOM.Generated.HTMLButtonElement as JSDOM.HTMLButtonElement
-        , JSDOM.Generated.HTMLCanvasElement as JSDOM.HTMLCanvasElement
-        , JSDOM.Generated.HTMLCollection as JSDOM.HTMLCollection
-        , JSDOM.Generated.HTMLDListElement as JSDOM.HTMLDListElement
-        , JSDOM.Generated.HTMLDataListElement as JSDOM.HTMLDataListElement
-        , JSDOM.Generated.HTMLDetailsElement as JSDOM.HTMLDetailsElement
-        , JSDOM.Generated.HTMLDirectoryElement as JSDOM.HTMLDirectoryElement
-        , JSDOM.Generated.HTMLDivElement as JSDOM.HTMLDivElement
-        , JSDOM.Generated.HTMLDocument as JSDOM.HTMLDocument
-        , JSDOM.Generated.HTMLElement as JSDOM.HTMLElement
-        , JSDOM.Generated.HTMLEmbedElement as JSDOM.HTMLEmbedElement
-        , JSDOM.Generated.HTMLFieldSetElement as JSDOM.HTMLFieldSetElement
-        , JSDOM.Generated.HTMLFontElement as JSDOM.HTMLFontElement
-        , JSDOM.Generated.HTMLFormControlsCollection as JSDOM.HTMLFormControlsCollection
-        , JSDOM.Generated.HTMLFormElement as JSDOM.HTMLFormElement
-        , JSDOM.Generated.HTMLFrameElement as JSDOM.HTMLFrameElement
-        , JSDOM.Generated.HTMLFrameSetElement as JSDOM.HTMLFrameSetElement
-        , JSDOM.Generated.HTMLHRElement as JSDOM.HTMLHRElement
-        , JSDOM.Generated.HTMLHeadElement as JSDOM.HTMLHeadElement
-        , JSDOM.Generated.HTMLHeadingElement as JSDOM.HTMLHeadingElement
-        , JSDOM.Generated.HTMLHtmlElement as JSDOM.HTMLHtmlElement
-        , JSDOM.Generated.HTMLIFrameElement as JSDOM.HTMLIFrameElement
-        , JSDOM.Generated.HTMLImageElement as JSDOM.HTMLImageElement
-        , JSDOM.Generated.HTMLInputElement as JSDOM.HTMLInputElement
-        , JSDOM.Generated.HTMLKeygenElement as JSDOM.HTMLKeygenElement
-        , JSDOM.Generated.HTMLLIElement as JSDOM.HTMLLIElement
-        , JSDOM.Generated.HTMLLabelElement as JSDOM.HTMLLabelElement
-        , JSDOM.Generated.HTMLLegendElement as JSDOM.HTMLLegendElement
-        , JSDOM.Generated.HTMLLinkElement as JSDOM.HTMLLinkElement
-        , JSDOM.Generated.HTMLMapElement as JSDOM.HTMLMapElement
-        , JSDOM.Generated.HTMLMarqueeElement as JSDOM.HTMLMarqueeElement
-        , JSDOM.Generated.HTMLMediaElement as JSDOM.HTMLMediaElement
-        , JSDOM.Generated.HTMLMenuElement as JSDOM.HTMLMenuElement
-        , JSDOM.Generated.HTMLMetaElement as JSDOM.HTMLMetaElement
-        , JSDOM.Generated.HTMLMeterElement as JSDOM.HTMLMeterElement
-        , JSDOM.Generated.HTMLModElement as JSDOM.HTMLModElement
-        , JSDOM.Generated.HTMLOListElement as JSDOM.HTMLOListElement
-        , JSDOM.Generated.HTMLObjectElement as JSDOM.HTMLObjectElement
-        , JSDOM.Generated.HTMLOptGroupElement as JSDOM.HTMLOptGroupElement
-        , JSDOM.Generated.HTMLOptionElement as JSDOM.HTMLOptionElement
-        , JSDOM.Generated.HTMLOptionsCollection as JSDOM.HTMLOptionsCollection
-        , JSDOM.Generated.HTMLOutputElement as JSDOM.HTMLOutputElement
-        , JSDOM.Generated.HTMLParagraphElement as JSDOM.HTMLParagraphElement
-        , JSDOM.Generated.HTMLParamElement as JSDOM.HTMLParamElement
-        , JSDOM.Generated.HTMLPreElement as JSDOM.HTMLPreElement
-        , JSDOM.Generated.HTMLProgressElement as JSDOM.HTMLProgressElement
-        , JSDOM.Generated.HTMLQuoteElement as JSDOM.HTMLQuoteElement
-        , JSDOM.Generated.HTMLScriptElement as JSDOM.HTMLScriptElement
-        , JSDOM.Generated.HTMLSelectElement as JSDOM.HTMLSelectElement
-        , JSDOM.Generated.HTMLSourceElement as JSDOM.HTMLSourceElement
-        , JSDOM.Generated.HTMLStyleElement as JSDOM.HTMLStyleElement
-        , JSDOM.Generated.HTMLTableCaptionElement as JSDOM.HTMLTableCaptionElement
-        , JSDOM.Generated.HTMLTableCellElement as JSDOM.HTMLTableCellElement
-        , JSDOM.Generated.HTMLTableColElement as JSDOM.HTMLTableColElement
-        , JSDOM.Generated.HTMLTableElement as JSDOM.HTMLTableElement
-        , JSDOM.Generated.HTMLTableRowElement as JSDOM.HTMLTableRowElement
-        , JSDOM.Generated.HTMLTableSectionElement as JSDOM.HTMLTableSectionElement
-        , JSDOM.Generated.HTMLTemplateElement as JSDOM.HTMLTemplateElement
-        , JSDOM.Generated.HTMLTextAreaElement as JSDOM.HTMLTextAreaElement
-        , JSDOM.Generated.HTMLTitleElement as JSDOM.HTMLTitleElement
-        , JSDOM.Generated.HTMLTrackElement as JSDOM.HTMLTrackElement
-        , JSDOM.Generated.HTMLUListElement as JSDOM.HTMLUListElement
-        , JSDOM.Generated.HTMLVideoElement as JSDOM.HTMLVideoElement
-        , JSDOM.Generated.HashChangeEvent as JSDOM.HashChangeEvent
-        , JSDOM.Generated.History as JSDOM.History
-        , JSDOM.Generated.IDBCursor as JSDOM.IDBCursor
-        , JSDOM.Generated.IDBCursorWithValue as JSDOM.IDBCursorWithValue
-        , JSDOM.Generated.IDBDatabase as JSDOM.IDBDatabase
-        , JSDOM.Generated.IDBFactory as JSDOM.IDBFactory
-        , JSDOM.Generated.IDBIndex as JSDOM.IDBIndex
-        , JSDOM.Generated.IDBKeyRange as JSDOM.IDBKeyRange
-        , JSDOM.Generated.IDBObjectStore as JSDOM.IDBObjectStore
-        , JSDOM.Generated.IDBOpenDBRequest as JSDOM.IDBOpenDBRequest
-        , JSDOM.Generated.IDBRequest as JSDOM.IDBRequest
-        , JSDOM.Generated.IDBTransaction as JSDOM.IDBTransaction
-        , JSDOM.Generated.IDBVersionChangeEvent as JSDOM.IDBVersionChangeEvent
-        , JSDOM.Generated.ImageData as JSDOM.ImageData
-        , JSDOM.Generated.InspectorFrontendHost as JSDOM.InspectorFrontendHost
-        , JSDOM.Generated.InternalSettings as JSDOM.InternalSettings
-        , JSDOM.Generated.Internals as JSDOM.Internals
-        , JSDOM.Generated.KeyboardEvent as JSDOM.KeyboardEvent
-        , JSDOM.Generated.Location as JSDOM.Location
-        , JSDOM.Generated.MallocStatistics as JSDOM.MallocStatistics
-        , JSDOM.Generated.MediaController as JSDOM.MediaController
-        , JSDOM.Generated.MediaControlsHost as JSDOM.MediaControlsHost
-        , JSDOM.Generated.MediaElementAudioSourceNode as JSDOM.MediaElementAudioSourceNode
-        , JSDOM.Generated.MediaError as JSDOM.MediaError
-        , JSDOM.Generated.MediaKeyError as JSDOM.MediaKeyError
-        , JSDOM.Generated.MediaKeyEvent as JSDOM.MediaKeyEvent
-        , JSDOM.Generated.MediaKeyMessageEvent as JSDOM.MediaKeyMessageEvent
-        , JSDOM.Generated.MediaKeyNeededEvent as JSDOM.MediaKeyNeededEvent
-        , JSDOM.Generated.MediaKeySession as JSDOM.MediaKeySession
-        , JSDOM.Generated.MediaKeys as JSDOM.MediaKeys
-        , JSDOM.Generated.MediaList as JSDOM.MediaList
-        , JSDOM.Generated.MediaQueryList as JSDOM.MediaQueryList
-        , JSDOM.Generated.MediaQueryListListener as JSDOM.MediaQueryListListener
-        , JSDOM.Generated.MediaSource as JSDOM.MediaSource
-        , JSDOM.Generated.MediaSourceStates as JSDOM.MediaSourceStates
-        , JSDOM.Generated.MediaStream as JSDOM.MediaStream
-        , JSDOM.Generated.MediaStreamAudioDestinationNode as JSDOM.MediaStreamAudioDestinationNode
-        , JSDOM.Generated.MediaStreamAudioSourceNode as JSDOM.MediaStreamAudioSourceNode
-        , JSDOM.Generated.MediaStreamEvent as JSDOM.MediaStreamEvent
-        , JSDOM.Generated.MediaStreamTrackEvent as JSDOM.MediaStreamTrackEvent
-        , JSDOM.Generated.MediaStreamTrackSourcesCallback as JSDOM.MediaStreamTrackSourcesCallback
-        , JSDOM.Generated.MediaTrackConstraints as JSDOM.MediaTrackConstraints
-        , JSDOM.Generated.MemoryInfo as JSDOM.MemoryInfo
-        , JSDOM.Generated.MessageChannel as JSDOM.MessageChannel
-        , JSDOM.Generated.MessageEvent as JSDOM.MessageEvent
-        , JSDOM.Generated.MessagePort as JSDOM.MessagePort
-        , JSDOM.Generated.MouseEvent as JSDOM.MouseEvent
-        , JSDOM.Generated.MutationEvent as JSDOM.MutationEvent
-        , JSDOM.Generated.MutationObserver as JSDOM.MutationObserver
-        , JSDOM.Generated.MutationRecord as JSDOM.MutationRecord
-        , JSDOM.Generated.NamedNodeMap as JSDOM.NamedNodeMap
-        , JSDOM.Generated.NavigatorUserMediaErrorCallback as JSDOM.NavigatorUserMediaErrorCallback
-        , JSDOM.Generated.NavigatorUserMediaSuccessCallback as JSDOM.NavigatorUserMediaSuccessCallback
-        , JSDOM.Generated.Node as JSDOM.Node
-        , JSDOM.Generated.NodeFilter as JSDOM.NodeFilter
-        , JSDOM.Generated.NodeIterator as JSDOM.NodeIterator
-        , JSDOM.Generated.NodeList as JSDOM.NodeList
-        , JSDOM.Generated.Notification as JSDOM.Notification
-        , JSDOM.Generated.NotificationCenter as JSDOM.NotificationCenter
-        , JSDOM.Generated.NotificationPermissionCallback as JSDOM.NotificationPermissionCallback
-        , JSDOM.Generated.OESStandardDerivatives as JSDOM.OESStandardDerivatives
-        , JSDOM.Generated.OESTextureHalfFloat as JSDOM.OESTextureHalfFloat
-        , JSDOM.Generated.OESVertexArrayObject as JSDOM.OESVertexArrayObject
-        , JSDOM.Generated.OfflineAudioCompletionEvent as JSDOM.OfflineAudioCompletionEvent
-        , JSDOM.Generated.OfflineAudioContext as JSDOM.OfflineAudioContext
-        , JSDOM.Generated.OscillatorNode as JSDOM.OscillatorNode
-        , JSDOM.Generated.OverflowEvent as JSDOM.OverflowEvent
-        , JSDOM.Generated.PageTransitionEvent as JSDOM.PageTransitionEvent
-        , JSDOM.Generated.PannerNode as JSDOM.PannerNode
-        , JSDOM.Generated.Performance as JSDOM.Performance
-        , JSDOM.Generated.PerformanceEntry as JSDOM.PerformanceEntry
-        , JSDOM.Generated.PerformanceEntryList as JSDOM.PerformanceEntryList
-        , JSDOM.Generated.PerformanceNavigation as JSDOM.PerformanceNavigation
-        , JSDOM.Generated.PerformanceResourceTiming as JSDOM.PerformanceResourceTiming
-        , JSDOM.Generated.PerformanceTiming as JSDOM.PerformanceTiming
-        , JSDOM.Generated.PopStateEvent as JSDOM.PopStateEvent
-        , JSDOM.Generated.PositionCallback as JSDOM.PositionCallback
-        , JSDOM.Generated.PositionErrorCallback as JSDOM.PositionErrorCallback
-        , JSDOM.Generated.ProcessingInstruction as JSDOM.ProcessingInstruction
-        , JSDOM.Generated.ProgressEvent as JSDOM.ProgressEvent
-        , JSDOM.Generated.QuickTimePluginReplacement as JSDOM.QuickTimePluginReplacement
-        , JSDOM.Generated.RGBColor as JSDOM.RGBColor
-        , JSDOM.Generated.RTCConfiguration as JSDOM.RTCConfiguration
-        , JSDOM.Generated.RTCDTMFSender as JSDOM.RTCDTMFSender
-        , JSDOM.Generated.RTCDTMFToneChangeEvent as JSDOM.RTCDTMFToneChangeEvent
-        , JSDOM.Generated.RTCDataChannel as JSDOM.RTCDataChannel
-        , JSDOM.Generated.RTCDataChannelEvent as JSDOM.RTCDataChannelEvent
-        , JSDOM.Generated.RTCIceCandidate as JSDOM.RTCIceCandidate
-        , JSDOM.Generated.RTCIceCandidateEvent as JSDOM.RTCIceCandidateEvent
-        , JSDOM.Generated.RTCIceServer as JSDOM.RTCIceServer
-        , JSDOM.Generated.RTCPeerConnectionErrorCallback as JSDOM.RTCPeerConnectionErrorCallback
-        , JSDOM.Generated.RTCSessionDescription as JSDOM.RTCSessionDescription
-        , JSDOM.Generated.RTCSessionDescriptionCallback as JSDOM.RTCSessionDescriptionCallback
-        , JSDOM.Generated.RTCStatsCallback as JSDOM.RTCStatsCallback
-        , JSDOM.Generated.RTCStatsReport as JSDOM.RTCStatsReport
-        , JSDOM.Generated.RTCStatsResponse as JSDOM.RTCStatsResponse
-        , JSDOM.Generated.RadioNodeList as JSDOM.RadioNodeList
-        , JSDOM.Generated.Range as JSDOM.Range
-        , JSDOM.Generated.ReadableStream as JSDOM.ReadableStream
-        , JSDOM.Generated.Rect as JSDOM.Rect
-        , JSDOM.Generated.RequestAnimationFrameCallback as JSDOM.RequestAnimationFrameCallback
-        , JSDOM.Generated.SQLResultSet as JSDOM.SQLResultSet
-        , JSDOM.Generated.SQLResultSetRowList as JSDOM.SQLResultSetRowList
-        , JSDOM.Generated.SQLStatementCallback as JSDOM.SQLStatementCallback
-        , JSDOM.Generated.SQLStatementErrorCallback as JSDOM.SQLStatementErrorCallback
-        , JSDOM.Generated.SQLTransactionCallback as JSDOM.SQLTransactionCallback
-        , JSDOM.Generated.SQLTransactionErrorCallback as JSDOM.SQLTransactionErrorCallback
-        , JSDOM.Generated.SVGAElement as JSDOM.SVGAElement
-        , JSDOM.Generated.SVGAltGlyphElement as JSDOM.SVGAltGlyphElement
-        , JSDOM.Generated.SVGAngle as JSDOM.SVGAngle
-        , JSDOM.Generated.SVGAnimatedAngle as JSDOM.SVGAnimatedAngle
-        , JSDOM.Generated.SVGAnimatedBoolean as JSDOM.SVGAnimatedBoolean
-        , JSDOM.Generated.SVGAnimatedEnumeration as JSDOM.SVGAnimatedEnumeration
-        , JSDOM.Generated.SVGAnimatedInteger as JSDOM.SVGAnimatedInteger
-        , JSDOM.Generated.SVGAnimatedLength as JSDOM.SVGAnimatedLength
-        , JSDOM.Generated.SVGAnimatedLengthList as JSDOM.SVGAnimatedLengthList
-        , JSDOM.Generated.SVGAnimatedNumber as JSDOM.SVGAnimatedNumber
-        , JSDOM.Generated.SVGAnimatedNumberList as JSDOM.SVGAnimatedNumberList
-        , JSDOM.Generated.SVGAnimatedPreserveAspectRatio as JSDOM.SVGAnimatedPreserveAspectRatio
-        , JSDOM.Generated.SVGAnimatedRect as JSDOM.SVGAnimatedRect
-        , JSDOM.Generated.SVGAnimatedString as JSDOM.SVGAnimatedString
-        , JSDOM.Generated.SVGAnimatedTransformList as JSDOM.SVGAnimatedTransformList
-        , JSDOM.Generated.SVGAnimationElement as JSDOM.SVGAnimationElement
-        , JSDOM.Generated.SVGCircleElement as JSDOM.SVGCircleElement
-        , JSDOM.Generated.SVGClipPathElement as JSDOM.SVGClipPathElement
-        , JSDOM.Generated.SVGColor as JSDOM.SVGColor
-        , JSDOM.Generated.SVGComponentTransferFunctionElement as JSDOM.SVGComponentTransferFunctionElement
-        , JSDOM.Generated.SVGCursorElement as JSDOM.SVGCursorElement
-        , JSDOM.Generated.SVGDocument as JSDOM.SVGDocument
-        , JSDOM.Generated.SVGElement as JSDOM.SVGElement
-        , JSDOM.Generated.SVGEllipseElement as JSDOM.SVGEllipseElement
-        , JSDOM.Generated.SVGExternalResourcesRequired as JSDOM.SVGExternalResourcesRequired
-        , JSDOM.Generated.SVGFEBlendElement as JSDOM.SVGFEBlendElement
-        , JSDOM.Generated.SVGFEColorMatrixElement as JSDOM.SVGFEColorMatrixElement
-        , JSDOM.Generated.SVGFEComponentTransferElement as JSDOM.SVGFEComponentTransferElement
-        , JSDOM.Generated.SVGFECompositeElement as JSDOM.SVGFECompositeElement
-        , JSDOM.Generated.SVGFEConvolveMatrixElement as JSDOM.SVGFEConvolveMatrixElement
-        , JSDOM.Generated.SVGFEDiffuseLightingElement as JSDOM.SVGFEDiffuseLightingElement
-        , JSDOM.Generated.SVGFEDisplacementMapElement as JSDOM.SVGFEDisplacementMapElement
-        , JSDOM.Generated.SVGFEDistantLightElement as JSDOM.SVGFEDistantLightElement
-        , JSDOM.Generated.SVGFEDropShadowElement as JSDOM.SVGFEDropShadowElement
-        , JSDOM.Generated.SVGFEGaussianBlurElement as JSDOM.SVGFEGaussianBlurElement
-        , JSDOM.Generated.SVGFEImageElement as JSDOM.SVGFEImageElement
-        , JSDOM.Generated.SVGFEMergeNodeElement as JSDOM.SVGFEMergeNodeElement
-        , JSDOM.Generated.SVGFEMorphologyElement as JSDOM.SVGFEMorphologyElement
-        , JSDOM.Generated.SVGFEOffsetElement as JSDOM.SVGFEOffsetElement
-        , JSDOM.Generated.SVGFEPointLightElement as JSDOM.SVGFEPointLightElement
-        , JSDOM.Generated.SVGFESpecularLightingElement as JSDOM.SVGFESpecularLightingElement
-        , JSDOM.Generated.SVGFESpotLightElement as JSDOM.SVGFESpotLightElement
-        , JSDOM.Generated.SVGFETileElement as JSDOM.SVGFETileElement
-        , JSDOM.Generated.SVGFETurbulenceElement as JSDOM.SVGFETurbulenceElement
-        , JSDOM.Generated.SVGFilterElement as JSDOM.SVGFilterElement
-        , JSDOM.Generated.SVGFilterPrimitiveStandardAttributes as JSDOM.SVGFilterPrimitiveStandardAttributes
-        , JSDOM.Generated.SVGFitToViewBox as JSDOM.SVGFitToViewBox
-        , JSDOM.Generated.SVGForeignObjectElement as JSDOM.SVGForeignObjectElement
-        , JSDOM.Generated.SVGGlyphRefElement as JSDOM.SVGGlyphRefElement
-        , JSDOM.Generated.SVGGradientElement as JSDOM.SVGGradientElement
-        , JSDOM.Generated.SVGGraphicsElement as JSDOM.SVGGraphicsElement
-        , JSDOM.Generated.SVGImageElement as JSDOM.SVGImageElement
-        , JSDOM.Generated.SVGLength as JSDOM.SVGLength
-        , JSDOM.Generated.SVGLengthList as JSDOM.SVGLengthList
-        , JSDOM.Generated.SVGLineElement as JSDOM.SVGLineElement
-        , JSDOM.Generated.SVGLinearGradientElement as JSDOM.SVGLinearGradientElement
-        , JSDOM.Generated.SVGMarkerElement as JSDOM.SVGMarkerElement
-        , JSDOM.Generated.SVGMaskElement as JSDOM.SVGMaskElement
-        , JSDOM.Generated.SVGMatrix as JSDOM.SVGMatrix
-        , JSDOM.Generated.SVGNumber as JSDOM.SVGNumber
-        , JSDOM.Generated.SVGNumberList as JSDOM.SVGNumberList
-        , JSDOM.Generated.SVGPaint as JSDOM.SVGPaint
-        , JSDOM.Generated.SVGPathElement as JSDOM.SVGPathElement
-        , JSDOM.Generated.SVGPathSeg as JSDOM.SVGPathSeg
-        , JSDOM.Generated.SVGPathSegArcAbs as JSDOM.SVGPathSegArcAbs
-        , JSDOM.Generated.SVGPathSegArcRel as JSDOM.SVGPathSegArcRel
-        , JSDOM.Generated.SVGPathSegCurvetoCubicAbs as JSDOM.SVGPathSegCurvetoCubicAbs
-        , JSDOM.Generated.SVGPathSegCurvetoCubicRel as JSDOM.SVGPathSegCurvetoCubicRel
-        , JSDOM.Generated.SVGPathSegCurvetoCubicSmoothAbs as JSDOM.SVGPathSegCurvetoCubicSmoothAbs
-        , JSDOM.Generated.SVGPathSegCurvetoCubicSmoothRel as JSDOM.SVGPathSegCurvetoCubicSmoothRel
-        , JSDOM.Generated.SVGPathSegCurvetoQuadraticAbs as JSDOM.SVGPathSegCurvetoQuadraticAbs
-        , JSDOM.Generated.SVGPathSegCurvetoQuadraticRel as JSDOM.SVGPathSegCurvetoQuadraticRel
-        , JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothAbs as JSDOM.SVGPathSegCurvetoQuadraticSmoothAbs
-        , JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothRel as JSDOM.SVGPathSegCurvetoQuadraticSmoothRel
-        , JSDOM.Generated.SVGPathSegLinetoAbs as JSDOM.SVGPathSegLinetoAbs
-        , JSDOM.Generated.SVGPathSegLinetoHorizontalAbs as JSDOM.SVGPathSegLinetoHorizontalAbs
-        , JSDOM.Generated.SVGPathSegLinetoHorizontalRel as JSDOM.SVGPathSegLinetoHorizontalRel
-        , JSDOM.Generated.SVGPathSegLinetoRel as JSDOM.SVGPathSegLinetoRel
-        , JSDOM.Generated.SVGPathSegLinetoVerticalAbs as JSDOM.SVGPathSegLinetoVerticalAbs
-        , JSDOM.Generated.SVGPathSegLinetoVerticalRel as JSDOM.SVGPathSegLinetoVerticalRel
-        , JSDOM.Generated.SVGPathSegList as JSDOM.SVGPathSegList
-        , JSDOM.Generated.SVGPathSegMovetoAbs as JSDOM.SVGPathSegMovetoAbs
-        , JSDOM.Generated.SVGPathSegMovetoRel as JSDOM.SVGPathSegMovetoRel
-        , JSDOM.Generated.SVGPatternElement as JSDOM.SVGPatternElement
-        , JSDOM.Generated.SVGPoint as JSDOM.SVGPoint
-        , JSDOM.Generated.SVGPointList as JSDOM.SVGPointList
-        , JSDOM.Generated.SVGPolygonElement as JSDOM.SVGPolygonElement
-        , JSDOM.Generated.SVGPolylineElement as JSDOM.SVGPolylineElement
-        , JSDOM.Generated.SVGPreserveAspectRatio as JSDOM.SVGPreserveAspectRatio
-        , JSDOM.Generated.SVGRadialGradientElement as JSDOM.SVGRadialGradientElement
-        , JSDOM.Generated.SVGRect as JSDOM.SVGRect
-        , JSDOM.Generated.SVGRectElement as JSDOM.SVGRectElement
-        , JSDOM.Generated.SVGRenderingIntent as JSDOM.SVGRenderingIntent
-        , JSDOM.Generated.SVGScriptElement as JSDOM.SVGScriptElement
-        , JSDOM.Generated.SVGSVGElement as JSDOM.SVGSVGElement
-        , JSDOM.Generated.SVGStopElement as JSDOM.SVGStopElement
-        , JSDOM.Generated.SVGStringList as JSDOM.SVGStringList
-        , JSDOM.Generated.SVGStyleElement as JSDOM.SVGStyleElement
-        , JSDOM.Generated.SVGTests as JSDOM.SVGTests
-        , JSDOM.Generated.SVGTextContentElement as JSDOM.SVGTextContentElement
-        , JSDOM.Generated.SVGTextPathElement as JSDOM.SVGTextPathElement
-        , JSDOM.Generated.SVGTextPositioningElement as JSDOM.SVGTextPositioningElement
-        , JSDOM.Generated.SVGTransform as JSDOM.SVGTransform
-        , JSDOM.Generated.SVGTransformList as JSDOM.SVGTransformList
-        , JSDOM.Generated.SVGURIReference as JSDOM.SVGURIReference
-        , JSDOM.Generated.SVGUnitTypes as JSDOM.SVGUnitTypes
-        , JSDOM.Generated.SVGUseElement as JSDOM.SVGUseElement
-        , JSDOM.Generated.SVGViewElement as JSDOM.SVGViewElement
-        , JSDOM.Generated.SVGViewSpec as JSDOM.SVGViewSpec
-        , JSDOM.Generated.SVGZoomAndPan as JSDOM.SVGZoomAndPan
-        , JSDOM.Generated.SVGZoomEvent as JSDOM.SVGZoomEvent
-        , JSDOM.Generated.Screen as JSDOM.Screen
-        , JSDOM.Generated.ScriptProcessorNode as JSDOM.ScriptProcessorNode
-        , JSDOM.Generated.ScriptProfile as JSDOM.ScriptProfile
-        , JSDOM.Generated.ScriptProfileNode as JSDOM.ScriptProfileNode
-        , JSDOM.Generated.SecurityPolicyViolationEvent as JSDOM.SecurityPolicyViolationEvent
-        , JSDOM.Generated.SourceBuffer as JSDOM.SourceBuffer
-        , JSDOM.Generated.SourceBufferList as JSDOM.SourceBufferList
-        , JSDOM.Generated.SourceInfo as JSDOM.SourceInfo
-        , JSDOM.Generated.SpeechSynthesis as JSDOM.SpeechSynthesis
-        , JSDOM.Generated.SpeechSynthesisEvent as JSDOM.SpeechSynthesisEvent
-        , JSDOM.Generated.SpeechSynthesisUtterance as JSDOM.SpeechSynthesisUtterance
-        , JSDOM.Generated.SpeechSynthesisVoice as JSDOM.SpeechSynthesisVoice
-        , JSDOM.Generated.Storage as JSDOM.Storage
-        , JSDOM.Generated.StorageErrorCallback as JSDOM.StorageErrorCallback
-        , JSDOM.Generated.StorageEvent as JSDOM.StorageEvent
-        , JSDOM.Generated.StorageInfo as JSDOM.StorageInfo
-        , JSDOM.Generated.StorageQuota as JSDOM.StorageQuota
-        , JSDOM.Generated.StorageQuotaCallback as JSDOM.StorageQuotaCallback
-        , JSDOM.Generated.StorageUsageCallback as JSDOM.StorageUsageCallback
-        , JSDOM.Generated.StringCallback as JSDOM.StringCallback
-        , JSDOM.Generated.StyleMedia as JSDOM.StyleMedia
-        , JSDOM.Generated.StyleSheet as JSDOM.StyleSheet
-        , JSDOM.Generated.StyleSheetList as JSDOM.StyleSheetList
-        , JSDOM.Generated.SubtleCrypto as JSDOM.SubtleCrypto
-        , JSDOM.Generated.Text as JSDOM.Text
-        , JSDOM.Generated.TextEvent as JSDOM.TextEvent
-        , JSDOM.Generated.TextMetrics as JSDOM.TextMetrics
-        , JSDOM.Generated.TextTrack as JSDOM.TextTrack
-        , JSDOM.Generated.TextTrackCue as JSDOM.TextTrackCue
-        , JSDOM.Generated.TextTrackCueList as JSDOM.TextTrackCueList
-        , JSDOM.Generated.TextTrackList as JSDOM.TextTrackList
-        , JSDOM.Generated.TimeRanges as JSDOM.TimeRanges
-        , JSDOM.Generated.Touch as JSDOM.Touch
-        , JSDOM.Generated.TouchEvent as JSDOM.TouchEvent
-        , JSDOM.Generated.TouchList as JSDOM.TouchList
-        , JSDOM.Generated.TrackEvent as JSDOM.TrackEvent
-        , JSDOM.Generated.TransitionEvent as JSDOM.TransitionEvent
-        , JSDOM.Generated.TreeWalker as JSDOM.TreeWalker
-        , JSDOM.Generated.TypeConversions as JSDOM.TypeConversions
-        , JSDOM.Generated.UIEvent as JSDOM.UIEvent
-        , JSDOM.Generated.UIRequestEvent as JSDOM.UIRequestEvent
-        , JSDOM.Generated.URLUtils as JSDOM.URLUtils
-        , JSDOM.Generated.UserMessageHandler as JSDOM.UserMessageHandler
-        , JSDOM.Generated.VTTCue as JSDOM.VTTCue
-        , JSDOM.Generated.VTTRegion as JSDOM.VTTRegion
-        , JSDOM.Generated.VTTRegionList as JSDOM.VTTRegionList
-        , JSDOM.Generated.ValidityState as JSDOM.ValidityState
-        , JSDOM.Generated.VideoPlaybackQuality as JSDOM.VideoPlaybackQuality
-        , JSDOM.Generated.VideoStreamTrack as JSDOM.VideoStreamTrack
-        , JSDOM.Generated.VideoTrack as JSDOM.VideoTrack
-        , JSDOM.Generated.VideoTrackList as JSDOM.VideoTrackList
-        , JSDOM.Generated.VoidCallback as JSDOM.VoidCallback
-        , JSDOM.Generated.WaveShaperNode as JSDOM.WaveShaperNode
-        , JSDOM.Generated.WebGL2RenderingContext as JSDOM.WebGL2RenderingContext
-        , JSDOM.Generated.WebGLActiveInfo as JSDOM.WebGLActiveInfo
-        , JSDOM.Generated.WebGLCompressedTextureATC as JSDOM.WebGLCompressedTextureATC
-        , JSDOM.Generated.WebGLCompressedTexturePVRTC as JSDOM.WebGLCompressedTexturePVRTC
-        , JSDOM.Generated.WebGLCompressedTextureS3TC as JSDOM.WebGLCompressedTextureS3TC
-        , JSDOM.Generated.WebGLContextAttributes as JSDOM.WebGLContextAttributes
-        , JSDOM.Generated.WebGLContextEvent as JSDOM.WebGLContextEvent
-        , JSDOM.Generated.WebGLDebugRendererInfo as JSDOM.WebGLDebugRendererInfo
-        , JSDOM.Generated.WebGLDebugShaders as JSDOM.WebGLDebugShaders
-        , JSDOM.Generated.WebGLDepthTexture as JSDOM.WebGLDepthTexture
-        , JSDOM.Generated.WebGLDrawBuffers as JSDOM.WebGLDrawBuffers
-        , JSDOM.Generated.WebGLLoseContext as JSDOM.WebGLLoseContext
-        , JSDOM.Generated.WebGLRenderingContextBase as JSDOM.WebGLRenderingContextBase
-        , JSDOM.Generated.WebGLShaderPrecisionFormat as JSDOM.WebGLShaderPrecisionFormat
-        , JSDOM.Generated.WebKitAnimationEvent as JSDOM.WebKitAnimationEvent
-        , JSDOM.Generated.WebKitCSSFilterValue as JSDOM.WebKitCSSFilterValue
-        , JSDOM.Generated.WebKitCSSMatrix as JSDOM.WebKitCSSMatrix
-        , JSDOM.Generated.WebKitCSSRegionRule as JSDOM.WebKitCSSRegionRule
-        , JSDOM.Generated.WebKitCSSTransformValue as JSDOM.WebKitCSSTransformValue
-        , JSDOM.Generated.WebKitCSSViewportRule as JSDOM.WebKitCSSViewportRule
-        , JSDOM.Generated.WebKitNamedFlow as JSDOM.WebKitNamedFlow
-        , JSDOM.Generated.WebKitNamespace as JSDOM.WebKitNamespace
-        , JSDOM.Generated.WebKitPlaybackTargetAvailabilityEvent as JSDOM.WebKitPlaybackTargetAvailabilityEvent
-        , JSDOM.Generated.WebKitPoint as JSDOM.WebKitPoint
-        , JSDOM.Generated.WebKitTransitionEvent as JSDOM.WebKitTransitionEvent
-        , JSDOM.Generated.WebSocket as JSDOM.WebSocket
-        , JSDOM.Generated.WheelEvent as JSDOM.WheelEvent
-        , JSDOM.Generated.WindowBase64 as JSDOM.WindowBase64
-        , JSDOM.Generated.WindowTimers as JSDOM.WindowTimers
-        , JSDOM.Generated.Worker as JSDOM.Worker
-        , JSDOM.Generated.WorkerGlobalScope as JSDOM.WorkerGlobalScope
-        , JSDOM.Generated.WorkerLocation as JSDOM.WorkerLocation
-        , JSDOM.Generated.WorkerNavigator as JSDOM.WorkerNavigator
-        , JSDOM.Generated.XMLHttpRequestProgressEvent as JSDOM.XMLHttpRequestProgressEvent
-        , JSDOM.Generated.XMLHttpRequestUpload as JSDOM.XMLHttpRequestUpload
-        , JSDOM.Generated.XMLSerializer as JSDOM.XMLSerializer
-        , JSDOM.Generated.XPathEvaluator as JSDOM.XPathEvaluator
-        , JSDOM.Generated.XPathExpression as JSDOM.XPathExpression
-        , JSDOM.Generated.XPathNSResolver as JSDOM.XPathNSResolver
-        , JSDOM.Generated.XPathResult as JSDOM.XPathResult
-        , JSDOM.Generated.XSLTProcessor as JSDOM.XSLTProcessor
-    build-depends:
-        base >=4.7.0.0 && <5,
-        base-compat >=0.9.0 && <0.10,
-        transformers >=0.2 && <0.6,
-        text >=0.11.0.6 && <1.3,
-        jsaddle >=0.4.0.0 && <0.5,
-        lens >=4.12.3 && <4.15
-    default-language: Haskell2010
-    hs-source-dirs: src
+version: 0.4.0.0
+cabal-version: >=1.22
+build-type: Simple
+license: MIT
+license-file: LICENSE
+maintainer: Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com>
+synopsis: DOM library that uses jsaddle to support both GHCJS and GHC
+description:
+    Documentent Object Model (DOM) functions implemented using jsaddle.
+    It works with both GHCJS and GHC.
+category: Web
+author: Hamish Mackenzie
+
+source-repository head
+    type: git
+    location: https://github.com/ghcjs/jsaddle-dom
+
+library
+
+    if impl(ghcjs -any)
+        build-depends:
+            ghcjs-base >=0.2.0.0 && <0.3,
+            ghcjs-prim -any,
+            ghc-prim -any
+    exposed-modules:
+        JSDOM.Custom.AudioContext
+        JSDOM.Custom.Database
+        JSDOM.Custom.DOMError
+        JSDOM.Custom.Geolocation
+        JSDOM.Custom.MediaStreamTrack
+        JSDOM.Custom.Navigator
+        JSDOM.Custom.NavigatorUserMediaError
+        JSDOM.Custom.PositionError
+        JSDOM.Custom.RTCPeerConnection
+        JSDOM.Custom.RTCPeerConnectionError
+        JSDOM.Custom.SQLError
+        JSDOM.Custom.SQLTransaction
+        JSDOM.Custom.Window
+        JSDOM.Custom.XMLHttpRequest
+        JSDOM.Generated.ANGLEInstancedArrays
+        JSDOM.Generated.AbstractView
+        JSDOM.Generated.AbstractWorker
+        JSDOM.Generated.AllAudioCapabilities
+        JSDOM.Generated.AllVideoCapabilities
+        JSDOM.Generated.AnalyserNode
+        JSDOM.Generated.AnimationEvent
+        JSDOM.Generated.Attr
+        JSDOM.Generated.AudioBuffer
+        JSDOM.Generated.AudioBufferCallback
+        JSDOM.Generated.AudioBufferSourceNode
+        JSDOM.Generated.AudioContext
+        JSDOM.Generated.AudioDestinationNode
+        JSDOM.Generated.AudioListener
+        JSDOM.Generated.AudioNode
+        JSDOM.Generated.AudioParam
+        JSDOM.Generated.AudioProcessingEvent
+        JSDOM.Generated.AudioStreamTrack
+        JSDOM.Generated.AudioTrack
+        JSDOM.Generated.AudioTrackList
+        JSDOM.Generated.AutocompleteErrorEvent
+        JSDOM.Generated.BarProp
+        JSDOM.Generated.BatteryManager
+        JSDOM.Generated.BeforeLoadEvent
+        JSDOM.Generated.BeforeUnloadEvent
+        JSDOM.Generated.BiquadFilterNode
+        JSDOM.Generated.Blob
+        JSDOM.Generated.CSSCharsetRule
+        JSDOM.Generated.CSSFontFaceLoadEvent
+        JSDOM.Generated.CSSFontFaceRule
+        JSDOM.Generated.CSSImportRule
+        JSDOM.Generated.CSSKeyframeRule
+        JSDOM.Generated.CSSKeyframesRule
+        JSDOM.Generated.CSSMediaRule
+        JSDOM.Generated.CSSPageRule
+        JSDOM.Generated.CSSPrimitiveValue
+        JSDOM.Generated.CSSRule
+        JSDOM.Generated.CSSRuleList
+        JSDOM.Generated.CSSStyleDeclaration
+        JSDOM.Generated.CSSStyleRule
+        JSDOM.Generated.CSSStyleSheet
+        JSDOM.Generated.CSSSupportsRule
+        JSDOM.Generated.CSSValue
+        JSDOM.Generated.CSSValueList
+        JSDOM.Generated.CanvasGradient
+        JSDOM.Generated.CanvasRenderingContext
+        JSDOM.Generated.CanvasRenderingContext2D
+        JSDOM.Generated.CapabilityRange
+        JSDOM.Generated.CharacterData
+        JSDOM.Generated.ChildNode
+        JSDOM.Generated.ClientRect
+        JSDOM.Generated.ClientRectList
+        JSDOM.Generated.CloseEvent
+        JSDOM.Generated.CommandLineAPIHost
+        JSDOM.Generated.Comment
+        JSDOM.Generated.CompositionEvent
+        JSDOM.Generated.ConvolverNode
+        JSDOM.Generated.Coordinates
+        JSDOM.Generated.Counter
+        JSDOM.Generated.Crypto
+        JSDOM.Generated.CryptoKey
+        JSDOM.Generated.CryptoKeyPair
+        JSDOM.Generated.CustomEvent
+        JSDOM.Generated.ApplicationCache
+        JSDOM.Generated.DOMError
+        JSDOM.Generated.FormData
+        JSDOM.Generated.DOMImplementation
+        JSDOM.Generated.MimeType
+        JSDOM.Generated.MimeTypeArray
+        JSDOM.Generated.DOMNamedFlowCollection
+        JSDOM.Generated.DOMParser
+        JSDOM.Generated.Path2D
+        JSDOM.Generated.Plugin
+        JSDOM.Generated.PluginArray
+        JSDOM.Generated.SecurityPolicy
+        JSDOM.Generated.Selection
+        JSDOM.Generated.DOMSettableTokenList
+        JSDOM.Generated.DOMStringList
+        JSDOM.Generated.DOMTokenList
+        JSDOM.Generated.URL
+        JSDOM.Generated.Window
+        JSDOM.Generated.CSS
+        JSDOM.Generated.DataCue
+        JSDOM.Generated.DataTransfer
+        JSDOM.Generated.DataTransferItem
+        JSDOM.Generated.DataTransferItemList
+        JSDOM.Generated.Database
+        JSDOM.Generated.DatabaseCallback
+        JSDOM.Generated.DedicatedWorkerGlobalScope
+        JSDOM.Generated.DelayNode
+        JSDOM.Generated.DeviceMotionEvent
+        JSDOM.Generated.DeviceOrientationEvent
+        JSDOM.Generated.DeviceProximityEvent
+        JSDOM.Generated.Document
+        JSDOM.Generated.DocumentFragment
+        JSDOM.Generated.DocumentType
+        JSDOM.Generated.DynamicsCompressorNode
+        JSDOM.Generated.EXTBlendMinMax
+        JSDOM.Generated.EXTsRGB
+        JSDOM.Generated.EXTTextureFilterAnisotropic
+        JSDOM.Generated.Element
+        JSDOM.Generated.Entity
+        JSDOM.Generated.Enums
+        JSDOM.Generated.ErrorEvent
+        JSDOM.Generated.Event
+        JSDOM.Generated.EventListener
+        JSDOM.Generated.EventSource
+        JSDOM.Generated.EventTarget
+        JSDOM.Generated.File
+        JSDOM.Generated.FileError
+        JSDOM.Generated.FileList
+        JSDOM.Generated.FileReader
+        JSDOM.Generated.FileReaderSync
+        JSDOM.Generated.FocusEvent
+        JSDOM.Generated.FontLoader
+        JSDOM.Generated.GainNode
+        JSDOM.Generated.Gamepad
+        JSDOM.Generated.GamepadButton
+        JSDOM.Generated.GamepadEvent
+        JSDOM.Generated.Geolocation
+        JSDOM.Generated.Geoposition
+        JSDOM.Generated.HTMLAllCollection
+        JSDOM.Generated.HTMLAnchorElement
+        JSDOM.Generated.HTMLAppletElement
+        JSDOM.Generated.HTMLAreaElement
+        JSDOM.Generated.HTMLBRElement
+        JSDOM.Generated.HTMLBaseElement
+        JSDOM.Generated.HTMLBaseFontElement
+        JSDOM.Generated.HTMLBodyElement
+        JSDOM.Generated.HTMLButtonElement
+        JSDOM.Generated.HTMLCanvasElement
+        JSDOM.Generated.HTMLCollection
+        JSDOM.Generated.HTMLDListElement
+        JSDOM.Generated.HTMLDataListElement
+        JSDOM.Generated.HTMLDetailsElement
+        JSDOM.Generated.HTMLDirectoryElement
+        JSDOM.Generated.HTMLDivElement
+        JSDOM.Generated.HTMLDocument
+        JSDOM.Generated.HTMLElement
+        JSDOM.Generated.HTMLEmbedElement
+        JSDOM.Generated.HTMLFieldSetElement
+        JSDOM.Generated.HTMLFontElement
+        JSDOM.Generated.HTMLFormControlsCollection
+        JSDOM.Generated.HTMLFormElement
+        JSDOM.Generated.HTMLFrameElement
+        JSDOM.Generated.HTMLFrameSetElement
+        JSDOM.Generated.HTMLHRElement
+        JSDOM.Generated.HTMLHeadElement
+        JSDOM.Generated.HTMLHeadingElement
+        JSDOM.Generated.HTMLHtmlElement
+        JSDOM.Generated.HTMLIFrameElement
+        JSDOM.Generated.HTMLImageElement
+        JSDOM.Generated.HTMLInputElement
+        JSDOM.Generated.HTMLKeygenElement
+        JSDOM.Generated.HTMLLIElement
+        JSDOM.Generated.HTMLLabelElement
+        JSDOM.Generated.HTMLLegendElement
+        JSDOM.Generated.HTMLLinkElement
+        JSDOM.Generated.HTMLMapElement
+        JSDOM.Generated.HTMLMarqueeElement
+        JSDOM.Generated.HTMLMediaElement
+        JSDOM.Generated.HTMLMenuElement
+        JSDOM.Generated.HTMLMetaElement
+        JSDOM.Generated.HTMLMeterElement
+        JSDOM.Generated.HTMLModElement
+        JSDOM.Generated.HTMLOListElement
+        JSDOM.Generated.HTMLObjectElement
+        JSDOM.Generated.HTMLOptGroupElement
+        JSDOM.Generated.HTMLOptionElement
+        JSDOM.Generated.HTMLOptionsCollection
+        JSDOM.Generated.HTMLOutputElement
+        JSDOM.Generated.HTMLParagraphElement
+        JSDOM.Generated.HTMLParamElement
+        JSDOM.Generated.HTMLPreElement
+        JSDOM.Generated.HTMLProgressElement
+        JSDOM.Generated.HTMLQuoteElement
+        JSDOM.Generated.HTMLScriptElement
+        JSDOM.Generated.HTMLSelectElement
+        JSDOM.Generated.HTMLSourceElement
+        JSDOM.Generated.HTMLStyleElement
+        JSDOM.Generated.HTMLTableCaptionElement
+        JSDOM.Generated.HTMLTableCellElement
+        JSDOM.Generated.HTMLTableColElement
+        JSDOM.Generated.HTMLTableElement
+        JSDOM.Generated.HTMLTableRowElement
+        JSDOM.Generated.HTMLTableSectionElement
+        JSDOM.Generated.HTMLTemplateElement
+        JSDOM.Generated.HTMLTextAreaElement
+        JSDOM.Generated.HTMLTitleElement
+        JSDOM.Generated.HTMLTrackElement
+        JSDOM.Generated.HTMLUListElement
+        JSDOM.Generated.HTMLVideoElement
+        JSDOM.Generated.HashChangeEvent
+        JSDOM.Generated.History
+        JSDOM.Generated.IDBCursor
+        JSDOM.Generated.IDBCursorWithValue
+        JSDOM.Generated.IDBDatabase
+        JSDOM.Generated.IDBFactory
+        JSDOM.Generated.IDBIndex
+        JSDOM.Generated.IDBKeyRange
+        JSDOM.Generated.IDBObjectStore
+        JSDOM.Generated.IDBOpenDBRequest
+        JSDOM.Generated.IDBRequest
+        JSDOM.Generated.IDBTransaction
+        JSDOM.Generated.IDBVersionChangeEvent
+        JSDOM.Generated.ImageData
+        JSDOM.Generated.InspectorFrontendHost
+        JSDOM.Generated.InternalSettings
+        JSDOM.Generated.Internals
+        JSDOM.Generated.KeyboardEvent
+        JSDOM.Generated.Location
+        JSDOM.Generated.MallocStatistics
+        JSDOM.Generated.MediaController
+        JSDOM.Generated.MediaControlsHost
+        JSDOM.Generated.MediaElementAudioSourceNode
+        JSDOM.Generated.MediaError
+        JSDOM.Generated.MediaKeyError
+        JSDOM.Generated.MediaKeyEvent
+        JSDOM.Generated.MediaKeyMessageEvent
+        JSDOM.Generated.MediaKeyNeededEvent
+        JSDOM.Generated.MediaKeySession
+        JSDOM.Generated.MediaKeys
+        JSDOM.Generated.MediaList
+        JSDOM.Generated.MediaQueryList
+        JSDOM.Generated.MediaQueryListListener
+        JSDOM.Generated.MediaSource
+        JSDOM.Generated.MediaSourceStates
+        JSDOM.Generated.MediaStream
+        JSDOM.Generated.MediaStreamAudioDestinationNode
+        JSDOM.Generated.MediaStreamAudioSourceNode
+        JSDOM.Generated.MediaStreamEvent
+        JSDOM.Generated.MediaStreamTrack
+        JSDOM.Generated.MediaStreamTrackEvent
+        JSDOM.Generated.MediaStreamTrackSourcesCallback
+        JSDOM.Generated.MediaTrackConstraints
+        JSDOM.Generated.MemoryInfo
+        JSDOM.Generated.MessageChannel
+        JSDOM.Generated.MessageEvent
+        JSDOM.Generated.MessagePort
+        JSDOM.Generated.MouseEvent
+        JSDOM.Generated.MutationEvent
+        JSDOM.Generated.MutationObserver
+        JSDOM.Generated.MutationRecord
+        JSDOM.Generated.NamedNodeMap
+        JSDOM.Generated.Navigator
+        JSDOM.Generated.NavigatorUserMediaError
+        JSDOM.Generated.NavigatorUserMediaErrorCallback
+        JSDOM.Generated.NavigatorUserMediaSuccessCallback
+        JSDOM.Generated.Node
+        JSDOM.Generated.NodeFilter
+        JSDOM.Generated.NodeIterator
+        JSDOM.Generated.NodeList
+        JSDOM.Generated.Notification
+        JSDOM.Generated.NotificationCenter
+        JSDOM.Generated.NotificationPermissionCallback
+        JSDOM.Generated.OESStandardDerivatives
+        JSDOM.Generated.OESTextureHalfFloat
+        JSDOM.Generated.OESVertexArrayObject
+        JSDOM.Generated.OfflineAudioCompletionEvent
+        JSDOM.Generated.OfflineAudioContext
+        JSDOM.Generated.OscillatorNode
+        JSDOM.Generated.OverflowEvent
+        JSDOM.Generated.PageTransitionEvent
+        JSDOM.Generated.PannerNode
+        JSDOM.Generated.Performance
+        JSDOM.Generated.PerformanceEntry
+        JSDOM.Generated.PerformanceEntryList
+        JSDOM.Generated.PerformanceNavigation
+        JSDOM.Generated.PerformanceResourceTiming
+        JSDOM.Generated.PerformanceTiming
+        JSDOM.Generated.PopStateEvent
+        JSDOM.Generated.PositionCallback
+        JSDOM.Generated.PositionError
+        JSDOM.Generated.PositionErrorCallback
+        JSDOM.Generated.ProcessingInstruction
+        JSDOM.Generated.ProgressEvent
+        JSDOM.Generated.QuickTimePluginReplacement
+        JSDOM.Generated.RGBColor
+        JSDOM.Generated.RTCConfiguration
+        JSDOM.Generated.RTCDTMFSender
+        JSDOM.Generated.RTCDTMFToneChangeEvent
+        JSDOM.Generated.RTCDataChannel
+        JSDOM.Generated.RTCDataChannelEvent
+        JSDOM.Generated.RTCIceCandidate
+        JSDOM.Generated.RTCIceCandidateEvent
+        JSDOM.Generated.RTCIceServer
+        JSDOM.Generated.RTCPeerConnection
+        JSDOM.Generated.RTCPeerConnectionErrorCallback
+        JSDOM.Generated.RTCSessionDescription
+        JSDOM.Generated.RTCSessionDescriptionCallback
+        JSDOM.Generated.RTCStatsCallback
+        JSDOM.Generated.RTCStatsReport
+        JSDOM.Generated.RTCStatsResponse
+        JSDOM.Generated.RadioNodeList
+        JSDOM.Generated.Range
+        JSDOM.Generated.ReadableStream
+        JSDOM.Generated.Rect
+        JSDOM.Generated.RequestAnimationFrameCallback
+        JSDOM.Generated.SQLError
+        JSDOM.Generated.SQLResultSet
+        JSDOM.Generated.SQLResultSetRowList
+        JSDOM.Generated.SQLStatementCallback
+        JSDOM.Generated.SQLStatementErrorCallback
+        JSDOM.Generated.SQLTransaction
+        JSDOM.Generated.SQLTransactionCallback
+        JSDOM.Generated.SQLTransactionErrorCallback
+        JSDOM.Generated.SVGAElement
+        JSDOM.Generated.SVGAltGlyphElement
+        JSDOM.Generated.SVGAngle
+        JSDOM.Generated.SVGAnimatedAngle
+        JSDOM.Generated.SVGAnimatedBoolean
+        JSDOM.Generated.SVGAnimatedEnumeration
+        JSDOM.Generated.SVGAnimatedInteger
+        JSDOM.Generated.SVGAnimatedLength
+        JSDOM.Generated.SVGAnimatedLengthList
+        JSDOM.Generated.SVGAnimatedNumber
+        JSDOM.Generated.SVGAnimatedNumberList
+        JSDOM.Generated.SVGAnimatedPreserveAspectRatio
+        JSDOM.Generated.SVGAnimatedRect
+        JSDOM.Generated.SVGAnimatedString
+        JSDOM.Generated.SVGAnimatedTransformList
+        JSDOM.Generated.SVGAnimationElement
+        JSDOM.Generated.SVGCircleElement
+        JSDOM.Generated.SVGClipPathElement
+        JSDOM.Generated.SVGColor
+        JSDOM.Generated.SVGComponentTransferFunctionElement
+        JSDOM.Generated.SVGCursorElement
+        JSDOM.Generated.SVGDocument
+        JSDOM.Generated.SVGElement
+        JSDOM.Generated.SVGEllipseElement
+        JSDOM.Generated.SVGExternalResourcesRequired
+        JSDOM.Generated.SVGFEBlendElement
+        JSDOM.Generated.SVGFEColorMatrixElement
+        JSDOM.Generated.SVGFEComponentTransferElement
+        JSDOM.Generated.SVGFECompositeElement
+        JSDOM.Generated.SVGFEConvolveMatrixElement
+        JSDOM.Generated.SVGFEDiffuseLightingElement
+        JSDOM.Generated.SVGFEDisplacementMapElement
+        JSDOM.Generated.SVGFEDistantLightElement
+        JSDOM.Generated.SVGFEDropShadowElement
+        JSDOM.Generated.SVGFEGaussianBlurElement
+        JSDOM.Generated.SVGFEImageElement
+        JSDOM.Generated.SVGFEMergeNodeElement
+        JSDOM.Generated.SVGFEMorphologyElement
+        JSDOM.Generated.SVGFEOffsetElement
+        JSDOM.Generated.SVGFEPointLightElement
+        JSDOM.Generated.SVGFESpecularLightingElement
+        JSDOM.Generated.SVGFESpotLightElement
+        JSDOM.Generated.SVGFETileElement
+        JSDOM.Generated.SVGFETurbulenceElement
+        JSDOM.Generated.SVGFilterElement
+        JSDOM.Generated.SVGFilterPrimitiveStandardAttributes
+        JSDOM.Generated.SVGFitToViewBox
+        JSDOM.Generated.SVGForeignObjectElement
+        JSDOM.Generated.SVGGlyphRefElement
+        JSDOM.Generated.SVGGradientElement
+        JSDOM.Generated.SVGGraphicsElement
+        JSDOM.Generated.SVGImageElement
+        JSDOM.Generated.SVGLength
+        JSDOM.Generated.SVGLengthList
+        JSDOM.Generated.SVGLineElement
+        JSDOM.Generated.SVGLinearGradientElement
+        JSDOM.Generated.SVGMarkerElement
+        JSDOM.Generated.SVGMaskElement
+        JSDOM.Generated.SVGMatrix
+        JSDOM.Generated.SVGNumber
+        JSDOM.Generated.SVGNumberList
+        JSDOM.Generated.SVGPaint
+        JSDOM.Generated.SVGPathElement
+        JSDOM.Generated.SVGPathSeg
+        JSDOM.Generated.SVGPathSegArcAbs
+        JSDOM.Generated.SVGPathSegArcRel
+        JSDOM.Generated.SVGPathSegCurvetoCubicAbs
+        JSDOM.Generated.SVGPathSegCurvetoCubicRel
+        JSDOM.Generated.SVGPathSegCurvetoCubicSmoothAbs
+        JSDOM.Generated.SVGPathSegCurvetoCubicSmoothRel
+        JSDOM.Generated.SVGPathSegCurvetoQuadraticAbs
+        JSDOM.Generated.SVGPathSegCurvetoQuadraticRel
+        JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothAbs
+        JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothRel
+        JSDOM.Generated.SVGPathSegLinetoAbs
+        JSDOM.Generated.SVGPathSegLinetoHorizontalAbs
+        JSDOM.Generated.SVGPathSegLinetoHorizontalRel
+        JSDOM.Generated.SVGPathSegLinetoRel
+        JSDOM.Generated.SVGPathSegLinetoVerticalAbs
+        JSDOM.Generated.SVGPathSegLinetoVerticalRel
+        JSDOM.Generated.SVGPathSegList
+        JSDOM.Generated.SVGPathSegMovetoAbs
+        JSDOM.Generated.SVGPathSegMovetoRel
+        JSDOM.Generated.SVGPatternElement
+        JSDOM.Generated.SVGPoint
+        JSDOM.Generated.SVGPointList
+        JSDOM.Generated.SVGPolygonElement
+        JSDOM.Generated.SVGPolylineElement
+        JSDOM.Generated.SVGPreserveAspectRatio
+        JSDOM.Generated.SVGRadialGradientElement
+        JSDOM.Generated.SVGRect
+        JSDOM.Generated.SVGRectElement
+        JSDOM.Generated.SVGRenderingIntent
+        JSDOM.Generated.SVGScriptElement
+        JSDOM.Generated.SVGSVGElement
+        JSDOM.Generated.SVGStopElement
+        JSDOM.Generated.SVGStringList
+        JSDOM.Generated.SVGStyleElement
+        JSDOM.Generated.SVGTests
+        JSDOM.Generated.SVGTextContentElement
+        JSDOM.Generated.SVGTextPathElement
+        JSDOM.Generated.SVGTextPositioningElement
+        JSDOM.Generated.SVGTransform
+        JSDOM.Generated.SVGTransformList
+        JSDOM.Generated.SVGURIReference
+        JSDOM.Generated.SVGUnitTypes
+        JSDOM.Generated.SVGUseElement
+        JSDOM.Generated.SVGViewElement
+        JSDOM.Generated.SVGViewSpec
+        JSDOM.Generated.SVGZoomAndPan
+        JSDOM.Generated.SVGZoomEvent
+        JSDOM.Generated.Screen
+        JSDOM.Generated.ScriptProcessorNode
+        JSDOM.Generated.ScriptProfile
+        JSDOM.Generated.ScriptProfileNode
+        JSDOM.Generated.SecurityPolicyViolationEvent
+        JSDOM.Generated.SourceBuffer
+        JSDOM.Generated.SourceBufferList
+        JSDOM.Generated.SourceInfo
+        JSDOM.Generated.SpeechSynthesis
+        JSDOM.Generated.SpeechSynthesisEvent
+        JSDOM.Generated.SpeechSynthesisUtterance
+        JSDOM.Generated.SpeechSynthesisVoice
+        JSDOM.Generated.Storage
+        JSDOM.Generated.StorageErrorCallback
+        JSDOM.Generated.StorageEvent
+        JSDOM.Generated.StorageInfo
+        JSDOM.Generated.StorageQuota
+        JSDOM.Generated.StorageQuotaCallback
+        JSDOM.Generated.StorageUsageCallback
+        JSDOM.Generated.StringCallback
+        JSDOM.Generated.StyleMedia
+        JSDOM.Generated.StyleSheet
+        JSDOM.Generated.StyleSheetList
+        JSDOM.Generated.SubtleCrypto
+        JSDOM.Generated.Text
+        JSDOM.Generated.TextEvent
+        JSDOM.Generated.TextMetrics
+        JSDOM.Generated.TextTrack
+        JSDOM.Generated.TextTrackCue
+        JSDOM.Generated.TextTrackCueList
+        JSDOM.Generated.TextTrackList
+        JSDOM.Generated.TimeRanges
+        JSDOM.Generated.Touch
+        JSDOM.Generated.TouchEvent
+        JSDOM.Generated.TouchList
+        JSDOM.Generated.TrackEvent
+        JSDOM.Generated.TransitionEvent
+        JSDOM.Generated.TreeWalker
+        JSDOM.Generated.TypeConversions
+        JSDOM.Generated.UIEvent
+        JSDOM.Generated.UIRequestEvent
+        JSDOM.Generated.URLUtils
+        JSDOM.Generated.UserMessageHandler
+        JSDOM.Generated.VTTCue
+        JSDOM.Generated.VTTRegion
+        JSDOM.Generated.VTTRegionList
+        JSDOM.Generated.ValidityState
+        JSDOM.Generated.VideoPlaybackQuality
+        JSDOM.Generated.VideoStreamTrack
+        JSDOM.Generated.VideoTrack
+        JSDOM.Generated.VideoTrackList
+        JSDOM.Generated.VoidCallback
+        JSDOM.Generated.WaveShaperNode
+        JSDOM.Generated.WebGL2RenderingContext
+        JSDOM.Generated.WebGLActiveInfo
+        JSDOM.Generated.WebGLCompressedTextureATC
+        JSDOM.Generated.WebGLCompressedTexturePVRTC
+        JSDOM.Generated.WebGLCompressedTextureS3TC
+        JSDOM.Generated.WebGLContextAttributes
+        JSDOM.Generated.WebGLContextEvent
+        JSDOM.Generated.WebGLDebugRendererInfo
+        JSDOM.Generated.WebGLDebugShaders
+        JSDOM.Generated.WebGLDepthTexture
+        JSDOM.Generated.WebGLDrawBuffers
+        JSDOM.Generated.WebGLLoseContext
+        JSDOM.Generated.WebGLRenderingContextBase
+        JSDOM.Generated.WebGLShaderPrecisionFormat
+        JSDOM.Generated.WebKitAnimationEvent
+        JSDOM.Generated.WebKitCSSFilterValue
+        JSDOM.Generated.WebKitCSSMatrix
+        JSDOM.Generated.WebKitCSSRegionRule
+        JSDOM.Generated.WebKitCSSTransformValue
+        JSDOM.Generated.WebKitCSSViewportRule
+        JSDOM.Generated.WebKitNamedFlow
+        JSDOM.Generated.WebKitNamespace
+        JSDOM.Generated.WebKitPlaybackTargetAvailabilityEvent
+        JSDOM.Generated.WebKitPoint
+        JSDOM.Generated.WebKitTransitionEvent
+        JSDOM.Generated.WebSocket
+        JSDOM.Generated.WheelEvent
+        JSDOM.Generated.WindowBase64
+        JSDOM.Generated.WindowTimers
+        JSDOM.Generated.Worker
+        JSDOM.Generated.WorkerGlobalScope
+        JSDOM.Generated.WorkerLocation
+        JSDOM.Generated.WorkerNavigator
+        JSDOM.Generated.XMLHttpRequest
+        JSDOM.Generated.XMLHttpRequestProgressEvent
+        JSDOM.Generated.XMLHttpRequestUpload
+        JSDOM.Generated.XMLSerializer
+        JSDOM.Generated.XPathEvaluator
+        JSDOM.Generated.XPathExpression
+        JSDOM.Generated.XPathNSResolver
+        JSDOM.Generated.XPathResult
+        JSDOM.Generated.XSLTProcessor
+        JSDOM
+        JSDOM.EventM
+        JSDOM.Types
+        JSDOM.Enums
+        JSDOM.EventTargetClosures
+    reexported-modules: JSDOM.Custom.AudioContext as JSDOM.AudioContext,
+                        JSDOM.Custom.Database as JSDOM.Database,
+                        JSDOM.Custom.DOMError as JSDOM.DOMError,
+                        JSDOM.Custom.Geolocation as JSDOM.Geolocation,
+                        JSDOM.Custom.MediaStreamTrack as JSDOM.MediaStreamTrack,
+                        JSDOM.Custom.Navigator as JSDOM.Navigator,
+                        JSDOM.Custom.NavigatorUserMediaError as JSDOM.NavigatorUserMediaError,
+                        JSDOM.Custom.PositionError as JSDOM.PositionError,
+                        JSDOM.Custom.RTCPeerConnection as JSDOM.RTCPeerConnection,
+                        JSDOM.Custom.RTCPeerConnectionError as JSDOM.RTCPeerConnectionError,
+                        JSDOM.Custom.SQLError as JSDOM.SQLError,
+                        JSDOM.Custom.SQLTransaction as JSDOM.SQLTransaction,
+                        JSDOM.Custom.Window as JSDOM.Window,
+                        JSDOM.Custom.XMLHttpRequest as JSDOM.XMLHttpRequest,
+                        JSDOM.Generated.ANGLEInstancedArrays as JSDOM.ANGLEInstancedArrays,
+                        JSDOM.Generated.AbstractView as JSDOM.AbstractView,
+                        JSDOM.Generated.AbstractWorker as JSDOM.AbstractWorker,
+                        JSDOM.Generated.AllAudioCapabilities as JSDOM.AllAudioCapabilities,
+                        JSDOM.Generated.AllVideoCapabilities as JSDOM.AllVideoCapabilities,
+                        JSDOM.Generated.AnalyserNode as JSDOM.AnalyserNode,
+                        JSDOM.Generated.AnimationEvent as JSDOM.AnimationEvent,
+                        JSDOM.Generated.Attr as JSDOM.Attr,
+                        JSDOM.Generated.AudioBuffer as JSDOM.AudioBuffer,
+                        JSDOM.Generated.AudioBufferCallback as JSDOM.AudioBufferCallback,
+                        JSDOM.Generated.AudioBufferSourceNode as JSDOM.AudioBufferSourceNode,
+                        JSDOM.Generated.AudioDestinationNode as JSDOM.AudioDestinationNode,
+                        JSDOM.Generated.AudioListener as JSDOM.AudioListener,
+                        JSDOM.Generated.AudioNode as JSDOM.AudioNode,
+                        JSDOM.Generated.AudioParam as JSDOM.AudioParam,
+                        JSDOM.Generated.AudioProcessingEvent as JSDOM.AudioProcessingEvent,
+                        JSDOM.Generated.AudioStreamTrack as JSDOM.AudioStreamTrack,
+                        JSDOM.Generated.AudioTrack as JSDOM.AudioTrack,
+                        JSDOM.Generated.AudioTrackList as JSDOM.AudioTrackList,
+                        JSDOM.Generated.AutocompleteErrorEvent as JSDOM.AutocompleteErrorEvent,
+                        JSDOM.Generated.BarProp as JSDOM.BarProp,
+                        JSDOM.Generated.BatteryManager as JSDOM.BatteryManager,
+                        JSDOM.Generated.BeforeLoadEvent as JSDOM.BeforeLoadEvent,
+                        JSDOM.Generated.BeforeUnloadEvent as JSDOM.BeforeUnloadEvent,
+                        JSDOM.Generated.BiquadFilterNode as JSDOM.BiquadFilterNode,
+                        JSDOM.Generated.Blob as JSDOM.Blob,
+                        JSDOM.Generated.CSSCharsetRule as JSDOM.CSSCharsetRule,
+                        JSDOM.Generated.CSSFontFaceLoadEvent as JSDOM.CSSFontFaceLoadEvent,
+                        JSDOM.Generated.CSSFontFaceRule as JSDOM.CSSFontFaceRule,
+                        JSDOM.Generated.CSSImportRule as JSDOM.CSSImportRule,
+                        JSDOM.Generated.CSSKeyframeRule as JSDOM.CSSKeyframeRule,
+                        JSDOM.Generated.CSSKeyframesRule as JSDOM.CSSKeyframesRule,
+                        JSDOM.Generated.CSSMediaRule as JSDOM.CSSMediaRule,
+                        JSDOM.Generated.CSSPageRule as JSDOM.CSSPageRule,
+                        JSDOM.Generated.CSSPrimitiveValue as JSDOM.CSSPrimitiveValue,
+                        JSDOM.Generated.CSSRule as JSDOM.CSSRule,
+                        JSDOM.Generated.CSSRuleList as JSDOM.CSSRuleList,
+                        JSDOM.Generated.CSSStyleDeclaration as JSDOM.CSSStyleDeclaration,
+                        JSDOM.Generated.CSSStyleRule as JSDOM.CSSStyleRule,
+                        JSDOM.Generated.CSSStyleSheet as JSDOM.CSSStyleSheet,
+                        JSDOM.Generated.CSSSupportsRule as JSDOM.CSSSupportsRule,
+                        JSDOM.Generated.CSSValue as JSDOM.CSSValue,
+                        JSDOM.Generated.CSSValueList as JSDOM.CSSValueList,
+                        JSDOM.Generated.CanvasGradient as JSDOM.CanvasGradient,
+                        JSDOM.Generated.CanvasRenderingContext as JSDOM.CanvasRenderingContext,
+                        JSDOM.Generated.CanvasRenderingContext2D as JSDOM.CanvasRenderingContext2D,
+                        JSDOM.Generated.CapabilityRange as JSDOM.CapabilityRange,
+                        JSDOM.Generated.CharacterData as JSDOM.CharacterData,
+                        JSDOM.Generated.ChildNode as JSDOM.ChildNode,
+                        JSDOM.Generated.ClientRect as JSDOM.ClientRect,
+                        JSDOM.Generated.ClientRectList as JSDOM.ClientRectList,
+                        JSDOM.Generated.CloseEvent as JSDOM.CloseEvent,
+                        JSDOM.Generated.CommandLineAPIHost as JSDOM.CommandLineAPIHost,
+                        JSDOM.Generated.Comment as JSDOM.Comment,
+                        JSDOM.Generated.CompositionEvent as JSDOM.CompositionEvent,
+                        JSDOM.Generated.ConvolverNode as JSDOM.ConvolverNode,
+                        JSDOM.Generated.Coordinates as JSDOM.Coordinates,
+                        JSDOM.Generated.Counter as JSDOM.Counter,
+                        JSDOM.Generated.Crypto as JSDOM.Crypto,
+                        JSDOM.Generated.CryptoKey as JSDOM.CryptoKey,
+                        JSDOM.Generated.CryptoKeyPair as JSDOM.CryptoKeyPair,
+                        JSDOM.Generated.CustomEvent as JSDOM.CustomEvent,
+                        JSDOM.Generated.ApplicationCache as JSDOM.ApplicationCache,
+                        JSDOM.Generated.FormData as JSDOM.FormData,
+                        JSDOM.Generated.DOMImplementation as JSDOM.DOMImplementation,
+                        JSDOM.Generated.MimeType as JSDOM.MimeType,
+                        JSDOM.Generated.MimeTypeArray as JSDOM.MimeTypeArray,
+                        JSDOM.Generated.DOMNamedFlowCollection as JSDOM.DOMNamedFlowCollection,
+                        JSDOM.Generated.DOMParser as JSDOM.DOMParser,
+                        JSDOM.Generated.Path2D as JSDOM.Path2D,
+                        JSDOM.Generated.Plugin as JSDOM.Plugin,
+                        JSDOM.Generated.PluginArray as JSDOM.PluginArray,
+                        JSDOM.Generated.SecurityPolicy as JSDOM.SecurityPolicy,
+                        JSDOM.Generated.Selection as JSDOM.Selection,
+                        JSDOM.Generated.DOMSettableTokenList as JSDOM.DOMSettableTokenList,
+                        JSDOM.Generated.DOMStringList as JSDOM.DOMStringList,
+                        JSDOM.Generated.DOMTokenList as JSDOM.DOMTokenList,
+                        JSDOM.Generated.URL as JSDOM.URL,
+                        JSDOM.Generated.CSS as JSDOM.CSS,
+                        JSDOM.Generated.DataCue as JSDOM.DataCue,
+                        JSDOM.Generated.DataTransfer as JSDOM.DataTransfer,
+                        JSDOM.Generated.DataTransferItem as JSDOM.DataTransferItem,
+                        JSDOM.Generated.DataTransferItemList as JSDOM.DataTransferItemList,
+                        JSDOM.Generated.DatabaseCallback as JSDOM.DatabaseCallback,
+                        JSDOM.Generated.DedicatedWorkerGlobalScope as JSDOM.DedicatedWorkerGlobalScope,
+                        JSDOM.Generated.DelayNode as JSDOM.DelayNode,
+                        JSDOM.Generated.DeviceMotionEvent as JSDOM.DeviceMotionEvent,
+                        JSDOM.Generated.DeviceOrientationEvent as JSDOM.DeviceOrientationEvent,
+                        JSDOM.Generated.DeviceProximityEvent as JSDOM.DeviceProximityEvent,
+                        JSDOM.Generated.Document as JSDOM.Document,
+                        JSDOM.Generated.DocumentFragment as JSDOM.DocumentFragment,
+                        JSDOM.Generated.DocumentType as JSDOM.DocumentType,
+                        JSDOM.Generated.DynamicsCompressorNode as JSDOM.DynamicsCompressorNode,
+                        JSDOM.Generated.EXTBlendMinMax as JSDOM.EXTBlendMinMax,
+                        JSDOM.Generated.EXTsRGB as JSDOM.EXTsRGB,
+                        JSDOM.Generated.EXTTextureFilterAnisotropic as JSDOM.EXTTextureFilterAnisotropic,
+                        JSDOM.Generated.Element as JSDOM.Element,
+                        JSDOM.Generated.Entity as JSDOM.Entity,
+                        JSDOM.Generated.ErrorEvent as JSDOM.ErrorEvent,
+                        JSDOM.Generated.Event as JSDOM.Event,
+                        JSDOM.Generated.EventListener as JSDOM.EventListener,
+                        JSDOM.Generated.EventSource as JSDOM.EventSource,
+                        JSDOM.Generated.EventTarget as JSDOM.EventTarget,
+                        JSDOM.Generated.File as JSDOM.File,
+                        JSDOM.Generated.FileError as JSDOM.FileError,
+                        JSDOM.Generated.FileList as JSDOM.FileList,
+                        JSDOM.Generated.FileReader as JSDOM.FileReader,
+                        JSDOM.Generated.FileReaderSync as JSDOM.FileReaderSync,
+                        JSDOM.Generated.FocusEvent as JSDOM.FocusEvent,
+                        JSDOM.Generated.FontLoader as JSDOM.FontLoader,
+                        JSDOM.Generated.GainNode as JSDOM.GainNode,
+                        JSDOM.Generated.Gamepad as JSDOM.Gamepad,
+                        JSDOM.Generated.GamepadButton as JSDOM.GamepadButton,
+                        JSDOM.Generated.GamepadEvent as JSDOM.GamepadEvent,
+                        JSDOM.Generated.Geoposition as JSDOM.Geoposition,
+                        JSDOM.Generated.HTMLAllCollection as JSDOM.HTMLAllCollection,
+                        JSDOM.Generated.HTMLAnchorElement as JSDOM.HTMLAnchorElement,
+                        JSDOM.Generated.HTMLAppletElement as JSDOM.HTMLAppletElement,
+                        JSDOM.Generated.HTMLAreaElement as JSDOM.HTMLAreaElement,
+                        JSDOM.Generated.HTMLBRElement as JSDOM.HTMLBRElement,
+                        JSDOM.Generated.HTMLBaseElement as JSDOM.HTMLBaseElement,
+                        JSDOM.Generated.HTMLBaseFontElement as JSDOM.HTMLBaseFontElement,
+                        JSDOM.Generated.HTMLBodyElement as JSDOM.HTMLBodyElement,
+                        JSDOM.Generated.HTMLButtonElement as JSDOM.HTMLButtonElement,
+                        JSDOM.Generated.HTMLCanvasElement as JSDOM.HTMLCanvasElement,
+                        JSDOM.Generated.HTMLCollection as JSDOM.HTMLCollection,
+                        JSDOM.Generated.HTMLDListElement as JSDOM.HTMLDListElement,
+                        JSDOM.Generated.HTMLDataListElement as JSDOM.HTMLDataListElement,
+                        JSDOM.Generated.HTMLDetailsElement as JSDOM.HTMLDetailsElement,
+                        JSDOM.Generated.HTMLDirectoryElement as JSDOM.HTMLDirectoryElement,
+                        JSDOM.Generated.HTMLDivElement as JSDOM.HTMLDivElement,
+                        JSDOM.Generated.HTMLDocument as JSDOM.HTMLDocument,
+                        JSDOM.Generated.HTMLElement as JSDOM.HTMLElement,
+                        JSDOM.Generated.HTMLEmbedElement as JSDOM.HTMLEmbedElement,
+                        JSDOM.Generated.HTMLFieldSetElement as JSDOM.HTMLFieldSetElement,
+                        JSDOM.Generated.HTMLFontElement as JSDOM.HTMLFontElement,
+                        JSDOM.Generated.HTMLFormControlsCollection as JSDOM.HTMLFormControlsCollection,
+                        JSDOM.Generated.HTMLFormElement as JSDOM.HTMLFormElement,
+                        JSDOM.Generated.HTMLFrameElement as JSDOM.HTMLFrameElement,
+                        JSDOM.Generated.HTMLFrameSetElement as JSDOM.HTMLFrameSetElement,
+                        JSDOM.Generated.HTMLHRElement as JSDOM.HTMLHRElement,
+                        JSDOM.Generated.HTMLHeadElement as JSDOM.HTMLHeadElement,
+                        JSDOM.Generated.HTMLHeadingElement as JSDOM.HTMLHeadingElement,
+                        JSDOM.Generated.HTMLHtmlElement as JSDOM.HTMLHtmlElement,
+                        JSDOM.Generated.HTMLIFrameElement as JSDOM.HTMLIFrameElement,
+                        JSDOM.Generated.HTMLImageElement as JSDOM.HTMLImageElement,
+                        JSDOM.Generated.HTMLInputElement as JSDOM.HTMLInputElement,
+                        JSDOM.Generated.HTMLKeygenElement as JSDOM.HTMLKeygenElement,
+                        JSDOM.Generated.HTMLLIElement as JSDOM.HTMLLIElement,
+                        JSDOM.Generated.HTMLLabelElement as JSDOM.HTMLLabelElement,
+                        JSDOM.Generated.HTMLLegendElement as JSDOM.HTMLLegendElement,
+                        JSDOM.Generated.HTMLLinkElement as JSDOM.HTMLLinkElement,
+                        JSDOM.Generated.HTMLMapElement as JSDOM.HTMLMapElement,
+                        JSDOM.Generated.HTMLMarqueeElement as JSDOM.HTMLMarqueeElement,
+                        JSDOM.Generated.HTMLMediaElement as JSDOM.HTMLMediaElement,
+                        JSDOM.Generated.HTMLMenuElement as JSDOM.HTMLMenuElement,
+                        JSDOM.Generated.HTMLMetaElement as JSDOM.HTMLMetaElement,
+                        JSDOM.Generated.HTMLMeterElement as JSDOM.HTMLMeterElement,
+                        JSDOM.Generated.HTMLModElement as JSDOM.HTMLModElement,
+                        JSDOM.Generated.HTMLOListElement as JSDOM.HTMLOListElement,
+                        JSDOM.Generated.HTMLObjectElement as JSDOM.HTMLObjectElement,
+                        JSDOM.Generated.HTMLOptGroupElement as JSDOM.HTMLOptGroupElement,
+                        JSDOM.Generated.HTMLOptionElement as JSDOM.HTMLOptionElement,
+                        JSDOM.Generated.HTMLOptionsCollection as JSDOM.HTMLOptionsCollection,
+                        JSDOM.Generated.HTMLOutputElement as JSDOM.HTMLOutputElement,
+                        JSDOM.Generated.HTMLParagraphElement as JSDOM.HTMLParagraphElement,
+                        JSDOM.Generated.HTMLParamElement as JSDOM.HTMLParamElement,
+                        JSDOM.Generated.HTMLPreElement as JSDOM.HTMLPreElement,
+                        JSDOM.Generated.HTMLProgressElement as JSDOM.HTMLProgressElement,
+                        JSDOM.Generated.HTMLQuoteElement as JSDOM.HTMLQuoteElement,
+                        JSDOM.Generated.HTMLScriptElement as JSDOM.HTMLScriptElement,
+                        JSDOM.Generated.HTMLSelectElement as JSDOM.HTMLSelectElement,
+                        JSDOM.Generated.HTMLSourceElement as JSDOM.HTMLSourceElement,
+                        JSDOM.Generated.HTMLStyleElement as JSDOM.HTMLStyleElement,
+                        JSDOM.Generated.HTMLTableCaptionElement as JSDOM.HTMLTableCaptionElement,
+                        JSDOM.Generated.HTMLTableCellElement as JSDOM.HTMLTableCellElement,
+                        JSDOM.Generated.HTMLTableColElement as JSDOM.HTMLTableColElement,
+                        JSDOM.Generated.HTMLTableElement as JSDOM.HTMLTableElement,
+                        JSDOM.Generated.HTMLTableRowElement as JSDOM.HTMLTableRowElement,
+                        JSDOM.Generated.HTMLTableSectionElement as JSDOM.HTMLTableSectionElement,
+                        JSDOM.Generated.HTMLTemplateElement as JSDOM.HTMLTemplateElement,
+                        JSDOM.Generated.HTMLTextAreaElement as JSDOM.HTMLTextAreaElement,
+                        JSDOM.Generated.HTMLTitleElement as JSDOM.HTMLTitleElement,
+                        JSDOM.Generated.HTMLTrackElement as JSDOM.HTMLTrackElement,
+                        JSDOM.Generated.HTMLUListElement as JSDOM.HTMLUListElement,
+                        JSDOM.Generated.HTMLVideoElement as JSDOM.HTMLVideoElement,
+                        JSDOM.Generated.HashChangeEvent as JSDOM.HashChangeEvent,
+                        JSDOM.Generated.History as JSDOM.History,
+                        JSDOM.Generated.IDBCursor as JSDOM.IDBCursor,
+                        JSDOM.Generated.IDBCursorWithValue as JSDOM.IDBCursorWithValue,
+                        JSDOM.Generated.IDBDatabase as JSDOM.IDBDatabase,
+                        JSDOM.Generated.IDBFactory as JSDOM.IDBFactory,
+                        JSDOM.Generated.IDBIndex as JSDOM.IDBIndex,
+                        JSDOM.Generated.IDBKeyRange as JSDOM.IDBKeyRange,
+                        JSDOM.Generated.IDBObjectStore as JSDOM.IDBObjectStore,
+                        JSDOM.Generated.IDBOpenDBRequest as JSDOM.IDBOpenDBRequest,
+                        JSDOM.Generated.IDBRequest as JSDOM.IDBRequest,
+                        JSDOM.Generated.IDBTransaction as JSDOM.IDBTransaction,
+                        JSDOM.Generated.IDBVersionChangeEvent as JSDOM.IDBVersionChangeEvent,
+                        JSDOM.Generated.ImageData as JSDOM.ImageData,
+                        JSDOM.Generated.InspectorFrontendHost as JSDOM.InspectorFrontendHost,
+                        JSDOM.Generated.InternalSettings as JSDOM.InternalSettings,
+                        JSDOM.Generated.Internals as JSDOM.Internals,
+                        JSDOM.Generated.KeyboardEvent as JSDOM.KeyboardEvent,
+                        JSDOM.Generated.Location as JSDOM.Location,
+                        JSDOM.Generated.MallocStatistics as JSDOM.MallocStatistics,
+                        JSDOM.Generated.MediaController as JSDOM.MediaController,
+                        JSDOM.Generated.MediaControlsHost as JSDOM.MediaControlsHost,
+                        JSDOM.Generated.MediaElementAudioSourceNode as JSDOM.MediaElementAudioSourceNode,
+                        JSDOM.Generated.MediaError as JSDOM.MediaError,
+                        JSDOM.Generated.MediaKeyError as JSDOM.MediaKeyError,
+                        JSDOM.Generated.MediaKeyEvent as JSDOM.MediaKeyEvent,
+                        JSDOM.Generated.MediaKeyMessageEvent as JSDOM.MediaKeyMessageEvent,
+                        JSDOM.Generated.MediaKeyNeededEvent as JSDOM.MediaKeyNeededEvent,
+                        JSDOM.Generated.MediaKeySession as JSDOM.MediaKeySession,
+                        JSDOM.Generated.MediaKeys as JSDOM.MediaKeys,
+                        JSDOM.Generated.MediaList as JSDOM.MediaList,
+                        JSDOM.Generated.MediaQueryList as JSDOM.MediaQueryList,
+                        JSDOM.Generated.MediaQueryListListener as JSDOM.MediaQueryListListener,
+                        JSDOM.Generated.MediaSource as JSDOM.MediaSource,
+                        JSDOM.Generated.MediaSourceStates as JSDOM.MediaSourceStates,
+                        JSDOM.Generated.MediaStream as JSDOM.MediaStream,
+                        JSDOM.Generated.MediaStreamAudioDestinationNode as JSDOM.MediaStreamAudioDestinationNode,
+                        JSDOM.Generated.MediaStreamAudioSourceNode as JSDOM.MediaStreamAudioSourceNode,
+                        JSDOM.Generated.MediaStreamEvent as JSDOM.MediaStreamEvent,
+                        JSDOM.Generated.MediaStreamTrackEvent as JSDOM.MediaStreamTrackEvent,
+                        JSDOM.Generated.MediaStreamTrackSourcesCallback as JSDOM.MediaStreamTrackSourcesCallback,
+                        JSDOM.Generated.MediaTrackConstraints as JSDOM.MediaTrackConstraints,
+                        JSDOM.Generated.MemoryInfo as JSDOM.MemoryInfo,
+                        JSDOM.Generated.MessageChannel as JSDOM.MessageChannel,
+                        JSDOM.Generated.MessageEvent as JSDOM.MessageEvent,
+                        JSDOM.Generated.MessagePort as JSDOM.MessagePort,
+                        JSDOM.Generated.MouseEvent as JSDOM.MouseEvent,
+                        JSDOM.Generated.MutationEvent as JSDOM.MutationEvent,
+                        JSDOM.Generated.MutationObserver as JSDOM.MutationObserver,
+                        JSDOM.Generated.MutationRecord as JSDOM.MutationRecord,
+                        JSDOM.Generated.NamedNodeMap as JSDOM.NamedNodeMap,
+                        JSDOM.Generated.NavigatorUserMediaErrorCallback as JSDOM.NavigatorUserMediaErrorCallback,
+                        JSDOM.Generated.NavigatorUserMediaSuccessCallback as JSDOM.NavigatorUserMediaSuccessCallback,
+                        JSDOM.Generated.Node as JSDOM.Node,
+                        JSDOM.Generated.NodeFilter as JSDOM.NodeFilter,
+                        JSDOM.Generated.NodeIterator as JSDOM.NodeIterator,
+                        JSDOM.Generated.NodeList as JSDOM.NodeList,
+                        JSDOM.Generated.Notification as JSDOM.Notification,
+                        JSDOM.Generated.NotificationCenter as JSDOM.NotificationCenter,
+                        JSDOM.Generated.NotificationPermissionCallback as JSDOM.NotificationPermissionCallback,
+                        JSDOM.Generated.OESStandardDerivatives as JSDOM.OESStandardDerivatives,
+                        JSDOM.Generated.OESTextureHalfFloat as JSDOM.OESTextureHalfFloat,
+                        JSDOM.Generated.OESVertexArrayObject as JSDOM.OESVertexArrayObject,
+                        JSDOM.Generated.OfflineAudioCompletionEvent as JSDOM.OfflineAudioCompletionEvent,
+                        JSDOM.Generated.OfflineAudioContext as JSDOM.OfflineAudioContext,
+                        JSDOM.Generated.OscillatorNode as JSDOM.OscillatorNode,
+                        JSDOM.Generated.OverflowEvent as JSDOM.OverflowEvent,
+                        JSDOM.Generated.PageTransitionEvent as JSDOM.PageTransitionEvent,
+                        JSDOM.Generated.PannerNode as JSDOM.PannerNode,
+                        JSDOM.Generated.Performance as JSDOM.Performance,
+                        JSDOM.Generated.PerformanceEntry as JSDOM.PerformanceEntry,
+                        JSDOM.Generated.PerformanceEntryList as JSDOM.PerformanceEntryList,
+                        JSDOM.Generated.PerformanceNavigation as JSDOM.PerformanceNavigation,
+                        JSDOM.Generated.PerformanceResourceTiming as JSDOM.PerformanceResourceTiming,
+                        JSDOM.Generated.PerformanceTiming as JSDOM.PerformanceTiming,
+                        JSDOM.Generated.PopStateEvent as JSDOM.PopStateEvent,
+                        JSDOM.Generated.PositionCallback as JSDOM.PositionCallback,
+                        JSDOM.Generated.PositionErrorCallback as JSDOM.PositionErrorCallback,
+                        JSDOM.Generated.ProcessingInstruction as JSDOM.ProcessingInstruction,
+                        JSDOM.Generated.ProgressEvent as JSDOM.ProgressEvent,
+                        JSDOM.Generated.QuickTimePluginReplacement as JSDOM.QuickTimePluginReplacement,
+                        JSDOM.Generated.RGBColor as JSDOM.RGBColor,
+                        JSDOM.Generated.RTCConfiguration as JSDOM.RTCConfiguration,
+                        JSDOM.Generated.RTCDTMFSender as JSDOM.RTCDTMFSender,
+                        JSDOM.Generated.RTCDTMFToneChangeEvent as JSDOM.RTCDTMFToneChangeEvent,
+                        JSDOM.Generated.RTCDataChannel as JSDOM.RTCDataChannel,
+                        JSDOM.Generated.RTCDataChannelEvent as JSDOM.RTCDataChannelEvent,
+                        JSDOM.Generated.RTCIceCandidate as JSDOM.RTCIceCandidate,
+                        JSDOM.Generated.RTCIceCandidateEvent as JSDOM.RTCIceCandidateEvent,
+                        JSDOM.Generated.RTCIceServer as JSDOM.RTCIceServer,
+                        JSDOM.Generated.RTCPeerConnectionErrorCallback as JSDOM.RTCPeerConnectionErrorCallback,
+                        JSDOM.Generated.RTCSessionDescription as JSDOM.RTCSessionDescription,
+                        JSDOM.Generated.RTCSessionDescriptionCallback as JSDOM.RTCSessionDescriptionCallback,
+                        JSDOM.Generated.RTCStatsCallback as JSDOM.RTCStatsCallback,
+                        JSDOM.Generated.RTCStatsReport as JSDOM.RTCStatsReport,
+                        JSDOM.Generated.RTCStatsResponse as JSDOM.RTCStatsResponse,
+                        JSDOM.Generated.RadioNodeList as JSDOM.RadioNodeList,
+                        JSDOM.Generated.Range as JSDOM.Range,
+                        JSDOM.Generated.ReadableStream as JSDOM.ReadableStream,
+                        JSDOM.Generated.Rect as JSDOM.Rect,
+                        JSDOM.Generated.RequestAnimationFrameCallback as JSDOM.RequestAnimationFrameCallback,
+                        JSDOM.Generated.SQLResultSet as JSDOM.SQLResultSet,
+                        JSDOM.Generated.SQLResultSetRowList as JSDOM.SQLResultSetRowList,
+                        JSDOM.Generated.SQLStatementCallback as JSDOM.SQLStatementCallback,
+                        JSDOM.Generated.SQLStatementErrorCallback as JSDOM.SQLStatementErrorCallback,
+                        JSDOM.Generated.SQLTransactionCallback as JSDOM.SQLTransactionCallback,
+                        JSDOM.Generated.SQLTransactionErrorCallback as JSDOM.SQLTransactionErrorCallback,
+                        JSDOM.Generated.SVGAElement as JSDOM.SVGAElement,
+                        JSDOM.Generated.SVGAltGlyphElement as JSDOM.SVGAltGlyphElement,
+                        JSDOM.Generated.SVGAngle as JSDOM.SVGAngle,
+                        JSDOM.Generated.SVGAnimatedAngle as JSDOM.SVGAnimatedAngle,
+                        JSDOM.Generated.SVGAnimatedBoolean as JSDOM.SVGAnimatedBoolean,
+                        JSDOM.Generated.SVGAnimatedEnumeration as JSDOM.SVGAnimatedEnumeration,
+                        JSDOM.Generated.SVGAnimatedInteger as JSDOM.SVGAnimatedInteger,
+                        JSDOM.Generated.SVGAnimatedLength as JSDOM.SVGAnimatedLength,
+                        JSDOM.Generated.SVGAnimatedLengthList as JSDOM.SVGAnimatedLengthList,
+                        JSDOM.Generated.SVGAnimatedNumber as JSDOM.SVGAnimatedNumber,
+                        JSDOM.Generated.SVGAnimatedNumberList as JSDOM.SVGAnimatedNumberList,
+                        JSDOM.Generated.SVGAnimatedPreserveAspectRatio as JSDOM.SVGAnimatedPreserveAspectRatio,
+                        JSDOM.Generated.SVGAnimatedRect as JSDOM.SVGAnimatedRect,
+                        JSDOM.Generated.SVGAnimatedString as JSDOM.SVGAnimatedString,
+                        JSDOM.Generated.SVGAnimatedTransformList as JSDOM.SVGAnimatedTransformList,
+                        JSDOM.Generated.SVGAnimationElement as JSDOM.SVGAnimationElement,
+                        JSDOM.Generated.SVGCircleElement as JSDOM.SVGCircleElement,
+                        JSDOM.Generated.SVGClipPathElement as JSDOM.SVGClipPathElement,
+                        JSDOM.Generated.SVGColor as JSDOM.SVGColor,
+                        JSDOM.Generated.SVGComponentTransferFunctionElement as JSDOM.SVGComponentTransferFunctionElement,
+                        JSDOM.Generated.SVGCursorElement as JSDOM.SVGCursorElement,
+                        JSDOM.Generated.SVGDocument as JSDOM.SVGDocument,
+                        JSDOM.Generated.SVGElement as JSDOM.SVGElement,
+                        JSDOM.Generated.SVGEllipseElement as JSDOM.SVGEllipseElement,
+                        JSDOM.Generated.SVGExternalResourcesRequired as JSDOM.SVGExternalResourcesRequired,
+                        JSDOM.Generated.SVGFEBlendElement as JSDOM.SVGFEBlendElement,
+                        JSDOM.Generated.SVGFEColorMatrixElement as JSDOM.SVGFEColorMatrixElement,
+                        JSDOM.Generated.SVGFEComponentTransferElement as JSDOM.SVGFEComponentTransferElement,
+                        JSDOM.Generated.SVGFECompositeElement as JSDOM.SVGFECompositeElement,
+                        JSDOM.Generated.SVGFEConvolveMatrixElement as JSDOM.SVGFEConvolveMatrixElement,
+                        JSDOM.Generated.SVGFEDiffuseLightingElement as JSDOM.SVGFEDiffuseLightingElement,
+                        JSDOM.Generated.SVGFEDisplacementMapElement as JSDOM.SVGFEDisplacementMapElement,
+                        JSDOM.Generated.SVGFEDistantLightElement as JSDOM.SVGFEDistantLightElement,
+                        JSDOM.Generated.SVGFEDropShadowElement as JSDOM.SVGFEDropShadowElement,
+                        JSDOM.Generated.SVGFEGaussianBlurElement as JSDOM.SVGFEGaussianBlurElement,
+                        JSDOM.Generated.SVGFEImageElement as JSDOM.SVGFEImageElement,
+                        JSDOM.Generated.SVGFEMergeNodeElement as JSDOM.SVGFEMergeNodeElement,
+                        JSDOM.Generated.SVGFEMorphologyElement as JSDOM.SVGFEMorphologyElement,
+                        JSDOM.Generated.SVGFEOffsetElement as JSDOM.SVGFEOffsetElement,
+                        JSDOM.Generated.SVGFEPointLightElement as JSDOM.SVGFEPointLightElement,
+                        JSDOM.Generated.SVGFESpecularLightingElement as JSDOM.SVGFESpecularLightingElement,
+                        JSDOM.Generated.SVGFESpotLightElement as JSDOM.SVGFESpotLightElement,
+                        JSDOM.Generated.SVGFETileElement as JSDOM.SVGFETileElement,
+                        JSDOM.Generated.SVGFETurbulenceElement as JSDOM.SVGFETurbulenceElement,
+                        JSDOM.Generated.SVGFilterElement as JSDOM.SVGFilterElement,
+                        JSDOM.Generated.SVGFilterPrimitiveStandardAttributes as JSDOM.SVGFilterPrimitiveStandardAttributes,
+                        JSDOM.Generated.SVGFitToViewBox as JSDOM.SVGFitToViewBox,
+                        JSDOM.Generated.SVGForeignObjectElement as JSDOM.SVGForeignObjectElement,
+                        JSDOM.Generated.SVGGlyphRefElement as JSDOM.SVGGlyphRefElement,
+                        JSDOM.Generated.SVGGradientElement as JSDOM.SVGGradientElement,
+                        JSDOM.Generated.SVGGraphicsElement as JSDOM.SVGGraphicsElement,
+                        JSDOM.Generated.SVGImageElement as JSDOM.SVGImageElement,
+                        JSDOM.Generated.SVGLength as JSDOM.SVGLength,
+                        JSDOM.Generated.SVGLengthList as JSDOM.SVGLengthList,
+                        JSDOM.Generated.SVGLineElement as JSDOM.SVGLineElement,
+                        JSDOM.Generated.SVGLinearGradientElement as JSDOM.SVGLinearGradientElement,
+                        JSDOM.Generated.SVGMarkerElement as JSDOM.SVGMarkerElement,
+                        JSDOM.Generated.SVGMaskElement as JSDOM.SVGMaskElement,
+                        JSDOM.Generated.SVGMatrix as JSDOM.SVGMatrix,
+                        JSDOM.Generated.SVGNumber as JSDOM.SVGNumber,
+                        JSDOM.Generated.SVGNumberList as JSDOM.SVGNumberList,
+                        JSDOM.Generated.SVGPaint as JSDOM.SVGPaint,
+                        JSDOM.Generated.SVGPathElement as JSDOM.SVGPathElement,
+                        JSDOM.Generated.SVGPathSeg as JSDOM.SVGPathSeg,
+                        JSDOM.Generated.SVGPathSegArcAbs as JSDOM.SVGPathSegArcAbs,
+                        JSDOM.Generated.SVGPathSegArcRel as JSDOM.SVGPathSegArcRel,
+                        JSDOM.Generated.SVGPathSegCurvetoCubicAbs as JSDOM.SVGPathSegCurvetoCubicAbs,
+                        JSDOM.Generated.SVGPathSegCurvetoCubicRel as JSDOM.SVGPathSegCurvetoCubicRel,
+                        JSDOM.Generated.SVGPathSegCurvetoCubicSmoothAbs as JSDOM.SVGPathSegCurvetoCubicSmoothAbs,
+                        JSDOM.Generated.SVGPathSegCurvetoCubicSmoothRel as JSDOM.SVGPathSegCurvetoCubicSmoothRel,
+                        JSDOM.Generated.SVGPathSegCurvetoQuadraticAbs as JSDOM.SVGPathSegCurvetoQuadraticAbs,
+                        JSDOM.Generated.SVGPathSegCurvetoQuadraticRel as JSDOM.SVGPathSegCurvetoQuadraticRel,
+                        JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothAbs as JSDOM.SVGPathSegCurvetoQuadraticSmoothAbs,
+                        JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothRel as JSDOM.SVGPathSegCurvetoQuadraticSmoothRel,
+                        JSDOM.Generated.SVGPathSegLinetoAbs as JSDOM.SVGPathSegLinetoAbs,
+                        JSDOM.Generated.SVGPathSegLinetoHorizontalAbs as JSDOM.SVGPathSegLinetoHorizontalAbs,
+                        JSDOM.Generated.SVGPathSegLinetoHorizontalRel as JSDOM.SVGPathSegLinetoHorizontalRel,
+                        JSDOM.Generated.SVGPathSegLinetoRel as JSDOM.SVGPathSegLinetoRel,
+                        JSDOM.Generated.SVGPathSegLinetoVerticalAbs as JSDOM.SVGPathSegLinetoVerticalAbs,
+                        JSDOM.Generated.SVGPathSegLinetoVerticalRel as JSDOM.SVGPathSegLinetoVerticalRel,
+                        JSDOM.Generated.SVGPathSegList as JSDOM.SVGPathSegList,
+                        JSDOM.Generated.SVGPathSegMovetoAbs as JSDOM.SVGPathSegMovetoAbs,
+                        JSDOM.Generated.SVGPathSegMovetoRel as JSDOM.SVGPathSegMovetoRel,
+                        JSDOM.Generated.SVGPatternElement as JSDOM.SVGPatternElement,
+                        JSDOM.Generated.SVGPoint as JSDOM.SVGPoint,
+                        JSDOM.Generated.SVGPointList as JSDOM.SVGPointList,
+                        JSDOM.Generated.SVGPolygonElement as JSDOM.SVGPolygonElement,
+                        JSDOM.Generated.SVGPolylineElement as JSDOM.SVGPolylineElement,
+                        JSDOM.Generated.SVGPreserveAspectRatio as JSDOM.SVGPreserveAspectRatio,
+                        JSDOM.Generated.SVGRadialGradientElement as JSDOM.SVGRadialGradientElement,
+                        JSDOM.Generated.SVGRect as JSDOM.SVGRect,
+                        JSDOM.Generated.SVGRectElement as JSDOM.SVGRectElement,
+                        JSDOM.Generated.SVGRenderingIntent as JSDOM.SVGRenderingIntent,
+                        JSDOM.Generated.SVGScriptElement as JSDOM.SVGScriptElement,
+                        JSDOM.Generated.SVGSVGElement as JSDOM.SVGSVGElement,
+                        JSDOM.Generated.SVGStopElement as JSDOM.SVGStopElement,
+                        JSDOM.Generated.SVGStringList as JSDOM.SVGStringList,
+                        JSDOM.Generated.SVGStyleElement as JSDOM.SVGStyleElement,
+                        JSDOM.Generated.SVGTests as JSDOM.SVGTests,
+                        JSDOM.Generated.SVGTextContentElement as JSDOM.SVGTextContentElement,
+                        JSDOM.Generated.SVGTextPathElement as JSDOM.SVGTextPathElement,
+                        JSDOM.Generated.SVGTextPositioningElement as JSDOM.SVGTextPositioningElement,
+                        JSDOM.Generated.SVGTransform as JSDOM.SVGTransform,
+                        JSDOM.Generated.SVGTransformList as JSDOM.SVGTransformList,
+                        JSDOM.Generated.SVGURIReference as JSDOM.SVGURIReference,
+                        JSDOM.Generated.SVGUnitTypes as JSDOM.SVGUnitTypes,
+                        JSDOM.Generated.SVGUseElement as JSDOM.SVGUseElement,
+                        JSDOM.Generated.SVGViewElement as JSDOM.SVGViewElement,
+                        JSDOM.Generated.SVGViewSpec as JSDOM.SVGViewSpec,
+                        JSDOM.Generated.SVGZoomAndPan as JSDOM.SVGZoomAndPan,
+                        JSDOM.Generated.SVGZoomEvent as JSDOM.SVGZoomEvent,
+                        JSDOM.Generated.Screen as JSDOM.Screen,
+                        JSDOM.Generated.ScriptProcessorNode as JSDOM.ScriptProcessorNode,
+                        JSDOM.Generated.ScriptProfile as JSDOM.ScriptProfile,
+                        JSDOM.Generated.ScriptProfileNode as JSDOM.ScriptProfileNode,
+                        JSDOM.Generated.SecurityPolicyViolationEvent as JSDOM.SecurityPolicyViolationEvent,
+                        JSDOM.Generated.SourceBuffer as JSDOM.SourceBuffer,
+                        JSDOM.Generated.SourceBufferList as JSDOM.SourceBufferList,
+                        JSDOM.Generated.SourceInfo as JSDOM.SourceInfo,
+                        JSDOM.Generated.SpeechSynthesis as JSDOM.SpeechSynthesis,
+                        JSDOM.Generated.SpeechSynthesisEvent as JSDOM.SpeechSynthesisEvent,
+                        JSDOM.Generated.SpeechSynthesisUtterance as JSDOM.SpeechSynthesisUtterance,
+                        JSDOM.Generated.SpeechSynthesisVoice as JSDOM.SpeechSynthesisVoice,
+                        JSDOM.Generated.Storage as JSDOM.Storage,
+                        JSDOM.Generated.StorageErrorCallback as JSDOM.StorageErrorCallback,
+                        JSDOM.Generated.StorageEvent as JSDOM.StorageEvent,
+                        JSDOM.Generated.StorageInfo as JSDOM.StorageInfo,
+                        JSDOM.Generated.StorageQuota as JSDOM.StorageQuota,
+                        JSDOM.Generated.StorageQuotaCallback as JSDOM.StorageQuotaCallback,
+                        JSDOM.Generated.StorageUsageCallback as JSDOM.StorageUsageCallback,
+                        JSDOM.Generated.StringCallback as JSDOM.StringCallback,
+                        JSDOM.Generated.StyleMedia as JSDOM.StyleMedia,
+                        JSDOM.Generated.StyleSheet as JSDOM.StyleSheet,
+                        JSDOM.Generated.StyleSheetList as JSDOM.StyleSheetList,
+                        JSDOM.Generated.SubtleCrypto as JSDOM.SubtleCrypto,
+                        JSDOM.Generated.Text as JSDOM.Text,
+                        JSDOM.Generated.TextEvent as JSDOM.TextEvent,
+                        JSDOM.Generated.TextMetrics as JSDOM.TextMetrics,
+                        JSDOM.Generated.TextTrack as JSDOM.TextTrack,
+                        JSDOM.Generated.TextTrackCue as JSDOM.TextTrackCue,
+                        JSDOM.Generated.TextTrackCueList as JSDOM.TextTrackCueList,
+                        JSDOM.Generated.TextTrackList as JSDOM.TextTrackList,
+                        JSDOM.Generated.TimeRanges as JSDOM.TimeRanges,
+                        JSDOM.Generated.Touch as JSDOM.Touch,
+                        JSDOM.Generated.TouchEvent as JSDOM.TouchEvent,
+                        JSDOM.Generated.TouchList as JSDOM.TouchList,
+                        JSDOM.Generated.TrackEvent as JSDOM.TrackEvent,
+                        JSDOM.Generated.TransitionEvent as JSDOM.TransitionEvent,
+                        JSDOM.Generated.TreeWalker as JSDOM.TreeWalker,
+                        JSDOM.Generated.TypeConversions as JSDOM.TypeConversions,
+                        JSDOM.Generated.UIEvent as JSDOM.UIEvent,
+                        JSDOM.Generated.UIRequestEvent as JSDOM.UIRequestEvent,
+                        JSDOM.Generated.URLUtils as JSDOM.URLUtils,
+                        JSDOM.Generated.UserMessageHandler as JSDOM.UserMessageHandler,
+                        JSDOM.Generated.VTTCue as JSDOM.VTTCue,
+                        JSDOM.Generated.VTTRegion as JSDOM.VTTRegion,
+                        JSDOM.Generated.VTTRegionList as JSDOM.VTTRegionList,
+                        JSDOM.Generated.ValidityState as JSDOM.ValidityState,
+                        JSDOM.Generated.VideoPlaybackQuality as JSDOM.VideoPlaybackQuality,
+                        JSDOM.Generated.VideoStreamTrack as JSDOM.VideoStreamTrack,
+                        JSDOM.Generated.VideoTrack as JSDOM.VideoTrack,
+                        JSDOM.Generated.VideoTrackList as JSDOM.VideoTrackList,
+                        JSDOM.Generated.VoidCallback as JSDOM.VoidCallback,
+                        JSDOM.Generated.WaveShaperNode as JSDOM.WaveShaperNode,
+                        JSDOM.Generated.WebGL2RenderingContext as JSDOM.WebGL2RenderingContext,
+                        JSDOM.Generated.WebGLActiveInfo as JSDOM.WebGLActiveInfo,
+                        JSDOM.Generated.WebGLCompressedTextureATC as JSDOM.WebGLCompressedTextureATC,
+                        JSDOM.Generated.WebGLCompressedTexturePVRTC as JSDOM.WebGLCompressedTexturePVRTC,
+                        JSDOM.Generated.WebGLCompressedTextureS3TC as JSDOM.WebGLCompressedTextureS3TC,
+                        JSDOM.Generated.WebGLContextAttributes as JSDOM.WebGLContextAttributes,
+                        JSDOM.Generated.WebGLContextEvent as JSDOM.WebGLContextEvent,
+                        JSDOM.Generated.WebGLDebugRendererInfo as JSDOM.WebGLDebugRendererInfo,
+                        JSDOM.Generated.WebGLDebugShaders as JSDOM.WebGLDebugShaders,
+                        JSDOM.Generated.WebGLDepthTexture as JSDOM.WebGLDepthTexture,
+                        JSDOM.Generated.WebGLDrawBuffers as JSDOM.WebGLDrawBuffers,
+                        JSDOM.Generated.WebGLLoseContext as JSDOM.WebGLLoseContext,
+                        JSDOM.Generated.WebGLRenderingContextBase as JSDOM.WebGLRenderingContextBase,
+                        JSDOM.Generated.WebGLShaderPrecisionFormat as JSDOM.WebGLShaderPrecisionFormat,
+                        JSDOM.Generated.WebKitAnimationEvent as JSDOM.WebKitAnimationEvent,
+                        JSDOM.Generated.WebKitCSSFilterValue as JSDOM.WebKitCSSFilterValue,
+                        JSDOM.Generated.WebKitCSSMatrix as JSDOM.WebKitCSSMatrix,
+                        JSDOM.Generated.WebKitCSSRegionRule as JSDOM.WebKitCSSRegionRule,
+                        JSDOM.Generated.WebKitCSSTransformValue as JSDOM.WebKitCSSTransformValue,
+                        JSDOM.Generated.WebKitCSSViewportRule as JSDOM.WebKitCSSViewportRule,
+                        JSDOM.Generated.WebKitNamedFlow as JSDOM.WebKitNamedFlow,
+                        JSDOM.Generated.WebKitNamespace as JSDOM.WebKitNamespace,
+                        JSDOM.Generated.WebKitPlaybackTargetAvailabilityEvent as JSDOM.WebKitPlaybackTargetAvailabilityEvent,
+                        JSDOM.Generated.WebKitPoint as JSDOM.WebKitPoint,
+                        JSDOM.Generated.WebKitTransitionEvent as JSDOM.WebKitTransitionEvent,
+                        JSDOM.Generated.WebSocket as JSDOM.WebSocket,
+                        JSDOM.Generated.WheelEvent as JSDOM.WheelEvent,
+                        JSDOM.Generated.WindowBase64 as JSDOM.WindowBase64,
+                        JSDOM.Generated.WindowTimers as JSDOM.WindowTimers,
+                        JSDOM.Generated.Worker as JSDOM.Worker,
+                        JSDOM.Generated.WorkerGlobalScope as JSDOM.WorkerGlobalScope,
+                        JSDOM.Generated.WorkerLocation as JSDOM.WorkerLocation,
+                        JSDOM.Generated.WorkerNavigator as JSDOM.WorkerNavigator,
+                        JSDOM.Generated.XMLHttpRequestProgressEvent as JSDOM.XMLHttpRequestProgressEvent,
+                        JSDOM.Generated.XMLHttpRequestUpload as JSDOM.XMLHttpRequestUpload,
+                        JSDOM.Generated.XMLSerializer as JSDOM.XMLSerializer,
+                        JSDOM.Generated.XPathEvaluator as JSDOM.XPathEvaluator,
+                        JSDOM.Generated.XPathExpression as JSDOM.XPathExpression,
+                        JSDOM.Generated.XPathNSResolver as JSDOM.XPathNSResolver,
+                        JSDOM.Generated.XPathResult as JSDOM.XPathResult,
+                        JSDOM.Generated.XSLTProcessor as JSDOM.XSLTProcessor
+    build-depends:
+        base >=4.7.0.0 && <5,
+        base-compat >=0.9.0 && <0.10,
+        transformers >=0.2 && <0.6,
+        text >=0.11.0.6 && <1.3,
+        jsaddle >=0.5.0.0 && <0.6,
+        lens >=4.12.3 && <4.15
+    default-language: Haskell2010
+    hs-source-dirs: src
+
diff --git a/src/JSDOM.hs b/src/JSDOM.hs
--- a/src/JSDOM.hs
+++ b/src/JSDOM.hs
@@ -1,69 +1,18 @@
-{-# LANGUAGE CPP, OverloadedStrings, PatternSynonyms #-}
+{-# LANGUAGE OverloadedStrings, PatternSynonyms #-}
 module JSDOM (
   currentWindow
 , currentDocument
-, WebView
-, runWebGUI
-, enableInspector
-, postGUISync
-, postGUIAsync
+, run
+, syncPoint
+, syncAfter
+, catch
+, bracket
 ) where
 
-import qualified Data.Text as T
-import Data.Monoid ((<>))
-#ifdef ghcjs_HOST_OS
-import GHCJS.Types (JSVal(..))
-import GHCJS.Nullable (Nullable(..), nullableToMaybe)
-import Control.Applicative ((<$>))
-#else
-import GI.WebKit.Objects.WebView
-       (getWebViewSettings, onWebViewLoadFinished, setWebViewSettings,
-        webViewSetSettings, webViewGetSettings, webViewLoadUri, webViewNew,
-        webViewGetDomDocument, webViewGetInspector, WebView(..))
-import GI.Gtk
-       (widgetShowAll, mainQuit,
-        WindowPosition(..), containerAdd, scrolledWindowNew,
-        windowSetPosition, windowSetDefaultSize, windowNew)
-import qualified GI.Gtk.Functions as Gtk (init, main)
-import GI.WebKit.Objects.WebSettings
-       (setWebSettingsMonospaceFontFamily,
-        setWebSettingsEnableDeveloperExtras, setWebSettingsUserAgent,
-        getWebSettingsUserAgent)
-import GI.Gtk.Objects.Widget (onWidgetDestroy)
-import GI.WebKit.Objects.WebInspector
-       (onWebInspectorShowWindow, onWebInspectorInspectWebView)
-import GI.Gtk.Enums (WindowType(..))
-import GI.GLib.Functions (timeoutAdd)
-import GI.GLib.Constants (pattern PRIORITY_LOW)
-import GI.Gtk.Objects.Adjustment (noAdjustment)
-import Control.Monad.IO.Class (liftIO)
-#endif
-
-import JSDOM.Generated.Window (getNavigator, getDocument)
-import JSDOM.Generated.Navigator (getUserAgent)
-import Foreign (ForeignPtr, nullPtr, Ptr)
-import Control.Monad (unless, forever, liftM)
-import Control.Concurrent
-       (yield, threadDelay, takeMVar, newEmptyMVar)
-import System.Environment (getArgs)
-import Data.List (isSuffixOf)
-import Language.Javascript.JSaddle (runJSaddle, JSM, jsg, postGUIAsyncJS, postGUISyncJS)
 import JSDOM.Types
-       (DOM, FromJSVal(..), MonadDOM(..), MonadDOM, Document(..), Window(..))
-import Control.Monad.IO.Class (MonadIO)
-
-#ifdef ghcjs_HOST_OS
-foreign import javascript unsafe "$r = window"
-  ghcjs_currentWindow :: IO JSVal
-
-data WebView = WebView
-#endif
-
-postGUIAsync :: DOM () -> DOM ()
-postGUIAsync = postGUIAsyncJS
-
-postGUISync :: DOM a -> DOM a
-postGUISync = postGUISyncJS
+       (FromJSVal(..), MonadDOM(..), Document(..), Window(..))
+import Language.Javascript.JSaddle (run, syncPoint, syncAfter, catch, bracket)
+import Language.Javascript.JSaddle.Object (jsg)
 
 currentWindow :: MonadDOM m => m (Maybe Window)
 currentWindow = liftDOM $ jsg ("window" :: String) >>= fromJSVal
@@ -71,62 +20,3 @@
 currentDocument :: MonadDOM m => m (Maybe Document)
 currentDocument = liftDOM $ jsg ("document" :: String) >>= fromJSVal
 
-runWebGUI :: (WebView -> JSM ()) -> IO ()
-runWebGUI = runWebGUI' "GHCJS"
-
-runWebGUI' :: T.Text -> (WebView -> JSM ()) -> IO ()
-runWebGUI' userAgentKey main = do
-#ifdef ghcjs_HOST_OS
-  window <- Window <$> ghcjs_currentWindow
-  runJSaddle window $ main WebView
-#else
-  Gtk.init Nothing
-  window <- windowNew WindowTypeToplevel
-  timeoutAdd PRIORITY_LOW 10 (yield >> return True)
-  windowSetDefaultSize window 900 600
-  windowSetPosition window WindowPositionCenter
-  scrollWin <- scrolledWindowNew noAdjustment noAdjustment
-  webView <- webViewNew
-  settings <- getWebViewSettings webView
-  userAgent <- getWebSettingsUserAgent settings
-  setWebSettingsUserAgent settings $ userAgent <> " " <> userAgentKey
-  setWebViewSettings webView settings
-  window `containerAdd` scrollWin
-  scrollWin `containerAdd` webView
-  onWidgetDestroy window $ liftIO mainQuit
-  widgetShowAll window
-  onWebViewLoadFinished webView $ \frame ->
-    runJSaddle webView $ main webView
-  args <- getArgs
-  case args of
-    uri:_ -> webViewLoadUri webView (T.pack uri)
-    []    -> runJSaddle webView $ main webView
-  Gtk.main
-#endif
-
-enableInspector :: MonadIO m => WebView -> m ()
-#ifdef ghcjs_HOST_OS
-enableInspector _ = return ()
-#else
-enableInspector webView = liftIO $ do
-  settings <- getWebViewSettings webView
-  setWebSettingsEnableDeveloperExtras settings True
-  setWebViewSettings webView settings
-  inspector <- webViewGetInspector webView
-  window <- windowNew WindowTypeToplevel
-  windowSetDefaultSize window 900 300
-  scrollWin <- scrolledWindowNew noAdjustment noAdjustment
-  onWebInspectorInspectWebView inspector $ \view -> do
-    inspectorView <- webViewNew
-    settings <- getWebViewSettings inspectorView
-    setWebSettingsMonospaceFontFamily settings "Consolas"
-    setWebViewSettings inspectorView settings
-    scrollWin `containerAdd` inspectorView
-    window `containerAdd` scrollWin
-    widgetShowAll window
-    return inspectorView
-  onWebInspectorShowWindow inspector $ do
-    widgetShowAll window
-    return True
-  return ()
-#endif
diff --git a/src/JSDOM/Custom/Database.hs b/src/JSDOM/Custom/Database.hs
--- a/src/JSDOM/Custom/Database.hs
+++ b/src/JSDOM/Custom/Database.hs
@@ -12,11 +12,10 @@
 import Data.Maybe (fromJust, maybe)
 
 import Control.Monad.IO.Class (MonadIO(..))
-import Control.Exception (Exception, bracket)
+import Control.Concurrent.MVar (takeMVar, putMVar, newEmptyMVar)
 
-import Language.Javascript.JSaddle (JSM, postGUIAsyncJS)
 import JSDOM.Types
-       (MonadDOM, SQLTransaction, SQLError,
+       (MonadDOM, SQLTransaction, SQLError, DOM,
         SQLTransactionCallback(..), ToJSString(..), Callback(..), withCallback,
         SQLTransactionErrorCallback(..), VoidCallback(..))
 
@@ -24,28 +23,25 @@
 import JSDOM.Generated.SQLTransactionCallback (newSQLTransactionCallbackSync)
 import JSDOM.Generated.Database as Generated hiding (changeVersion, transaction, readTransaction)
 import qualified JSDOM.Generated.Database as Generated (changeVersion, transaction, readTransaction)
-import Control.Concurrent.MVar (takeMVar, putMVar, newEmptyMVar)
 import JSDOM.Generated.SQLTransactionErrorCallback
        (newSQLTransactionErrorCallback)
 import JSDOM.Generated.VoidCallback
        (newVoidCallback)
-import Data.Coerce (Coercible, coerce)
-import Control.Monad.Trans.Reader (ReaderT(..), ask)
 
-withSQLTransactionCallback :: MonadDOM m => (SQLTransaction -> JSM ()) -> (SQLTransactionCallback -> JSM a) -> m a
+withSQLTransactionCallback :: MonadDOM m => (SQLTransaction -> DOM ()) -> (SQLTransactionCallback -> DOM a) -> m a
 withSQLTransactionCallback callback = withCallback (newSQLTransactionCallbackSync (callback . fromJust))
 
-withSQLErrorCallbacks :: MonadDOM m => (Maybe SQLTransactionErrorCallback -> Maybe VoidCallback -> JSM ()) -> m (Maybe SQLError)
+withSQLErrorCallbacks :: MonadDOM m => (Maybe SQLTransactionErrorCallback -> Maybe VoidCallback -> DOM ()) -> m (Maybe SQLError)
 withSQLErrorCallbacks f = do
     result <- liftIO newEmptyMVar
     withCallback (newSQLTransactionErrorCallback (liftIO . putMVar result)) $ \error ->
         withCallback (newVoidCallback $ liftIO $ putMVar result Nothing) $ \success -> do
-            postGUIAsyncJS $ f (Just error) (Just success)
+            f (Just error) (Just success)
             liftIO $ takeMVar result
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Database.changeVersion Mozilla Database.changeVersion documentation>
 changeVersion' :: (MonadDOM m, ToJSString oldVersion, ToJSString newVersion) =>
-                  Database -> oldVersion -> newVersion -> Maybe (SQLTransaction -> JSM ()) -> m (Maybe SQLError)
+                  Database -> oldVersion -> newVersion -> Maybe (SQLTransaction -> DOM ()) -> m (Maybe SQLError)
 changeVersion' self oldVersion newVersion Nothing = withSQLErrorCallbacks $ Generated.changeVersion self oldVersion newVersion Nothing
 changeVersion' self oldVersion newVersion (Just callback) =
     withSQLTransactionCallback callback $ \transaction ->
@@ -53,26 +49,26 @@
             Generated.changeVersion self oldVersion newVersion (Just transaction) e s
 
 changeVersion :: (MonadDOM m, ToJSString oldVersion, ToJSString newVersion) =>
-                 Database -> oldVersion -> newVersion -> Maybe (SQLTransaction -> JSM ()) -> m ()
+                 Database -> oldVersion -> newVersion -> Maybe (SQLTransaction -> DOM ()) -> m ()
 changeVersion self oldVersion newVersion callback =
     changeVersion' self oldVersion newVersion callback >>= maybe (return ()) throwSQLException
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Database.transaction Mozilla Database.transaction documentation>
-transaction' :: (MonadDOM m) => Database -> (SQLTransaction -> JSM ()) -> m (Maybe SQLError)
+transaction' :: (MonadDOM m) => Database -> (SQLTransaction -> DOM ()) -> m (Maybe SQLError)
 transaction' self callback =
     withSQLTransactionCallback callback $ \transaction ->
         withSQLErrorCallbacks $ \e s ->
             Generated.transaction self (Just transaction) e s
 
-transaction :: (MonadDOM m) => Database -> (SQLTransaction -> JSM ()) -> m ()
+transaction :: (MonadDOM m) => Database -> (SQLTransaction -> DOM ()) -> m ()
 transaction self callback = transaction' self callback >>= maybe (return ()) throwSQLException
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Database.readTransaction Mozilla Database.readTransaction documentation>
-readTransaction' :: (MonadDOM m) => Database -> (SQLTransaction -> JSM ()) -> m (Maybe SQLError)
+readTransaction' :: (MonadDOM m) => Database -> (SQLTransaction -> DOM ()) -> m (Maybe SQLError)
 readTransaction' self callback =
     withSQLTransactionCallback callback $ \transaction ->
         withSQLErrorCallbacks $ \e s ->
             Generated.readTransaction self (Just transaction) e s
 
-readTransaction :: (MonadDOM m) => Database -> (SQLTransaction -> JSM ()) -> m ()
+readTransaction :: (MonadDOM m) => Database -> (SQLTransaction -> DOM ()) -> m ()
 readTransaction self callback = readTransaction' self callback >>= maybe (return ()) throwSQLException
diff --git a/src/JSDOM/Custom/Geolocation.hs b/src/JSDOM/Custom/Geolocation.hs
--- a/src/JSDOM/Custom/Geolocation.hs
+++ b/src/JSDOM/Custom/Geolocation.hs
@@ -9,7 +9,6 @@
 import Control.Monad.IO.Class (MonadIO(..))
 import Control.Concurrent.MVar (takeMVar, putMVar, newEmptyMVar)
 
-import Language.Javascript.JSaddle (postGUIAsyncJS)
 import JSDOM.Types
 
 import JSDOM.Custom.PositionError (throwPositionException)
@@ -30,7 +29,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newPositionCallback (liftIO . putMVar result . Right . fromJust)) $ \success ->
         withCallback (newPositionErrorCallback (liftIO . putMVar result . Left . fromJust)) $ \error -> do
-            postGUIAsyncJS $ Generated.getCurrentPosition self (Just success) (Just error) options
+            Generated.getCurrentPosition self (Just success) (Just error) options
             liftIO $ takeMVar result
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Geolocation.getCurrentPosition Mozilla Geolocation.getCurrentPosition documentation>
diff --git a/src/JSDOM/Custom/MediaStreamTrack.hs b/src/JSDOM/Custom/MediaStreamTrack.hs
--- a/src/JSDOM/Custom/MediaStreamTrack.hs
+++ b/src/JSDOM/Custom/MediaStreamTrack.hs
@@ -6,7 +6,6 @@
 import Control.Monad.IO.Class (MonadIO(..))
 import Control.Concurrent.MVar (newEmptyMVar, takeMVar, putMVar)
 
-import Language.Javascript.JSaddle (postGUIAsyncJS)
 import JSDOM.Types
        (withCallback, Callback(..), SourceInfo(..), MonadDOM, MediaStreamTrackSourcesCallback(..))
 
@@ -23,7 +22,7 @@
 getSources self = do
     result <- liftIO newEmptyMVar
     withCallback (newMediaStreamTrackSourcesCallback (liftIO . putMVar result)) $ \callback -> do
-        postGUIAsyncJS $ Generated.getSources self (Just callback)
+        Generated.getSources self (Just callback)
         liftIO $ takeMVar result
 
 
diff --git a/src/JSDOM/Custom/Navigator.hs b/src/JSDOM/Custom/Navigator.hs
--- a/src/JSDOM/Custom/Navigator.hs
+++ b/src/JSDOM/Custom/Navigator.hs
@@ -8,7 +8,6 @@
 import Control.Monad.IO.Class (MonadIO(..))
 import Control.Concurrent.MVar (takeMVar, putMVar, newEmptyMVar)
 
-import Language.Javascript.JSaddle (postGUIAsyncJS)
 import JSDOM.Types
        (withCallback, Callback(..), MediaStream(..), NavigatorUserMediaError(..),
         Dictionary(..), MonadDOM, NavigatorUserMediaSuccessCallback(..),
@@ -31,7 +30,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newNavigatorUserMediaSuccessCallback (liftIO . putMVar result . Right . fromJust)) $ \success ->
         withCallback (newNavigatorUserMediaErrorCallback (liftIO . putMVar result . Left . fromJust)) $ \error -> do
-            postGUIAsyncJS $ Generated.webkitGetUserMedia self options (Just success) (Just error)
+            Generated.webkitGetUserMedia self options (Just success) (Just error)
             liftIO $ takeMVar result
 
 getUserMedia :: MonadDOM m => Navigator -> Maybe Dictionary -> m MediaStream
diff --git a/src/JSDOM/Custom/RTCPeerConnection.hs b/src/JSDOM/Custom/RTCPeerConnection.hs
--- a/src/JSDOM/Custom/RTCPeerConnection.hs
+++ b/src/JSDOM/Custom/RTCPeerConnection.hs
@@ -15,7 +15,6 @@
 import Control.Concurrent.MVar (takeMVar, putMVar, newEmptyMVar)
 import Control.Monad.IO.Class (MonadIO(..))
 
-import Language.Javascript.JSaddle (postGUIAsyncJS)
 import JSDOM.Types
        (RTCStatsResponse(..), IsMediaStreamTrack, RTCIceCandidate(..),
         withCallback, Callback(..), RTCSessionDescription(..), DOMError(..),
@@ -48,7 +47,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newRTCSessionDescriptionCallback (liftIO . putMVar result . Right . fromJust)) $ \success ->
         withCallback (newRTCPeerConnectionErrorCallback (liftIO . putMVar result . Left . fromJust)) $ \error -> do
-            postGUIAsyncJS $ Generated.createOffer self (Just success) (Just error) offerOptions
+            Generated.createOffer self (Just success) (Just error) offerOptions
             liftIO $ takeMVar result
 
 createOffer :: MonadDOM m => RTCPeerConnection -> Maybe Dictionary -> m RTCSessionDescription
@@ -60,7 +59,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newRTCSessionDescriptionCallback (liftIO . putMVar result . Right . fromJust)) $ \success ->
         withCallback (newRTCPeerConnectionErrorCallback (liftIO . putMVar result . Left . fromJust)) $ \error -> do
-            postGUIAsyncJS $ Generated.createAnswer self (Just success) (Just error) answerOptions
+            Generated.createAnswer self (Just success) (Just error) answerOptions
             liftIO $ takeMVar result
 
 createAnswer :: MonadDOM m => RTCPeerConnection -> Maybe Dictionary -> m RTCSessionDescription
@@ -72,7 +71,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newVoidCallback (liftIO $ putMVar result Nothing)) $ \success ->
         withCallback (newRTCPeerConnectionErrorCallback (liftIO . putMVar result)) $ \error -> do
-            postGUIAsyncJS $ Generated.setLocalDescription self (Just description) (Just success) (Just error)
+            Generated.setLocalDescription self (Just description) (Just success) (Just error)
             liftIO $ takeMVar result
 
 setLocalDescription :: MonadDOM m => RTCPeerConnection -> RTCSessionDescription -> m ()
@@ -84,7 +83,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newVoidCallback (liftIO $ putMVar result Nothing)) $ \success ->
         withCallback (newRTCPeerConnectionErrorCallback (liftIO . putMVar result)) $ \error -> do
-            postGUIAsyncJS $ Generated.setRemoteDescription self (Just description) (Just success) (Just error)
+            Generated.setRemoteDescription self (Just description) (Just success) (Just error)
             liftIO $ takeMVar result
 
 setRemoteDescription :: MonadDOM m => RTCPeerConnection -> RTCSessionDescription -> m ()
@@ -96,7 +95,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newVoidCallback (liftIO $ putMVar result Nothing)) $ \success ->
         withCallback (newRTCPeerConnectionErrorCallback (liftIO . putMVar result)) $ \error -> do
-            postGUIAsyncJS $ Generated.addIceCandidate self (Just candidate) (Just success) (Just error)
+            Generated.addIceCandidate self (Just candidate) (Just success) (Just error)
             liftIO $ takeMVar result
 
 addIceCandidate :: MonadDOM m => RTCPeerConnection -> RTCIceCandidate -> m ()
@@ -108,7 +107,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newRTCStatsCallback (liftIO . putMVar result . Right . fromJust)) $ \success ->
         withCallback (newRTCPeerConnectionErrorCallback (liftIO . putMVar result . Left . fromJust)) $ \error -> do
-            postGUIAsyncJS $ Generated.getStats self (Just success) (Just error) selector
+            Generated.getStats self (Just success) (Just error) selector
             liftIO $ takeMVar result
 
 getStats :: (MonadDOM m, IsMediaStreamTrack selector) => RTCPeerConnection -> Maybe selector -> m RTCStatsResponse
diff --git a/src/JSDOM/Custom/SQLTransaction.hs b/src/JSDOM/Custom/SQLTransaction.hs
--- a/src/JSDOM/Custom/SQLTransaction.hs
+++ b/src/JSDOM/Custom/SQLTransaction.hs
@@ -11,7 +11,6 @@
 import Control.Concurrent.MVar (takeMVar, putMVar, newEmptyMVar)
 import Control.Monad.IO.Class (MonadIO(..))
 
-import Language.Javascript.JSaddle (postGUIAsyncJS)
 import JSDOM.Types
        (withCallback, Callback(..), SQLResultSet(..), SQLError(..), IsObjectArray,
         MonadDOM, ToJSString, SQLStatementCallback(..),
@@ -35,7 +34,7 @@
     result <- liftIO newEmptyMVar
     withCallback (newSQLStatementCallback (\tx rs -> liftIO . putMVar result . Right $ fromJust rs)) $ \success ->
         withCallback (newSQLStatementErrorCallback (\tx e -> liftIO . putMVar result . Left $ fromJust e)) $ \error -> do
-            postGUIAsyncJS $ Generated.executeSql self sqlStatement arguments (Just success) (Just error)
+            Generated.executeSql self sqlStatement arguments (Just success) (Just error)
             liftIO $ takeMVar result
 
 executeSql :: (MonadDOM m, ToJSString sqlStatement, IsObjectArray arguments) =>
diff --git a/src/JSDOM/Custom/Window.hs b/src/JSDOM/Custom/Window.hs
--- a/src/JSDOM/Custom/Window.hs
+++ b/src/JSDOM/Custom/Window.hs
@@ -10,7 +10,6 @@
 import JSDOM.Types
        (withCallback, Callback(..), MonadDOM, ToJSString, Database, DatabaseCallback(..))
 
-import Language.Javascript.JSaddle.Monad (postGUISyncJS)
 import JSDOM.Generated.Window as Generated hiding (openDatabase)
 import qualified JSDOM.Generated.Window
        as Generated (openDatabase)
@@ -25,5 +24,5 @@
 openDatabase self name version displayName estimatedSize = do
     result <- liftIO newEmptyMVar
     withCallback (newDatabaseCallback (liftIO . putMVar result)) $ \creationCallback ->
-        postGUISyncJS $ Generated.openDatabase self name version displayName estimatedSize (Just creationCallback)
+        Generated.openDatabase self name version displayName estimatedSize (Just creationCallback)
             >>= maybe (fromJust <$> liftIO (takeMVar result)) return
diff --git a/src/JSDOM/Custom/XMLHttpRequest.hs b/src/JSDOM/Custom/XMLHttpRequest.hs
--- a/src/JSDOM/Custom/XMLHttpRequest.hs
+++ b/src/JSDOM/Custom/XMLHttpRequest.hs
@@ -19,15 +19,14 @@
 import Control.Lens.Operators ((^.))
 
 import Language.Javascript.JSaddle
-       (valToText, valToStr, JSM, js0, js1, postGUIAsyncJS, bracket,
+       (js0, js1, bracket,
         ToJSString, ToJSVal(..), JSVal)
 import JSDOM.Types
-       (MonadDOM(..), FormData(..), IsDocument, IsBlob, IsArrayBufferView)
+       (DOM, MonadDOM(..), FormData(..), IsDocument, IsBlob, IsArrayBufferView)
 import JSDOM.EventM (on)
 
 import JSDOM.Generated.XMLHttpRequest as Generated hiding (send)
 import Control.Monad (void)
-import qualified Data.Text as T (unpack)
 
 data XHRError = XHRError
               | XHRAborted
@@ -38,7 +37,7 @@
 throwXHRError :: MonadDOM m => Maybe XHRError -> m ()
 throwXHRError = maybe (return ()) (liftIO . throwIO)
 
-withEvent :: JSM (JSM ()) -> JSM a -> JSM a
+withEvent :: DOM (DOM ()) -> DOM a -> DOM a
 withEvent aquire = bracket aquire id . const
 
 send' :: (MonadDOM m) => XMLHttpRequest -> Maybe JSVal -> m (Maybe XHRError)
@@ -48,7 +47,7 @@
         withEvent (on self Generated.error . liftIO $ putMVar result (Just XHRError)) $
             withEvent (on self abortEvent . liftIO $ putMVar result (Just XHRAborted)) $
                 withEvent (on self load . liftIO $ putMVar result Nothing) $ do
-                    postGUIAsyncJS . void $
+                    void $
                         case mbVal of
                             Nothing  -> self ^. js0 "send"
                             Just val -> self ^. js1 "send" val
diff --git a/src/JSDOM/EventM.hs b/src/JSDOM/EventM.hs
--- a/src/JSDOM/EventM.hs
+++ b/src/JSDOM/EventM.hs
@@ -68,7 +68,6 @@
 import           Control.Applicative ((<$>))
 import           Control.Monad.Trans.Class (MonadTrans(..))
 import           Control.Monad.Trans.Reader (ReaderT, ask, runReaderT)
-import           Control.Monad.IO.Class (MonadIO(..))
 import           JSDOM.Types
 import qualified JSDOM.Generated.Event as Event
 import qualified JSDOM.Generated.UIEvent as UIEvent
diff --git a/src/JSDOM/EventTargetClosures.hs b/src/JSDOM/EventTargetClosures.hs
--- a/src/JSDOM/EventTargetClosures.hs
+++ b/src/JSDOM/EventTargetClosures.hs
@@ -3,8 +3,7 @@
 
 import Control.Applicative ((<$>))
 import JSDOM.Types
-import Language.Javascript.JSaddle (JSUndefined, function, JSM, Function(..), freeFunction)
-import Control.Monad.IO.Class (MonadIO(..))
+import Language.Javascript.JSaddle (function, JSM, Function(..), freeFunction)
 
 newtype EventName t e = EventName DOMString
 newtype SaferEventListener t e = SaferEventListener Function
@@ -21,13 +20,13 @@
 unsafeEventName = EventName
 
 eventListenerNew :: (IsEvent e) => (e -> JSM ()) -> JSM (SaferEventListener t e)
-eventListenerNew callback = SaferEventListener <$> function "listener" (\_ _ [e] -> fromJSValUnchecked e >>= callback)
+eventListenerNew callback = SaferEventListener <$> function (\_ _ [e] -> fromJSValUnchecked e >>= callback)
 
 eventListenerNewSync :: (IsEvent e) => (e -> JSM ()) -> JSM (SaferEventListener t e)
-eventListenerNewSync callback = SaferEventListener <$> function "listener" (\_ _ [e] -> fromJSValUnchecked e >>= callback)
+eventListenerNewSync callback = SaferEventListener <$> function (\_ _ [e] -> fromJSValUnchecked e >>= callback)
 
 eventListenerNewAsync :: (IsEvent e) => (e -> JSM ()) -> JSM (SaferEventListener t e)
-eventListenerNewAsync callback = SaferEventListener <$> function "listener" (\_ _ [e] -> fromJSValUnchecked e >>= callback)
+eventListenerNewAsync callback = SaferEventListener <$> function (\_ _ [e] -> fromJSValUnchecked e >>= callback)
 
 eventListenerRelease :: SaferEventListener t e -> JSM ()
 eventListenerRelease (SaferEventListener f) = freeFunction f
diff --git a/src/JSDOM/Generated/ANGLEInstancedArrays.hs b/src/JSDOM/Generated/ANGLEInstancedArrays.hs
--- a/src/JSDOM/Generated/ANGLEInstancedArrays.hs
+++ b/src/JSDOM/Generated/ANGLEInstancedArrays.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ANGLEInstancedArrays
        (drawArraysInstancedANGLE, drawElementsInstancedANGLE,
         vertexAttribDivisorANGLE,
diff --git a/src/JSDOM/Generated/AbstractView.hs b/src/JSDOM/Generated/AbstractView.hs
--- a/src/JSDOM/Generated/AbstractView.hs
+++ b/src/JSDOM/Generated/AbstractView.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AbstractView
        (getDocument, getStyleMedia, AbstractView, castToAbstractView,
         gTypeAbstractView)
diff --git a/src/JSDOM/Generated/AbstractWorker.hs b/src/JSDOM/Generated/AbstractWorker.hs
--- a/src/JSDOM/Generated/AbstractWorker.hs
+++ b/src/JSDOM/Generated/AbstractWorker.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AbstractWorker
        (error, AbstractWorker, castToAbstractWorker, gTypeAbstractWorker)
        where
diff --git a/src/JSDOM/Generated/AllAudioCapabilities.hs b/src/JSDOM/Generated/AllAudioCapabilities.hs
--- a/src/JSDOM/Generated/AllAudioCapabilities.hs
+++ b/src/JSDOM/Generated/AllAudioCapabilities.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AllAudioCapabilities
        (getSourceId, getVolume, AllAudioCapabilities,
         castToAllAudioCapabilities, gTypeAllAudioCapabilities)
diff --git a/src/JSDOM/Generated/AllVideoCapabilities.hs b/src/JSDOM/Generated/AllVideoCapabilities.hs
--- a/src/JSDOM/Generated/AllVideoCapabilities.hs
+++ b/src/JSDOM/Generated/AllVideoCapabilities.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AllVideoCapabilities
        (getSourceType, getSourceId, getWidth, getHeight, getFrameRate,
         getAspectRatio, getFacingMode, AllVideoCapabilities,
diff --git a/src/JSDOM/Generated/AnalyserNode.hs b/src/JSDOM/Generated/AnalyserNode.hs
--- a/src/JSDOM/Generated/AnalyserNode.hs
+++ b/src/JSDOM/Generated/AnalyserNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AnalyserNode
        (getFloatFrequencyData, getByteFrequencyData,
         getByteTimeDomainData, setFftSize, getFftSize,
diff --git a/src/JSDOM/Generated/AnimationEvent.hs b/src/JSDOM/Generated/AnimationEvent.hs
--- a/src/JSDOM/Generated/AnimationEvent.hs
+++ b/src/JSDOM/Generated/AnimationEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AnimationEvent
        (getAnimationName, getElapsedTime, AnimationEvent,
         castToAnimationEvent, gTypeAnimationEvent)
diff --git a/src/JSDOM/Generated/ApplicationCache.hs b/src/JSDOM/Generated/ApplicationCache.hs
--- a/src/JSDOM/Generated/ApplicationCache.hs
+++ b/src/JSDOM/Generated/ApplicationCache.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ApplicationCache
        (update, swapCache, abort, pattern UNCACHED, pattern IDLE,
         pattern CHECKING, pattern DOWNLOADING, pattern UPDATEREADY,
diff --git a/src/JSDOM/Generated/Attr.hs b/src/JSDOM/Generated/Attr.hs
--- a/src/JSDOM/Generated/Attr.hs
+++ b/src/JSDOM/Generated/Attr.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Attr
        (getName, getSpecified, setValue, getValue, getOwnerElement,
         getIsId, Attr, castToAttr, gTypeAttr)
diff --git a/src/JSDOM/Generated/AudioBuffer.hs b/src/JSDOM/Generated/AudioBuffer.hs
--- a/src/JSDOM/Generated/AudioBuffer.hs
+++ b/src/JSDOM/Generated/AudioBuffer.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioBuffer
        (getChannelData, getLength, getDuration, getSampleRate, setGain,
         getGain, getNumberOfChannels, AudioBuffer, castToAudioBuffer,
diff --git a/src/JSDOM/Generated/AudioBufferCallback.hs b/src/JSDOM/Generated/AudioBufferCallback.hs
--- a/src/JSDOM/Generated/AudioBufferCallback.hs
+++ b/src/JSDOM/Generated/AudioBufferCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioBufferCallback
        (newAudioBufferCallback, newAudioBufferCallbackSync,
         newAudioBufferCallbackAsync, AudioBufferCallback)
@@ -22,7 +23,7 @@
 newAudioBufferCallback callback
   = liftDOM
       (AudioBufferCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [audioBuffer] ->
               fromJSVal audioBuffer >>= \ audioBuffer' -> callback audioBuffer'))
 
@@ -33,7 +34,7 @@
 newAudioBufferCallbackSync callback
   = liftDOM
       (AudioBufferCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [audioBuffer] ->
               fromJSVal audioBuffer >>= \ audioBuffer' -> callback audioBuffer'))
 
@@ -44,6 +45,6 @@
 newAudioBufferCallbackAsync callback
   = liftDOM
       (AudioBufferCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [audioBuffer] ->
               fromJSVal audioBuffer >>= \ audioBuffer' -> callback audioBuffer'))
diff --git a/src/JSDOM/Generated/AudioBufferSourceNode.hs b/src/JSDOM/Generated/AudioBufferSourceNode.hs
--- a/src/JSDOM/Generated/AudioBufferSourceNode.hs
+++ b/src/JSDOM/Generated/AudioBufferSourceNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioBufferSourceNode
        (start, stop, noteOn, noteGrainOn, noteOff,
         pattern UNSCHEDULED_STATE, pattern SCHEDULED_STATE,
diff --git a/src/JSDOM/Generated/AudioContext.hs b/src/JSDOM/Generated/AudioContext.hs
--- a/src/JSDOM/Generated/AudioContext.hs
+++ b/src/JSDOM/Generated/AudioContext.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioContext
        (newAudioContext, createBuffer, createBufferFromArrayBuffer,
         decodeAudioData, createBufferSource, createMediaElementSource,
diff --git a/src/JSDOM/Generated/AudioDestinationNode.hs b/src/JSDOM/Generated/AudioDestinationNode.hs
--- a/src/JSDOM/Generated/AudioDestinationNode.hs
+++ b/src/JSDOM/Generated/AudioDestinationNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioDestinationNode
        (getMaxChannelCount, AudioDestinationNode,
         castToAudioDestinationNode, gTypeAudioDestinationNode)
diff --git a/src/JSDOM/Generated/AudioListener.hs b/src/JSDOM/Generated/AudioListener.hs
--- a/src/JSDOM/Generated/AudioListener.hs
+++ b/src/JSDOM/Generated/AudioListener.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioListener
        (setPosition, setOrientation, setVelocity, setDopplerFactor,
         getDopplerFactor, setSpeedOfSound, getSpeedOfSound, AudioListener,
diff --git a/src/JSDOM/Generated/AudioNode.hs b/src/JSDOM/Generated/AudioNode.hs
--- a/src/JSDOM/Generated/AudioNode.hs
+++ b/src/JSDOM/Generated/AudioNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioNode
        (connect, connectParam, disconnect, getContext, getNumberOfInputs,
         getNumberOfOutputs, setChannelCount, getChannelCount,
diff --git a/src/JSDOM/Generated/AudioParam.hs b/src/JSDOM/Generated/AudioParam.hs
--- a/src/JSDOM/Generated/AudioParam.hs
+++ b/src/JSDOM/Generated/AudioParam.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioParam
        (setValueAtTime, linearRampToValueAtTime,
         exponentialRampToValueAtTime, setTargetAtTime, setValueCurveAtTime,
diff --git a/src/JSDOM/Generated/AudioProcessingEvent.hs b/src/JSDOM/Generated/AudioProcessingEvent.hs
--- a/src/JSDOM/Generated/AudioProcessingEvent.hs
+++ b/src/JSDOM/Generated/AudioProcessingEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioProcessingEvent
        (getPlaybackTime, getInputBuffer, getOutputBuffer,
         AudioProcessingEvent, castToAudioProcessingEvent,
diff --git a/src/JSDOM/Generated/AudioStreamTrack.hs b/src/JSDOM/Generated/AudioStreamTrack.hs
--- a/src/JSDOM/Generated/AudioStreamTrack.hs
+++ b/src/JSDOM/Generated/AudioStreamTrack.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioStreamTrack
        (newAudioStreamTrack, AudioStreamTrack, castToAudioStreamTrack,
         gTypeAudioStreamTrack)
diff --git a/src/JSDOM/Generated/AudioTrack.hs b/src/JSDOM/Generated/AudioTrack.hs
--- a/src/JSDOM/Generated/AudioTrack.hs
+++ b/src/JSDOM/Generated/AudioTrack.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioTrack
        (getId, setKind, getKind, getLabel, setLanguage, getLanguage,
         setEnabled, getEnabled, getSourceBuffer, AudioTrack,
diff --git a/src/JSDOM/Generated/AudioTrackList.hs b/src/JSDOM/Generated/AudioTrackList.hs
--- a/src/JSDOM/Generated/AudioTrackList.hs
+++ b/src/JSDOM/Generated/AudioTrackList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AudioTrackList
        (item, getTrackById, getLength, change, addTrack, removeTrack,
         AudioTrackList, castToAudioTrackList, gTypeAudioTrackList)
diff --git a/src/JSDOM/Generated/AutocompleteErrorEvent.hs b/src/JSDOM/Generated/AutocompleteErrorEvent.hs
--- a/src/JSDOM/Generated/AutocompleteErrorEvent.hs
+++ b/src/JSDOM/Generated/AutocompleteErrorEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.AutocompleteErrorEvent
        (getReason, AutocompleteErrorEvent, castToAutocompleteErrorEvent,
         gTypeAutocompleteErrorEvent)
diff --git a/src/JSDOM/Generated/BarProp.hs b/src/JSDOM/Generated/BarProp.hs
--- a/src/JSDOM/Generated/BarProp.hs
+++ b/src/JSDOM/Generated/BarProp.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.BarProp
        (getVisible, BarProp, castToBarProp, gTypeBarProp) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/BatteryManager.hs b/src/JSDOM/Generated/BatteryManager.hs
--- a/src/JSDOM/Generated/BatteryManager.hs
+++ b/src/JSDOM/Generated/BatteryManager.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.BatteryManager
        (getCharging, getChargingTime, getDischargingTime, getLevel,
         chargingChange, chargingTimeChange, dischargingTimeChange,
diff --git a/src/JSDOM/Generated/BeforeLoadEvent.hs b/src/JSDOM/Generated/BeforeLoadEvent.hs
--- a/src/JSDOM/Generated/BeforeLoadEvent.hs
+++ b/src/JSDOM/Generated/BeforeLoadEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.BeforeLoadEvent
        (getUrl, BeforeLoadEvent, castToBeforeLoadEvent,
         gTypeBeforeLoadEvent)
diff --git a/src/JSDOM/Generated/BeforeUnloadEvent.hs b/src/JSDOM/Generated/BeforeUnloadEvent.hs
--- a/src/JSDOM/Generated/BeforeUnloadEvent.hs
+++ b/src/JSDOM/Generated/BeforeUnloadEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.BeforeUnloadEvent
        (setReturnValue, getReturnValue, BeforeUnloadEvent,
         castToBeforeUnloadEvent, gTypeBeforeUnloadEvent)
diff --git a/src/JSDOM/Generated/BiquadFilterNode.hs b/src/JSDOM/Generated/BiquadFilterNode.hs
--- a/src/JSDOM/Generated/BiquadFilterNode.hs
+++ b/src/JSDOM/Generated/BiquadFilterNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.BiquadFilterNode
        (getFrequencyResponse, pattern LOWPASS, pattern HIGHPASS,
         pattern BANDPASS, pattern LOWSHELF, pattern HIGHSHELF,
diff --git a/src/JSDOM/Generated/Blob.hs b/src/JSDOM/Generated/Blob.hs
--- a/src/JSDOM/Generated/Blob.hs
+++ b/src/JSDOM/Generated/Blob.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Blob
        (newBlob, newBlob', slice, getSize, getType, Blob, castToBlob,
         gTypeBlob, IsBlob, toBlob)
diff --git a/src/JSDOM/Generated/CSS.hs b/src/JSDOM/Generated/CSS.hs
--- a/src/JSDOM/Generated/CSS.hs
+++ b/src/JSDOM/Generated/CSS.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSS
        (supports2, supports, CSS, castToCSS, gTypeCSS) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/CSSCharsetRule.hs b/src/JSDOM/Generated/CSSCharsetRule.hs
--- a/src/JSDOM/Generated/CSSCharsetRule.hs
+++ b/src/JSDOM/Generated/CSSCharsetRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSCharsetRule
        (setEncoding, getEncoding, CSSCharsetRule, castToCSSCharsetRule,
         gTypeCSSCharsetRule)
diff --git a/src/JSDOM/Generated/CSSFontFaceLoadEvent.hs b/src/JSDOM/Generated/CSSFontFaceLoadEvent.hs
--- a/src/JSDOM/Generated/CSSFontFaceLoadEvent.hs
+++ b/src/JSDOM/Generated/CSSFontFaceLoadEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSFontFaceLoadEvent
        (getFontface, getError, CSSFontFaceLoadEvent,
         castToCSSFontFaceLoadEvent, gTypeCSSFontFaceLoadEvent)
diff --git a/src/JSDOM/Generated/CSSFontFaceRule.hs b/src/JSDOM/Generated/CSSFontFaceRule.hs
--- a/src/JSDOM/Generated/CSSFontFaceRule.hs
+++ b/src/JSDOM/Generated/CSSFontFaceRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSFontFaceRule
        (getStyle, CSSFontFaceRule, castToCSSFontFaceRule,
         gTypeCSSFontFaceRule)
diff --git a/src/JSDOM/Generated/CSSImportRule.hs b/src/JSDOM/Generated/CSSImportRule.hs
--- a/src/JSDOM/Generated/CSSImportRule.hs
+++ b/src/JSDOM/Generated/CSSImportRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSImportRule
        (getHref, getMedia, getStyleSheet, CSSImportRule,
         castToCSSImportRule, gTypeCSSImportRule)
diff --git a/src/JSDOM/Generated/CSSKeyframeRule.hs b/src/JSDOM/Generated/CSSKeyframeRule.hs
--- a/src/JSDOM/Generated/CSSKeyframeRule.hs
+++ b/src/JSDOM/Generated/CSSKeyframeRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSKeyframeRule
        (setKeyText, getKeyText, getStyle, CSSKeyframeRule,
         castToCSSKeyframeRule, gTypeCSSKeyframeRule)
diff --git a/src/JSDOM/Generated/CSSKeyframesRule.hs b/src/JSDOM/Generated/CSSKeyframesRule.hs
--- a/src/JSDOM/Generated/CSSKeyframesRule.hs
+++ b/src/JSDOM/Generated/CSSKeyframesRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSKeyframesRule
        (insertRule, appendRule, deleteRule, findRule, _get, setName,
         getName, getCssRules, CSSKeyframesRule, castToCSSKeyframesRule,
diff --git a/src/JSDOM/Generated/CSSMediaRule.hs b/src/JSDOM/Generated/CSSMediaRule.hs
--- a/src/JSDOM/Generated/CSSMediaRule.hs
+++ b/src/JSDOM/Generated/CSSMediaRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSMediaRule
        (insertRule, deleteRule, getMedia, getCssRules, CSSMediaRule,
         castToCSSMediaRule, gTypeCSSMediaRule)
diff --git a/src/JSDOM/Generated/CSSPageRule.hs b/src/JSDOM/Generated/CSSPageRule.hs
--- a/src/JSDOM/Generated/CSSPageRule.hs
+++ b/src/JSDOM/Generated/CSSPageRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSPageRule
        (setSelectorText, getSelectorText, getStyle, CSSPageRule,
         castToCSSPageRule, gTypeCSSPageRule)
diff --git a/src/JSDOM/Generated/CSSPrimitiveValue.hs b/src/JSDOM/Generated/CSSPrimitiveValue.hs
--- a/src/JSDOM/Generated/CSSPrimitiveValue.hs
+++ b/src/JSDOM/Generated/CSSPrimitiveValue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSPrimitiveValue
        (setFloatValue, getFloatValue, setStringValue, getStringValue,
         getCounterValue, getRectValue, getRGBColorValue,
diff --git a/src/JSDOM/Generated/CSSRule.hs b/src/JSDOM/Generated/CSSRule.hs
--- a/src/JSDOM/Generated/CSSRule.hs
+++ b/src/JSDOM/Generated/CSSRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSRule
        (pattern UNKNOWN_RULE, pattern STYLE_RULE, pattern CHARSET_RULE,
         pattern IMPORT_RULE, pattern MEDIA_RULE, pattern FONT_FACE_RULE,
diff --git a/src/JSDOM/Generated/CSSRuleList.hs b/src/JSDOM/Generated/CSSRuleList.hs
--- a/src/JSDOM/Generated/CSSRuleList.hs
+++ b/src/JSDOM/Generated/CSSRuleList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSRuleList
        (item, getLength, CSSRuleList, castToCSSRuleList, gTypeCSSRuleList)
        where
diff --git a/src/JSDOM/Generated/CSSStyleDeclaration.hs b/src/JSDOM/Generated/CSSStyleDeclaration.hs
--- a/src/JSDOM/Generated/CSSStyleDeclaration.hs
+++ b/src/JSDOM/Generated/CSSStyleDeclaration.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSStyleDeclaration
        (getPropertyValue, getPropertyCSSValue, removeProperty,
         getPropertyPriority, setProperty, item, getPropertyShorthand,
diff --git a/src/JSDOM/Generated/CSSStyleRule.hs b/src/JSDOM/Generated/CSSStyleRule.hs
--- a/src/JSDOM/Generated/CSSStyleRule.hs
+++ b/src/JSDOM/Generated/CSSStyleRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSStyleRule
        (setSelectorText, getSelectorText, getStyle, CSSStyleRule,
         castToCSSStyleRule, gTypeCSSStyleRule)
diff --git a/src/JSDOM/Generated/CSSStyleSheet.hs b/src/JSDOM/Generated/CSSStyleSheet.hs
--- a/src/JSDOM/Generated/CSSStyleSheet.hs
+++ b/src/JSDOM/Generated/CSSStyleSheet.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSStyleSheet
        (insertRule, deleteRule, addRule, removeRule, getOwnerRule,
         getCssRules, getRules, CSSStyleSheet, castToCSSStyleSheet,
diff --git a/src/JSDOM/Generated/CSSSupportsRule.hs b/src/JSDOM/Generated/CSSSupportsRule.hs
--- a/src/JSDOM/Generated/CSSSupportsRule.hs
+++ b/src/JSDOM/Generated/CSSSupportsRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSSupportsRule
        (insertRule, deleteRule, getCssRules, getConditionText,
         CSSSupportsRule, castToCSSSupportsRule, gTypeCSSSupportsRule)
diff --git a/src/JSDOM/Generated/CSSValue.hs b/src/JSDOM/Generated/CSSValue.hs
--- a/src/JSDOM/Generated/CSSValue.hs
+++ b/src/JSDOM/Generated/CSSValue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSValue
        (pattern CSS_INHERIT, pattern CSS_PRIMITIVE_VALUE,
         pattern CSS_VALUE_LIST, pattern CSS_CUSTOM, setCssText, getCssText,
diff --git a/src/JSDOM/Generated/CSSValueList.hs b/src/JSDOM/Generated/CSSValueList.hs
--- a/src/JSDOM/Generated/CSSValueList.hs
+++ b/src/JSDOM/Generated/CSSValueList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CSSValueList
        (item, getLength, CSSValueList, castToCSSValueList,
         gTypeCSSValueList, IsCSSValueList, toCSSValueList)
diff --git a/src/JSDOM/Generated/CanvasGradient.hs b/src/JSDOM/Generated/CanvasGradient.hs
--- a/src/JSDOM/Generated/CanvasGradient.hs
+++ b/src/JSDOM/Generated/CanvasGradient.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CanvasGradient
        (addColorStop, CanvasGradient, castToCanvasGradient,
         gTypeCanvasGradient)
diff --git a/src/JSDOM/Generated/CanvasRenderingContext.hs b/src/JSDOM/Generated/CanvasRenderingContext.hs
--- a/src/JSDOM/Generated/CanvasRenderingContext.hs
+++ b/src/JSDOM/Generated/CanvasRenderingContext.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CanvasRenderingContext
        (getCanvas, CanvasRenderingContext, castToCanvasRenderingContext,
         gTypeCanvasRenderingContext, IsCanvasRenderingContext,
diff --git a/src/JSDOM/Generated/CanvasRenderingContext2D.hs b/src/JSDOM/Generated/CanvasRenderingContext2D.hs
--- a/src/JSDOM/Generated/CanvasRenderingContext2D.hs
+++ b/src/JSDOM/Generated/CanvasRenderingContext2D.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CanvasRenderingContext2D
        (save, restore, scale, rotate, translate, transform, setTransform,
         createLinearGradient, createRadialGradient, setLineDash,
diff --git a/src/JSDOM/Generated/CapabilityRange.hs b/src/JSDOM/Generated/CapabilityRange.hs
--- a/src/JSDOM/Generated/CapabilityRange.hs
+++ b/src/JSDOM/Generated/CapabilityRange.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CapabilityRange
        (getMax, getMin, getSupported, CapabilityRange,
         castToCapabilityRange, gTypeCapabilityRange)
diff --git a/src/JSDOM/Generated/CharacterData.hs b/src/JSDOM/Generated/CharacterData.hs
--- a/src/JSDOM/Generated/CharacterData.hs
+++ b/src/JSDOM/Generated/CharacterData.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CharacterData
        (substringData, appendData, insertData, deleteData, replaceData,
         setData, getData, getLength, CharacterData, castToCharacterData,
diff --git a/src/JSDOM/Generated/ChildNode.hs b/src/JSDOM/Generated/ChildNode.hs
--- a/src/JSDOM/Generated/ChildNode.hs
+++ b/src/JSDOM/Generated/ChildNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ChildNode
        (remove, ChildNode, castToChildNode, gTypeChildNode) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/ClientRect.hs b/src/JSDOM/Generated/ClientRect.hs
--- a/src/JSDOM/Generated/ClientRect.hs
+++ b/src/JSDOM/Generated/ClientRect.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ClientRect
        (getTop, getRight, getBottom, getLeft, getWidth, getHeight,
         ClientRect, castToClientRect, gTypeClientRect)
diff --git a/src/JSDOM/Generated/ClientRectList.hs b/src/JSDOM/Generated/ClientRectList.hs
--- a/src/JSDOM/Generated/ClientRectList.hs
+++ b/src/JSDOM/Generated/ClientRectList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ClientRectList
        (item, getLength, ClientRectList, castToClientRectList,
         gTypeClientRectList)
diff --git a/src/JSDOM/Generated/CloseEvent.hs b/src/JSDOM/Generated/CloseEvent.hs
--- a/src/JSDOM/Generated/CloseEvent.hs
+++ b/src/JSDOM/Generated/CloseEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CloseEvent
        (getWasClean, getCode, getReason, CloseEvent, castToCloseEvent,
         gTypeCloseEvent)
diff --git a/src/JSDOM/Generated/CommandLineAPIHost.hs b/src/JSDOM/Generated/CommandLineAPIHost.hs
--- a/src/JSDOM/Generated/CommandLineAPIHost.hs
+++ b/src/JSDOM/Generated/CommandLineAPIHost.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CommandLineAPIHost
        (clearConsoleMessages, copyText, inspect, inspectedObject,
         getEventListeners, databaseId, storageId, CommandLineAPIHost,
diff --git a/src/JSDOM/Generated/Comment.hs b/src/JSDOM/Generated/Comment.hs
--- a/src/JSDOM/Generated/Comment.hs
+++ b/src/JSDOM/Generated/Comment.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Comment
        (newComment, Comment, castToComment, gTypeComment) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/CompositionEvent.hs b/src/JSDOM/Generated/CompositionEvent.hs
--- a/src/JSDOM/Generated/CompositionEvent.hs
+++ b/src/JSDOM/Generated/CompositionEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CompositionEvent
        (initCompositionEvent, getData, CompositionEvent,
         castToCompositionEvent, gTypeCompositionEvent)
diff --git a/src/JSDOM/Generated/ConvolverNode.hs b/src/JSDOM/Generated/ConvolverNode.hs
--- a/src/JSDOM/Generated/ConvolverNode.hs
+++ b/src/JSDOM/Generated/ConvolverNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ConvolverNode
        (setBuffer, getBuffer, setNormalize, getNormalize, ConvolverNode,
         castToConvolverNode, gTypeConvolverNode)
diff --git a/src/JSDOM/Generated/Coordinates.hs b/src/JSDOM/Generated/Coordinates.hs
--- a/src/JSDOM/Generated/Coordinates.hs
+++ b/src/JSDOM/Generated/Coordinates.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Coordinates
        (getLatitude, getLongitude, getAltitude, getAccuracy,
         getAltitudeAccuracy, getHeading, getSpeed, Coordinates,
diff --git a/src/JSDOM/Generated/Counter.hs b/src/JSDOM/Generated/Counter.hs
--- a/src/JSDOM/Generated/Counter.hs
+++ b/src/JSDOM/Generated/Counter.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Counter
        (getIdentifier, getListStyle, getSeparator, Counter, castToCounter,
         gTypeCounter)
diff --git a/src/JSDOM/Generated/Crypto.hs b/src/JSDOM/Generated/Crypto.hs
--- a/src/JSDOM/Generated/Crypto.hs
+++ b/src/JSDOM/Generated/Crypto.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Crypto
        (getRandomValues, getWebkitSubtle, Crypto, castToCrypto,
         gTypeCrypto)
diff --git a/src/JSDOM/Generated/CryptoKey.hs b/src/JSDOM/Generated/CryptoKey.hs
--- a/src/JSDOM/Generated/CryptoKey.hs
+++ b/src/JSDOM/Generated/CryptoKey.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CryptoKey
        (getType, getExtractable, getAlgorithm, getUsages, CryptoKey,
         castToCryptoKey, gTypeCryptoKey)
diff --git a/src/JSDOM/Generated/CryptoKeyPair.hs b/src/JSDOM/Generated/CryptoKeyPair.hs
--- a/src/JSDOM/Generated/CryptoKeyPair.hs
+++ b/src/JSDOM/Generated/CryptoKeyPair.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CryptoKeyPair
        (getPublicKey, getPrivateKey, CryptoKeyPair, castToCryptoKeyPair,
         gTypeCryptoKeyPair)
diff --git a/src/JSDOM/Generated/CustomEvent.hs b/src/JSDOM/Generated/CustomEvent.hs
--- a/src/JSDOM/Generated/CustomEvent.hs
+++ b/src/JSDOM/Generated/CustomEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.CustomEvent
        (initCustomEvent, getDetail, CustomEvent, castToCustomEvent,
         gTypeCustomEvent)
diff --git a/src/JSDOM/Generated/DOMError.hs b/src/JSDOM/Generated/DOMError.hs
--- a/src/JSDOM/Generated/DOMError.hs
+++ b/src/JSDOM/Generated/DOMError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMError
        (getName, DOMError, castToDOMError, gTypeDOMError, IsDOMError,
         toDOMError)
diff --git a/src/JSDOM/Generated/DOMImplementation.hs b/src/JSDOM/Generated/DOMImplementation.hs
--- a/src/JSDOM/Generated/DOMImplementation.hs
+++ b/src/JSDOM/Generated/DOMImplementation.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMImplementation
        (hasFeature, createDocumentType, createDocument,
         createCSSStyleSheet, createHTMLDocument, DOMImplementation,
diff --git a/src/JSDOM/Generated/DOMNamedFlowCollection.hs b/src/JSDOM/Generated/DOMNamedFlowCollection.hs
--- a/src/JSDOM/Generated/DOMNamedFlowCollection.hs
+++ b/src/JSDOM/Generated/DOMNamedFlowCollection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMNamedFlowCollection
        (item, namedItem, getLength, DOMNamedFlowCollection,
         castToDOMNamedFlowCollection, gTypeDOMNamedFlowCollection)
diff --git a/src/JSDOM/Generated/DOMParser.hs b/src/JSDOM/Generated/DOMParser.hs
--- a/src/JSDOM/Generated/DOMParser.hs
+++ b/src/JSDOM/Generated/DOMParser.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMParser
        (newDOMParser, parseFromString, DOMParser, castToDOMParser,
         gTypeDOMParser)
diff --git a/src/JSDOM/Generated/DOMSettableTokenList.hs b/src/JSDOM/Generated/DOMSettableTokenList.hs
--- a/src/JSDOM/Generated/DOMSettableTokenList.hs
+++ b/src/JSDOM/Generated/DOMSettableTokenList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMSettableTokenList
        (_get, setValue, getValue, DOMSettableTokenList,
         castToDOMSettableTokenList, gTypeDOMSettableTokenList)
diff --git a/src/JSDOM/Generated/DOMStringList.hs b/src/JSDOM/Generated/DOMStringList.hs
--- a/src/JSDOM/Generated/DOMStringList.hs
+++ b/src/JSDOM/Generated/DOMStringList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMStringList
        (item, contains, getLength, DOMStringList, castToDOMStringList,
         gTypeDOMStringList)
diff --git a/src/JSDOM/Generated/DOMTokenList.hs b/src/JSDOM/Generated/DOMTokenList.hs
--- a/src/JSDOM/Generated/DOMTokenList.hs
+++ b/src/JSDOM/Generated/DOMTokenList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DOMTokenList
        (item, contains, add, remove, toggle, toString, getLength,
         DOMTokenList, castToDOMTokenList, gTypeDOMTokenList,
diff --git a/src/JSDOM/Generated/DataCue.hs b/src/JSDOM/Generated/DataCue.hs
--- a/src/JSDOM/Generated/DataCue.hs
+++ b/src/JSDOM/Generated/DataCue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DataCue
        (newDataCue, newDataCue', setData, getData, setValue, getValue,
         getType, DataCue, castToDataCue, gTypeDataCue)
diff --git a/src/JSDOM/Generated/DataTransfer.hs b/src/JSDOM/Generated/DataTransfer.hs
--- a/src/JSDOM/Generated/DataTransfer.hs
+++ b/src/JSDOM/Generated/DataTransfer.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DataTransfer
        (clearData, getData, setData, setDragImage, setDropEffect,
         getDropEffect, setEffectAllowed, getEffectAllowed, getTypes,
diff --git a/src/JSDOM/Generated/DataTransferItem.hs b/src/JSDOM/Generated/DataTransferItem.hs
--- a/src/JSDOM/Generated/DataTransferItem.hs
+++ b/src/JSDOM/Generated/DataTransferItem.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DataTransferItem
        (getAsString, getAsFile, getKind, getType, DataTransferItem,
         castToDataTransferItem, gTypeDataTransferItem)
diff --git a/src/JSDOM/Generated/DataTransferItemList.hs b/src/JSDOM/Generated/DataTransferItemList.hs
--- a/src/JSDOM/Generated/DataTransferItemList.hs
+++ b/src/JSDOM/Generated/DataTransferItemList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DataTransferItemList
        (item, clear, addFile, add, getLength, DataTransferItemList,
         castToDataTransferItemList, gTypeDataTransferItemList)
diff --git a/src/JSDOM/Generated/Database.hs b/src/JSDOM/Generated/Database.hs
--- a/src/JSDOM/Generated/Database.hs
+++ b/src/JSDOM/Generated/Database.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Database
        (changeVersion, transaction, readTransaction, getVersion, Database,
         castToDatabase, gTypeDatabase)
diff --git a/src/JSDOM/Generated/DatabaseCallback.hs b/src/JSDOM/Generated/DatabaseCallback.hs
--- a/src/JSDOM/Generated/DatabaseCallback.hs
+++ b/src/JSDOM/Generated/DatabaseCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DatabaseCallback
        (newDatabaseCallback, newDatabaseCallbackSync,
         newDatabaseCallbackAsync, DatabaseCallback)
@@ -21,7 +22,7 @@
 newDatabaseCallback callback
   = liftDOM
       (DatabaseCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [database] ->
               fromJSVal database >>= \ database' -> callback database'))
 
@@ -31,7 +32,7 @@
 newDatabaseCallbackSync callback
   = liftDOM
       (DatabaseCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [database] ->
               fromJSVal database >>= \ database' -> callback database'))
 
@@ -41,6 +42,6 @@
 newDatabaseCallbackAsync callback
   = liftDOM
       (DatabaseCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [database] ->
               fromJSVal database >>= \ database' -> callback database'))
diff --git a/src/JSDOM/Generated/DedicatedWorkerGlobalScope.hs b/src/JSDOM/Generated/DedicatedWorkerGlobalScope.hs
--- a/src/JSDOM/Generated/DedicatedWorkerGlobalScope.hs
+++ b/src/JSDOM/Generated/DedicatedWorkerGlobalScope.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DedicatedWorkerGlobalScope
        (postMessage, message, DedicatedWorkerGlobalScope,
         castToDedicatedWorkerGlobalScope, gTypeDedicatedWorkerGlobalScope)
diff --git a/src/JSDOM/Generated/DelayNode.hs b/src/JSDOM/Generated/DelayNode.hs
--- a/src/JSDOM/Generated/DelayNode.hs
+++ b/src/JSDOM/Generated/DelayNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DelayNode
        (getDelayTime, DelayNode, castToDelayNode, gTypeDelayNode) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/DeviceMotionEvent.hs b/src/JSDOM/Generated/DeviceMotionEvent.hs
--- a/src/JSDOM/Generated/DeviceMotionEvent.hs
+++ b/src/JSDOM/Generated/DeviceMotionEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DeviceMotionEvent
        (initDeviceMotionEvent, getAcceleration,
         getAccelerationIncludingGravity, getRotationRate, getInterval,
diff --git a/src/JSDOM/Generated/DeviceOrientationEvent.hs b/src/JSDOM/Generated/DeviceOrientationEvent.hs
--- a/src/JSDOM/Generated/DeviceOrientationEvent.hs
+++ b/src/JSDOM/Generated/DeviceOrientationEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DeviceOrientationEvent
        (initDeviceOrientationEvent, getAlpha, getBeta, getGamma,
         getAbsolute, DeviceOrientationEvent, castToDeviceOrientationEvent,
diff --git a/src/JSDOM/Generated/DeviceProximityEvent.hs b/src/JSDOM/Generated/DeviceProximityEvent.hs
--- a/src/JSDOM/Generated/DeviceProximityEvent.hs
+++ b/src/JSDOM/Generated/DeviceProximityEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DeviceProximityEvent
        (getValue, getMin, getMax, DeviceProximityEvent,
         castToDeviceProximityEvent, gTypeDeviceProximityEvent)
diff --git a/src/JSDOM/Generated/Document.hs b/src/JSDOM/Generated/Document.hs
--- a/src/JSDOM/Generated/Document.hs
+++ b/src/JSDOM/Generated/Document.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Document
        (newDocument, createElement, createDocumentFragment,
         createTextNode, createComment, createCDATASection,
diff --git a/src/JSDOM/Generated/DocumentFragment.hs b/src/JSDOM/Generated/DocumentFragment.hs
--- a/src/JSDOM/Generated/DocumentFragment.hs
+++ b/src/JSDOM/Generated/DocumentFragment.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DocumentFragment
        (newDocumentFragment, querySelector, querySelectorAll,
         DocumentFragment, castToDocumentFragment, gTypeDocumentFragment)
diff --git a/src/JSDOM/Generated/DocumentType.hs b/src/JSDOM/Generated/DocumentType.hs
--- a/src/JSDOM/Generated/DocumentType.hs
+++ b/src/JSDOM/Generated/DocumentType.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DocumentType
        (getName, getEntities, getNotations, getPublicId, getSystemId,
         getInternalSubset, DocumentType, castToDocumentType,
diff --git a/src/JSDOM/Generated/DynamicsCompressorNode.hs b/src/JSDOM/Generated/DynamicsCompressorNode.hs
--- a/src/JSDOM/Generated/DynamicsCompressorNode.hs
+++ b/src/JSDOM/Generated/DynamicsCompressorNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.DynamicsCompressorNode
        (getThreshold, getKnee, getRatio, getReduction, getAttack,
         getRelease, DynamicsCompressorNode, castToDynamicsCompressorNode,
diff --git a/src/JSDOM/Generated/EXTBlendMinMax.hs b/src/JSDOM/Generated/EXTBlendMinMax.hs
--- a/src/JSDOM/Generated/EXTBlendMinMax.hs
+++ b/src/JSDOM/Generated/EXTBlendMinMax.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.EXTBlendMinMax
        (pattern MIN_EXT, pattern MAX_EXT, EXTBlendMinMax,
         castToEXTBlendMinMax, gTypeEXTBlendMinMax)
diff --git a/src/JSDOM/Generated/EXTTextureFilterAnisotropic.hs b/src/JSDOM/Generated/EXTTextureFilterAnisotropic.hs
--- a/src/JSDOM/Generated/EXTTextureFilterAnisotropic.hs
+++ b/src/JSDOM/Generated/EXTTextureFilterAnisotropic.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.EXTTextureFilterAnisotropic
        (pattern TEXTURE_MAX_ANISOTROPY_EXT,
         pattern MAX_TEXTURE_MAX_ANISOTROPY_EXT,
diff --git a/src/JSDOM/Generated/EXTsRGB.hs b/src/JSDOM/Generated/EXTsRGB.hs
--- a/src/JSDOM/Generated/EXTsRGB.hs
+++ b/src/JSDOM/Generated/EXTsRGB.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.EXTsRGB
        (pattern SRGB_EXT, pattern SRGB_ALPHA_EXT,
         pattern SRGB8_ALPHA8_EXT,
diff --git a/src/JSDOM/Generated/Element.hs b/src/JSDOM/Generated/Element.hs
--- a/src/JSDOM/Generated/Element.hs
+++ b/src/JSDOM/Generated/Element.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Element
        (getAttribute, setAttribute, removeAttribute, getAttributeNode,
         setAttributeNode, removeAttributeNode, getElementsByTagName,
diff --git a/src/JSDOM/Generated/Entity.hs b/src/JSDOM/Generated/Entity.hs
--- a/src/JSDOM/Generated/Entity.hs
+++ b/src/JSDOM/Generated/Entity.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Entity
        (getPublicId, getSystemId, getNotationName, Entity, castToEntity,
         gTypeEntity)
diff --git a/src/JSDOM/Generated/Enums.hs b/src/JSDOM/Generated/Enums.hs
--- a/src/JSDOM/Generated/Enums.hs
+++ b/src/JSDOM/Generated/Enums.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
-{-# LANGUAGE DeriveDataTypeable #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Enums
        (KeyType(..), ToJSVal, FromJSVal, js_KeyTypeSecret,
         js_KeyTypePublic, js_KeyTypePrivate, KeyUsage(..),
diff --git a/src/JSDOM/Generated/ErrorEvent.hs b/src/JSDOM/Generated/ErrorEvent.hs
--- a/src/JSDOM/Generated/ErrorEvent.hs
+++ b/src/JSDOM/Generated/ErrorEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ErrorEvent
        (getMessage, getFilename, getLineno, getColno, ErrorEvent,
         castToErrorEvent, gTypeErrorEvent)
diff --git a/src/JSDOM/Generated/Event.hs b/src/JSDOM/Generated/Event.hs
--- a/src/JSDOM/Generated/Event.hs
+++ b/src/JSDOM/Generated/Event.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Event
        (stopPropagation, preventDefault, initEvent,
         stopImmediatePropagation, pattern NONE, pattern CAPTURING_PHASE,
diff --git a/src/JSDOM/Generated/EventListener.hs b/src/JSDOM/Generated/EventListener.hs
--- a/src/JSDOM/Generated/EventListener.hs
+++ b/src/JSDOM/Generated/EventListener.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.EventListener
        (handleEvent, EventListener, castToEventListener,
         gTypeEventListener)
diff --git a/src/JSDOM/Generated/EventSource.hs b/src/JSDOM/Generated/EventSource.hs
--- a/src/JSDOM/Generated/EventSource.hs
+++ b/src/JSDOM/Generated/EventSource.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.EventSource
        (newEventSource, close, pattern CONNECTING, pattern OPEN,
         pattern CLOSED, getUrl, getWithCredentials, getReadyState, open,
diff --git a/src/JSDOM/Generated/EventTarget.hs b/src/JSDOM/Generated/EventTarget.hs
--- a/src/JSDOM/Generated/EventTarget.hs
+++ b/src/JSDOM/Generated/EventTarget.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.EventTarget
        (addEventListener, removeEventListener, dispatchEvent, EventTarget,
         castToEventTarget, gTypeEventTarget, IsEventTarget, toEventTarget)
diff --git a/src/JSDOM/Generated/File.hs b/src/JSDOM/Generated/File.hs
--- a/src/JSDOM/Generated/File.hs
+++ b/src/JSDOM/Generated/File.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.File
        (getName, getLastModifiedDate, File, castToFile, gTypeFile) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
@@ -7,17 +8,17 @@
 import Data.Int (Int64)
 import Data.Word (Word, Word64)
 import JSDOM.Types
-import Control.Applicative ((<$>))
+import Control.Applicative ((<$>) )
 import Control.Monad (void)
 import Control.Lens.Operators ((^.))
 import JSDOM.EventTargetClosures (EventName, unsafeEventName)
 import JSDOM.Enums
 
--- | <https://developer.mozilla.org/en-US/docs/Web/API/File.name Mozilla File.name documentation> 
+-- | <https://developer.mozilla.org/en-US/docs/Web/API/File.name Mozilla File.name documentation>
 getName :: (MonadDOM m, FromJSString result) => File -> m result
 getName self = liftDOM ((self ^. js "name") >>= fromJSValUnchecked)
 
--- | <https://developer.mozilla.org/en-US/docs/Web/API/File.lastModifiedDate Mozilla File.lastModifiedDate documentation> 
+-- | <https://developer.mozilla.org/en-US/docs/Web/API/File.lastModifiedDate Mozilla File.lastModifiedDate documentation>
 getLastModifiedDate :: (MonadDOM m) => File -> m (Maybe Date)
 getLastModifiedDate self
   = liftDOM ((self ^. js "lastModifiedDate") >>= fromJSVal)
diff --git a/src/JSDOM/Generated/FileError.hs b/src/JSDOM/Generated/FileError.hs
--- a/src/JSDOM/Generated/FileError.hs
+++ b/src/JSDOM/Generated/FileError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FileError
        (pattern NOT_FOUND_ERR, pattern SECURITY_ERR, pattern ABORT_ERR,
         pattern NOT_READABLE_ERR, pattern ENCODING_ERR,
diff --git a/src/JSDOM/Generated/FileList.hs b/src/JSDOM/Generated/FileList.hs
--- a/src/JSDOM/Generated/FileList.hs
+++ b/src/JSDOM/Generated/FileList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FileList
        (item, getLength, FileList, castToFileList, gTypeFileList) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/FileReader.hs b/src/JSDOM/Generated/FileReader.hs
--- a/src/JSDOM/Generated/FileReader.hs
+++ b/src/JSDOM/Generated/FileReader.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FileReader
        (newFileReader, readAsArrayBuffer, readAsBinaryString, readAsText,
         readAsDataURL, abort, pattern EMPTY, pattern LOADING, pattern DONE,
diff --git a/src/JSDOM/Generated/FileReaderSync.hs b/src/JSDOM/Generated/FileReaderSync.hs
--- a/src/JSDOM/Generated/FileReaderSync.hs
+++ b/src/JSDOM/Generated/FileReaderSync.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FileReaderSync
        (newFileReaderSync, readAsArrayBuffer, readAsBinaryString,
         readAsText, readAsDataURL, FileReaderSync, castToFileReaderSync,
diff --git a/src/JSDOM/Generated/FocusEvent.hs b/src/JSDOM/Generated/FocusEvent.hs
--- a/src/JSDOM/Generated/FocusEvent.hs
+++ b/src/JSDOM/Generated/FocusEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FocusEvent
        (getRelatedTarget, FocusEvent, castToFocusEvent, gTypeFocusEvent)
        where
diff --git a/src/JSDOM/Generated/FontLoader.hs b/src/JSDOM/Generated/FontLoader.hs
--- a/src/JSDOM/Generated/FontLoader.hs
+++ b/src/JSDOM/Generated/FontLoader.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FontLoader
        (checkFont, loadFont, notifyWhenFontsReady, loading, loadingDone,
         loadStart, load, error, getLoading, FontLoader, castToFontLoader,
diff --git a/src/JSDOM/Generated/FormData.hs b/src/JSDOM/Generated/FormData.hs
--- a/src/JSDOM/Generated/FormData.hs
+++ b/src/JSDOM/Generated/FormData.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.FormData
        (newFormData, append, FormData, castToFormData, gTypeFormData)
        where
diff --git a/src/JSDOM/Generated/GainNode.hs b/src/JSDOM/Generated/GainNode.hs
--- a/src/JSDOM/Generated/GainNode.hs
+++ b/src/JSDOM/Generated/GainNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.GainNode
        (getGain, GainNode, castToGainNode, gTypeGainNode) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/Gamepad.hs b/src/JSDOM/Generated/Gamepad.hs
--- a/src/JSDOM/Generated/Gamepad.hs
+++ b/src/JSDOM/Generated/Gamepad.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Gamepad
        (getId, getIndex, getConnected, getTimestamp, getMapping, getAxes,
         getButtons, Gamepad, castToGamepad, gTypeGamepad)
diff --git a/src/JSDOM/Generated/GamepadButton.hs b/src/JSDOM/Generated/GamepadButton.hs
--- a/src/JSDOM/Generated/GamepadButton.hs
+++ b/src/JSDOM/Generated/GamepadButton.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.GamepadButton
        (getPressed, getValue, GamepadButton, castToGamepadButton,
         gTypeGamepadButton)
diff --git a/src/JSDOM/Generated/GamepadEvent.hs b/src/JSDOM/Generated/GamepadEvent.hs
--- a/src/JSDOM/Generated/GamepadEvent.hs
+++ b/src/JSDOM/Generated/GamepadEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.GamepadEvent
        (getGamepad, GamepadEvent, castToGamepadEvent, gTypeGamepadEvent)
        where
diff --git a/src/JSDOM/Generated/Geolocation.hs b/src/JSDOM/Generated/Geolocation.hs
--- a/src/JSDOM/Generated/Geolocation.hs
+++ b/src/JSDOM/Generated/Geolocation.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Geolocation
        (getCurrentPosition, watchPosition, clearWatch, Geolocation,
         castToGeolocation, gTypeGeolocation)
diff --git a/src/JSDOM/Generated/Geoposition.hs b/src/JSDOM/Generated/Geoposition.hs
--- a/src/JSDOM/Generated/Geoposition.hs
+++ b/src/JSDOM/Generated/Geoposition.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Geoposition
        (getCoords, getTimestamp, Geoposition, castToGeoposition,
         gTypeGeoposition)
diff --git a/src/JSDOM/Generated/HTMLAllCollection.hs b/src/JSDOM/Generated/HTMLAllCollection.hs
--- a/src/JSDOM/Generated/HTMLAllCollection.hs
+++ b/src/JSDOM/Generated/HTMLAllCollection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLAllCollection
        (item, namedItem, tags, getLength, HTMLAllCollection,
         castToHTMLAllCollection, gTypeHTMLAllCollection)
diff --git a/src/JSDOM/Generated/HTMLAnchorElement.hs b/src/JSDOM/Generated/HTMLAnchorElement.hs
--- a/src/JSDOM/Generated/HTMLAnchorElement.hs
+++ b/src/JSDOM/Generated/HTMLAnchorElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLAnchorElement
        (toString, setCharset, getCharset, setCoords, getCoords,
         setDownload, getDownload, setHref, getHref, setHreflang,
diff --git a/src/JSDOM/Generated/HTMLAppletElement.hs b/src/JSDOM/Generated/HTMLAppletElement.hs
--- a/src/JSDOM/Generated/HTMLAppletElement.hs
+++ b/src/JSDOM/Generated/HTMLAppletElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLAppletElement
        (setAlign, getAlign, setAlt, getAlt, setArchive, getArchive,
         setCode, getCode, setCodeBase, getCodeBase, setHeight, getHeight,
diff --git a/src/JSDOM/Generated/HTMLAreaElement.hs b/src/JSDOM/Generated/HTMLAreaElement.hs
--- a/src/JSDOM/Generated/HTMLAreaElement.hs
+++ b/src/JSDOM/Generated/HTMLAreaElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLAreaElement
        (setAlt, getAlt, setCoords, getCoords, setHref, getHref, setNoHref,
         getNoHref, setPing, getPing, setRel, getRel, setShape, getShape,
diff --git a/src/JSDOM/Generated/HTMLBRElement.hs b/src/JSDOM/Generated/HTMLBRElement.hs
--- a/src/JSDOM/Generated/HTMLBRElement.hs
+++ b/src/JSDOM/Generated/HTMLBRElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLBRElement
        (setClear, getClear, HTMLBRElement, castToHTMLBRElement,
         gTypeHTMLBRElement)
diff --git a/src/JSDOM/Generated/HTMLBaseElement.hs b/src/JSDOM/Generated/HTMLBaseElement.hs
--- a/src/JSDOM/Generated/HTMLBaseElement.hs
+++ b/src/JSDOM/Generated/HTMLBaseElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLBaseElement
        (setHref, getHref, setTarget, getTarget, HTMLBaseElement,
         castToHTMLBaseElement, gTypeHTMLBaseElement)
diff --git a/src/JSDOM/Generated/HTMLBaseFontElement.hs b/src/JSDOM/Generated/HTMLBaseFontElement.hs
--- a/src/JSDOM/Generated/HTMLBaseFontElement.hs
+++ b/src/JSDOM/Generated/HTMLBaseFontElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLBaseFontElement
        (setColor, getColor, setFace, getFace, setSize, getSize,
         HTMLBaseFontElement, castToHTMLBaseFontElement,
diff --git a/src/JSDOM/Generated/HTMLBodyElement.hs b/src/JSDOM/Generated/HTMLBodyElement.hs
--- a/src/JSDOM/Generated/HTMLBodyElement.hs
+++ b/src/JSDOM/Generated/HTMLBodyElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLBodyElement
        (setALink, getALink, setBackground, getBackground, setBgColor,
         getBgColor, setLink, getLink, setText, getText, setVLink, getVLink,
diff --git a/src/JSDOM/Generated/HTMLButtonElement.hs b/src/JSDOM/Generated/HTMLButtonElement.hs
--- a/src/JSDOM/Generated/HTMLButtonElement.hs
+++ b/src/JSDOM/Generated/HTMLButtonElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLButtonElement
        (checkValidity, setCustomValidity, setAutofocus, getAutofocus,
         setDisabled, getDisabled, getForm, setFormAction, getFormAction,
diff --git a/src/JSDOM/Generated/HTMLCanvasElement.hs b/src/JSDOM/Generated/HTMLCanvasElement.hs
--- a/src/JSDOM/Generated/HTMLCanvasElement.hs
+++ b/src/JSDOM/Generated/HTMLCanvasElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLCanvasElement
        (toDataURL, getContext, probablySupportsContext, setWidth,
         getWidth, setHeight, getHeight, HTMLCanvasElement,
diff --git a/src/JSDOM/Generated/HTMLCollection.hs b/src/JSDOM/Generated/HTMLCollection.hs
--- a/src/JSDOM/Generated/HTMLCollection.hs
+++ b/src/JSDOM/Generated/HTMLCollection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLCollection
        (item, namedItem, getLength, HTMLCollection, castToHTMLCollection,
         gTypeHTMLCollection, IsHTMLCollection, toHTMLCollection)
diff --git a/src/JSDOM/Generated/HTMLDListElement.hs b/src/JSDOM/Generated/HTMLDListElement.hs
--- a/src/JSDOM/Generated/HTMLDListElement.hs
+++ b/src/JSDOM/Generated/HTMLDListElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLDListElement
        (setCompact, getCompact, HTMLDListElement, castToHTMLDListElement,
         gTypeHTMLDListElement)
diff --git a/src/JSDOM/Generated/HTMLDataListElement.hs b/src/JSDOM/Generated/HTMLDataListElement.hs
--- a/src/JSDOM/Generated/HTMLDataListElement.hs
+++ b/src/JSDOM/Generated/HTMLDataListElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLDataListElement
        (getOptions, HTMLDataListElement, castToHTMLDataListElement,
         gTypeHTMLDataListElement)
diff --git a/src/JSDOM/Generated/HTMLDetailsElement.hs b/src/JSDOM/Generated/HTMLDetailsElement.hs
--- a/src/JSDOM/Generated/HTMLDetailsElement.hs
+++ b/src/JSDOM/Generated/HTMLDetailsElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLDetailsElement
        (setOpen, getOpen, HTMLDetailsElement, castToHTMLDetailsElement,
         gTypeHTMLDetailsElement)
diff --git a/src/JSDOM/Generated/HTMLDirectoryElement.hs b/src/JSDOM/Generated/HTMLDirectoryElement.hs
--- a/src/JSDOM/Generated/HTMLDirectoryElement.hs
+++ b/src/JSDOM/Generated/HTMLDirectoryElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLDirectoryElement
        (setCompact, getCompact, HTMLDirectoryElement,
         castToHTMLDirectoryElement, gTypeHTMLDirectoryElement)
diff --git a/src/JSDOM/Generated/HTMLDivElement.hs b/src/JSDOM/Generated/HTMLDivElement.hs
--- a/src/JSDOM/Generated/HTMLDivElement.hs
+++ b/src/JSDOM/Generated/HTMLDivElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLDivElement
        (setAlign, getAlign, HTMLDivElement, castToHTMLDivElement,
         gTypeHTMLDivElement)
diff --git a/src/JSDOM/Generated/HTMLDocument.hs b/src/JSDOM/Generated/HTMLDocument.hs
--- a/src/JSDOM/Generated/HTMLDocument.hs
+++ b/src/JSDOM/Generated/HTMLDocument.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLDocument
        (open, close, write, writeln, clear, captureEvents, releaseEvents,
         getEmbeds, getPlugins, getScripts, getAll, getWidth, getHeight,
diff --git a/src/JSDOM/Generated/HTMLElement.hs b/src/JSDOM/Generated/HTMLElement.hs
--- a/src/JSDOM/Generated/HTMLElement.hs
+++ b/src/JSDOM/Generated/HTMLElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLElement
        (insertAdjacentElement, insertAdjacentHTML, insertAdjacentText,
         click, setTitle, getTitle, setLang, getLang, setTranslate,
diff --git a/src/JSDOM/Generated/HTMLEmbedElement.hs b/src/JSDOM/Generated/HTMLEmbedElement.hs
--- a/src/JSDOM/Generated/HTMLEmbedElement.hs
+++ b/src/JSDOM/Generated/HTMLEmbedElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLEmbedElement
        (getSVGDocument, setAlign, getAlign, setHeight, getHeight, setName,
         getName, setSrc, getSrc, setType, getType, setWidth, getWidth,
diff --git a/src/JSDOM/Generated/HTMLFieldSetElement.hs b/src/JSDOM/Generated/HTMLFieldSetElement.hs
--- a/src/JSDOM/Generated/HTMLFieldSetElement.hs
+++ b/src/JSDOM/Generated/HTMLFieldSetElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLFieldSetElement
        (checkValidity, setCustomValidity, setDisabled, getDisabled,
         getForm, setName, getName, getType, getElements, getWillValidate,
diff --git a/src/JSDOM/Generated/HTMLFontElement.hs b/src/JSDOM/Generated/HTMLFontElement.hs
--- a/src/JSDOM/Generated/HTMLFontElement.hs
+++ b/src/JSDOM/Generated/HTMLFontElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLFontElement
        (setColor, getColor, setFace, getFace, setSize, getSize,
         HTMLFontElement, castToHTMLFontElement, gTypeHTMLFontElement)
diff --git a/src/JSDOM/Generated/HTMLFormControlsCollection.hs b/src/JSDOM/Generated/HTMLFormControlsCollection.hs
--- a/src/JSDOM/Generated/HTMLFormControlsCollection.hs
+++ b/src/JSDOM/Generated/HTMLFormControlsCollection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLFormControlsCollection
        (_get, namedItem, HTMLFormControlsCollection,
         castToHTMLFormControlsCollection, gTypeHTMLFormControlsCollection)
diff --git a/src/JSDOM/Generated/HTMLFormElement.hs b/src/JSDOM/Generated/HTMLFormElement.hs
--- a/src/JSDOM/Generated/HTMLFormElement.hs
+++ b/src/JSDOM/Generated/HTMLFormElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLFormElement
        (_get, submit, reset, checkValidity, requestAutocomplete,
         setAcceptCharset, getAcceptCharset, setAction, getAction,
diff --git a/src/JSDOM/Generated/HTMLFrameElement.hs b/src/JSDOM/Generated/HTMLFrameElement.hs
--- a/src/JSDOM/Generated/HTMLFrameElement.hs
+++ b/src/JSDOM/Generated/HTMLFrameElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLFrameElement
        (getSVGDocument, setFrameBorder, getFrameBorder, setLongDesc,
         getLongDesc, setMarginHeight, getMarginHeight, setMarginWidth,
diff --git a/src/JSDOM/Generated/HTMLFrameSetElement.hs b/src/JSDOM/Generated/HTMLFrameSetElement.hs
--- a/src/JSDOM/Generated/HTMLFrameSetElement.hs
+++ b/src/JSDOM/Generated/HTMLFrameSetElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLFrameSetElement
        (setCols, getCols, setRows, getRows, beforeUnload, hashChange,
         message, offline, online, popState, resize, storage, unload,
diff --git a/src/JSDOM/Generated/HTMLHRElement.hs b/src/JSDOM/Generated/HTMLHRElement.hs
--- a/src/JSDOM/Generated/HTMLHRElement.hs
+++ b/src/JSDOM/Generated/HTMLHRElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLHRElement
        (setAlign, getAlign, setNoShade, getNoShade, setSize, getSize,
         setWidth, getWidth, HTMLHRElement, castToHTMLHRElement,
diff --git a/src/JSDOM/Generated/HTMLHeadElement.hs b/src/JSDOM/Generated/HTMLHeadElement.hs
--- a/src/JSDOM/Generated/HTMLHeadElement.hs
+++ b/src/JSDOM/Generated/HTMLHeadElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLHeadElement
        (setProfile, getProfile, HTMLHeadElement, castToHTMLHeadElement,
         gTypeHTMLHeadElement)
diff --git a/src/JSDOM/Generated/HTMLHeadingElement.hs b/src/JSDOM/Generated/HTMLHeadingElement.hs
--- a/src/JSDOM/Generated/HTMLHeadingElement.hs
+++ b/src/JSDOM/Generated/HTMLHeadingElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLHeadingElement
        (setAlign, getAlign, HTMLHeadingElement, castToHTMLHeadingElement,
         gTypeHTMLHeadingElement)
diff --git a/src/JSDOM/Generated/HTMLHtmlElement.hs b/src/JSDOM/Generated/HTMLHtmlElement.hs
--- a/src/JSDOM/Generated/HTMLHtmlElement.hs
+++ b/src/JSDOM/Generated/HTMLHtmlElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLHtmlElement
        (setVersion, getVersion, setManifest, getManifest, HTMLHtmlElement,
         castToHTMLHtmlElement, gTypeHTMLHtmlElement)
diff --git a/src/JSDOM/Generated/HTMLIFrameElement.hs b/src/JSDOM/Generated/HTMLIFrameElement.hs
--- a/src/JSDOM/Generated/HTMLIFrameElement.hs
+++ b/src/JSDOM/Generated/HTMLIFrameElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLIFrameElement
        (getSVGDocument, setAlign, getAlign, setFrameBorder,
         getFrameBorder, setHeight, getHeight, setLongDesc, getLongDesc,
diff --git a/src/JSDOM/Generated/HTMLImageElement.hs b/src/JSDOM/Generated/HTMLImageElement.hs
--- a/src/JSDOM/Generated/HTMLImageElement.hs
+++ b/src/JSDOM/Generated/HTMLImageElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLImageElement
        (setName, getName, setAlign, getAlign, setAlt, getAlt, setBorder,
         getBorder, setCrossOrigin, getCrossOrigin, setHeight, getHeight,
diff --git a/src/JSDOM/Generated/HTMLInputElement.hs b/src/JSDOM/Generated/HTMLInputElement.hs
--- a/src/JSDOM/Generated/HTMLInputElement.hs
+++ b/src/JSDOM/Generated/HTMLInputElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLInputElement
        (stepUp, stepDown, checkValidity, setCustomValidity, select,
         setRangeText, setRangeText4, setSelectionRange, setAccept,
diff --git a/src/JSDOM/Generated/HTMLKeygenElement.hs b/src/JSDOM/Generated/HTMLKeygenElement.hs
--- a/src/JSDOM/Generated/HTMLKeygenElement.hs
+++ b/src/JSDOM/Generated/HTMLKeygenElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLKeygenElement
        (checkValidity, setCustomValidity, setAutofocus, getAutofocus,
         setChallenge, getChallenge, setDisabled, getDisabled, getForm,
diff --git a/src/JSDOM/Generated/HTMLLIElement.hs b/src/JSDOM/Generated/HTMLLIElement.hs
--- a/src/JSDOM/Generated/HTMLLIElement.hs
+++ b/src/JSDOM/Generated/HTMLLIElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLLIElement
        (setType, getType, setValue, getValue, HTMLLIElement,
         castToHTMLLIElement, gTypeHTMLLIElement)
diff --git a/src/JSDOM/Generated/HTMLLabelElement.hs b/src/JSDOM/Generated/HTMLLabelElement.hs
--- a/src/JSDOM/Generated/HTMLLabelElement.hs
+++ b/src/JSDOM/Generated/HTMLLabelElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLLabelElement
        (getForm, setHtmlFor, getHtmlFor, getControl, HTMLLabelElement,
         castToHTMLLabelElement, gTypeHTMLLabelElement)
diff --git a/src/JSDOM/Generated/HTMLLegendElement.hs b/src/JSDOM/Generated/HTMLLegendElement.hs
--- a/src/JSDOM/Generated/HTMLLegendElement.hs
+++ b/src/JSDOM/Generated/HTMLLegendElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLLegendElement
        (getForm, setAlign, getAlign, HTMLLegendElement,
         castToHTMLLegendElement, gTypeHTMLLegendElement)
diff --git a/src/JSDOM/Generated/HTMLLinkElement.hs b/src/JSDOM/Generated/HTMLLinkElement.hs
--- a/src/JSDOM/Generated/HTMLLinkElement.hs
+++ b/src/JSDOM/Generated/HTMLLinkElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLLinkElement
        (setDisabled, getDisabled, setCharset, getCharset, setHref,
         getHref, setHreflang, getHreflang, setMedia, getMedia, setRel,
diff --git a/src/JSDOM/Generated/HTMLMapElement.hs b/src/JSDOM/Generated/HTMLMapElement.hs
--- a/src/JSDOM/Generated/HTMLMapElement.hs
+++ b/src/JSDOM/Generated/HTMLMapElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLMapElement
        (getAreas, setName, getName, HTMLMapElement, castToHTMLMapElement,
         gTypeHTMLMapElement)
diff --git a/src/JSDOM/Generated/HTMLMarqueeElement.hs b/src/JSDOM/Generated/HTMLMarqueeElement.hs
--- a/src/JSDOM/Generated/HTMLMarqueeElement.hs
+++ b/src/JSDOM/Generated/HTMLMarqueeElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLMarqueeElement
        (start, stop, setBehavior, getBehavior, setBgColor, getBgColor,
         setDirection, getDirection, setHeight, getHeight, setHspace,
diff --git a/src/JSDOM/Generated/HTMLMediaElement.hs b/src/JSDOM/Generated/HTMLMediaElement.hs
--- a/src/JSDOM/Generated/HTMLMediaElement.hs
+++ b/src/JSDOM/Generated/HTMLMediaElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLMediaElement
        (load, canPlayType, play, pause, fastSeek,
         webkitGenerateKeyRequest, webkitAddKey, webkitCancelKeyRequest,
diff --git a/src/JSDOM/Generated/HTMLMenuElement.hs b/src/JSDOM/Generated/HTMLMenuElement.hs
--- a/src/JSDOM/Generated/HTMLMenuElement.hs
+++ b/src/JSDOM/Generated/HTMLMenuElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLMenuElement
        (setCompact, getCompact, HTMLMenuElement, castToHTMLMenuElement,
         gTypeHTMLMenuElement)
diff --git a/src/JSDOM/Generated/HTMLMetaElement.hs b/src/JSDOM/Generated/HTMLMetaElement.hs
--- a/src/JSDOM/Generated/HTMLMetaElement.hs
+++ b/src/JSDOM/Generated/HTMLMetaElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLMetaElement
        (setContent, getContent, setHttpEquiv, getHttpEquiv, setName,
         getName, setScheme, getScheme, HTMLMetaElement,
diff --git a/src/JSDOM/Generated/HTMLMeterElement.hs b/src/JSDOM/Generated/HTMLMeterElement.hs
--- a/src/JSDOM/Generated/HTMLMeterElement.hs
+++ b/src/JSDOM/Generated/HTMLMeterElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLMeterElement
        (setValue, getValue, setMin, getMin, setMax, getMax, setLow,
         getLow, setHigh, getHigh, setOptimum, getOptimum, getLabels,
diff --git a/src/JSDOM/Generated/HTMLModElement.hs b/src/JSDOM/Generated/HTMLModElement.hs
--- a/src/JSDOM/Generated/HTMLModElement.hs
+++ b/src/JSDOM/Generated/HTMLModElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLModElement
        (setCite, getCite, setDateTime, getDateTime, HTMLModElement,
         castToHTMLModElement, gTypeHTMLModElement)
diff --git a/src/JSDOM/Generated/HTMLOListElement.hs b/src/JSDOM/Generated/HTMLOListElement.hs
--- a/src/JSDOM/Generated/HTMLOListElement.hs
+++ b/src/JSDOM/Generated/HTMLOListElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLOListElement
        (setCompact, getCompact, setStart, getStart, setReversed,
         getReversed, setType, getType, HTMLOListElement,
diff --git a/src/JSDOM/Generated/HTMLObjectElement.hs b/src/JSDOM/Generated/HTMLObjectElement.hs
--- a/src/JSDOM/Generated/HTMLObjectElement.hs
+++ b/src/JSDOM/Generated/HTMLObjectElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLObjectElement
        (checkValidity, setCustomValidity, getSVGDocument, getForm,
         setCode, getCode, setAlign, getAlign, setArchive, getArchive,
diff --git a/src/JSDOM/Generated/HTMLOptGroupElement.hs b/src/JSDOM/Generated/HTMLOptGroupElement.hs
--- a/src/JSDOM/Generated/HTMLOptGroupElement.hs
+++ b/src/JSDOM/Generated/HTMLOptGroupElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLOptGroupElement
        (setDisabled, getDisabled, setLabel, getLabel, HTMLOptGroupElement,
         castToHTMLOptGroupElement, gTypeHTMLOptGroupElement)
diff --git a/src/JSDOM/Generated/HTMLOptionElement.hs b/src/JSDOM/Generated/HTMLOptionElement.hs
--- a/src/JSDOM/Generated/HTMLOptionElement.hs
+++ b/src/JSDOM/Generated/HTMLOptionElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLOptionElement
        (setDisabled, getDisabled, getForm, setLabel, getLabel,
         setDefaultSelected, getDefaultSelected, setSelected, getSelected,
diff --git a/src/JSDOM/Generated/HTMLOptionsCollection.hs b/src/JSDOM/Generated/HTMLOptionsCollection.hs
--- a/src/JSDOM/Generated/HTMLOptionsCollection.hs
+++ b/src/JSDOM/Generated/HTMLOptionsCollection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLOptionsCollection
        (namedItem, addBefore, add, remove, setSelectedIndex,
         getSelectedIndex, setLength, getLength, HTMLOptionsCollection,
diff --git a/src/JSDOM/Generated/HTMLOutputElement.hs b/src/JSDOM/Generated/HTMLOutputElement.hs
--- a/src/JSDOM/Generated/HTMLOutputElement.hs
+++ b/src/JSDOM/Generated/HTMLOutputElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLOutputElement
        (checkValidity, setCustomValidity, getHtmlFor, getForm, setName,
         getName, getType, setDefaultValue, getDefaultValue, setValue,
diff --git a/src/JSDOM/Generated/HTMLParagraphElement.hs b/src/JSDOM/Generated/HTMLParagraphElement.hs
--- a/src/JSDOM/Generated/HTMLParagraphElement.hs
+++ b/src/JSDOM/Generated/HTMLParagraphElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLParagraphElement
        (setAlign, getAlign, HTMLParagraphElement,
         castToHTMLParagraphElement, gTypeHTMLParagraphElement)
diff --git a/src/JSDOM/Generated/HTMLParamElement.hs b/src/JSDOM/Generated/HTMLParamElement.hs
--- a/src/JSDOM/Generated/HTMLParamElement.hs
+++ b/src/JSDOM/Generated/HTMLParamElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLParamElement
        (setName, getName, setType, getType, setValue, getValue,
         setValueType, getValueType, HTMLParamElement,
diff --git a/src/JSDOM/Generated/HTMLPreElement.hs b/src/JSDOM/Generated/HTMLPreElement.hs
--- a/src/JSDOM/Generated/HTMLPreElement.hs
+++ b/src/JSDOM/Generated/HTMLPreElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLPreElement
        (setWidth, getWidth, setWrap, getWrap, HTMLPreElement,
         castToHTMLPreElement, gTypeHTMLPreElement)
diff --git a/src/JSDOM/Generated/HTMLProgressElement.hs b/src/JSDOM/Generated/HTMLProgressElement.hs
--- a/src/JSDOM/Generated/HTMLProgressElement.hs
+++ b/src/JSDOM/Generated/HTMLProgressElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLProgressElement
        (setValue, getValue, setMax, getMax, getPosition, getLabels,
         HTMLProgressElement, castToHTMLProgressElement,
diff --git a/src/JSDOM/Generated/HTMLQuoteElement.hs b/src/JSDOM/Generated/HTMLQuoteElement.hs
--- a/src/JSDOM/Generated/HTMLQuoteElement.hs
+++ b/src/JSDOM/Generated/HTMLQuoteElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLQuoteElement
        (setCite, getCite, HTMLQuoteElement, castToHTMLQuoteElement,
         gTypeHTMLQuoteElement)
diff --git a/src/JSDOM/Generated/HTMLScriptElement.hs b/src/JSDOM/Generated/HTMLScriptElement.hs
--- a/src/JSDOM/Generated/HTMLScriptElement.hs
+++ b/src/JSDOM/Generated/HTMLScriptElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLScriptElement
        (setText, getText, setHtmlFor, getHtmlFor, setEvent, getEvent,
         setCharset, getCharset, setAsync, getAsync, setDefer, getDefer,
diff --git a/src/JSDOM/Generated/HTMLSelectElement.hs b/src/JSDOM/Generated/HTMLSelectElement.hs
--- a/src/JSDOM/Generated/HTMLSelectElement.hs
+++ b/src/JSDOM/Generated/HTMLSelectElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLSelectElement
        (item, namedItem, addBefore, add, remove, checkValidity,
         setCustomValidity, setAutofocus, getAutofocus, setDisabled,
diff --git a/src/JSDOM/Generated/HTMLSourceElement.hs b/src/JSDOM/Generated/HTMLSourceElement.hs
--- a/src/JSDOM/Generated/HTMLSourceElement.hs
+++ b/src/JSDOM/Generated/HTMLSourceElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLSourceElement
        (setSrc, getSrc, setType, getType, setMedia, getMedia,
         HTMLSourceElement, castToHTMLSourceElement, gTypeHTMLSourceElement)
diff --git a/src/JSDOM/Generated/HTMLStyleElement.hs b/src/JSDOM/Generated/HTMLStyleElement.hs
--- a/src/JSDOM/Generated/HTMLStyleElement.hs
+++ b/src/JSDOM/Generated/HTMLStyleElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLStyleElement
        (setDisabled, getDisabled, setMedia, getMedia, setType, getType,
         getSheet, HTMLStyleElement, castToHTMLStyleElement,
diff --git a/src/JSDOM/Generated/HTMLTableCaptionElement.hs b/src/JSDOM/Generated/HTMLTableCaptionElement.hs
--- a/src/JSDOM/Generated/HTMLTableCaptionElement.hs
+++ b/src/JSDOM/Generated/HTMLTableCaptionElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTableCaptionElement
        (setAlign, getAlign, HTMLTableCaptionElement,
         castToHTMLTableCaptionElement, gTypeHTMLTableCaptionElement)
diff --git a/src/JSDOM/Generated/HTMLTableCellElement.hs b/src/JSDOM/Generated/HTMLTableCellElement.hs
--- a/src/JSDOM/Generated/HTMLTableCellElement.hs
+++ b/src/JSDOM/Generated/HTMLTableCellElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTableCellElement
        (getCellIndex, setAbbr, getAbbr, setAlign, getAlign, setAxis,
         getAxis, setBgColor, getBgColor, setCh, getCh, setChOff, getChOff,
diff --git a/src/JSDOM/Generated/HTMLTableColElement.hs b/src/JSDOM/Generated/HTMLTableColElement.hs
--- a/src/JSDOM/Generated/HTMLTableColElement.hs
+++ b/src/JSDOM/Generated/HTMLTableColElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTableColElement
        (setAlign, getAlign, setCh, getCh, setChOff, getChOff, setSpan,
         getSpan, setVAlign, getVAlign, setWidth, getWidth,
diff --git a/src/JSDOM/Generated/HTMLTableElement.hs b/src/JSDOM/Generated/HTMLTableElement.hs
--- a/src/JSDOM/Generated/HTMLTableElement.hs
+++ b/src/JSDOM/Generated/HTMLTableElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTableElement
        (createTHead, deleteTHead, createTFoot, deleteTFoot, createTBody,
         createCaption, deleteCaption, insertRow, deleteRow, setCaption,
diff --git a/src/JSDOM/Generated/HTMLTableRowElement.hs b/src/JSDOM/Generated/HTMLTableRowElement.hs
--- a/src/JSDOM/Generated/HTMLTableRowElement.hs
+++ b/src/JSDOM/Generated/HTMLTableRowElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTableRowElement
        (insertCell, deleteCell, getRowIndex, getSectionRowIndex, getCells,
         setAlign, getAlign, setBgColor, getBgColor, setCh, getCh, setChOff,
diff --git a/src/JSDOM/Generated/HTMLTableSectionElement.hs b/src/JSDOM/Generated/HTMLTableSectionElement.hs
--- a/src/JSDOM/Generated/HTMLTableSectionElement.hs
+++ b/src/JSDOM/Generated/HTMLTableSectionElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTableSectionElement
        (insertRow, deleteRow, setAlign, getAlign, setCh, getCh, setChOff,
         getChOff, setVAlign, getVAlign, getRows, HTMLTableSectionElement,
diff --git a/src/JSDOM/Generated/HTMLTemplateElement.hs b/src/JSDOM/Generated/HTMLTemplateElement.hs
--- a/src/JSDOM/Generated/HTMLTemplateElement.hs
+++ b/src/JSDOM/Generated/HTMLTemplateElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTemplateElement
        (getContent, HTMLTemplateElement, castToHTMLTemplateElement,
         gTypeHTMLTemplateElement)
diff --git a/src/JSDOM/Generated/HTMLTextAreaElement.hs b/src/JSDOM/Generated/HTMLTextAreaElement.hs
--- a/src/JSDOM/Generated/HTMLTextAreaElement.hs
+++ b/src/JSDOM/Generated/HTMLTextAreaElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTextAreaElement
        (checkValidity, setCustomValidity, select, setRangeText,
         setRangeText4, setSelectionRange, setAutofocus, getAutofocus,
diff --git a/src/JSDOM/Generated/HTMLTitleElement.hs b/src/JSDOM/Generated/HTMLTitleElement.hs
--- a/src/JSDOM/Generated/HTMLTitleElement.hs
+++ b/src/JSDOM/Generated/HTMLTitleElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTitleElement
        (setText, getText, HTMLTitleElement, castToHTMLTitleElement,
         gTypeHTMLTitleElement)
diff --git a/src/JSDOM/Generated/HTMLTrackElement.hs b/src/JSDOM/Generated/HTMLTrackElement.hs
--- a/src/JSDOM/Generated/HTMLTrackElement.hs
+++ b/src/JSDOM/Generated/HTMLTrackElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLTrackElement
        (pattern NONE, pattern LOADING, pattern LOADED, pattern ERROR,
         setKind, getKind, setSrc, getSrc, setSrclang, getSrclang, setLabel,
diff --git a/src/JSDOM/Generated/HTMLUListElement.hs b/src/JSDOM/Generated/HTMLUListElement.hs
--- a/src/JSDOM/Generated/HTMLUListElement.hs
+++ b/src/JSDOM/Generated/HTMLUListElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLUListElement
        (setCompact, getCompact, setType, getType, HTMLUListElement,
         castToHTMLUListElement, gTypeHTMLUListElement)
diff --git a/src/JSDOM/Generated/HTMLVideoElement.hs b/src/JSDOM/Generated/HTMLVideoElement.hs
--- a/src/JSDOM/Generated/HTMLVideoElement.hs
+++ b/src/JSDOM/Generated/HTMLVideoElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HTMLVideoElement
        (webkitEnterFullscreen, webkitExitFullscreen,
         webkitEnterFullScreen, webkitExitFullScreen,
diff --git a/src/JSDOM/Generated/HashChangeEvent.hs b/src/JSDOM/Generated/HashChangeEvent.hs
--- a/src/JSDOM/Generated/HashChangeEvent.hs
+++ b/src/JSDOM/Generated/HashChangeEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.HashChangeEvent
        (initHashChangeEvent, getOldURL, getNewURL, HashChangeEvent,
         castToHashChangeEvent, gTypeHashChangeEvent)
diff --git a/src/JSDOM/Generated/History.hs b/src/JSDOM/Generated/History.hs
--- a/src/JSDOM/Generated/History.hs
+++ b/src/JSDOM/Generated/History.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.History
        (back, forward, go, pushState, replaceState, getLength, getState,
         History, castToHistory, gTypeHistory)
diff --git a/src/JSDOM/Generated/IDBCursor.hs b/src/JSDOM/Generated/IDBCursor.hs
--- a/src/JSDOM/Generated/IDBCursor.hs
+++ b/src/JSDOM/Generated/IDBCursor.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBCursor
        (update, advance, continue, delete, getSource, getDirection,
         getKey, getPrimaryKey, IDBCursor, castToIDBCursor, gTypeIDBCursor,
diff --git a/src/JSDOM/Generated/IDBCursorWithValue.hs b/src/JSDOM/Generated/IDBCursorWithValue.hs
--- a/src/JSDOM/Generated/IDBCursorWithValue.hs
+++ b/src/JSDOM/Generated/IDBCursorWithValue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBCursorWithValue
        (getValue, IDBCursorWithValue, castToIDBCursorWithValue,
         gTypeIDBCursorWithValue)
diff --git a/src/JSDOM/Generated/IDBDatabase.hs b/src/JSDOM/Generated/IDBDatabase.hs
--- a/src/JSDOM/Generated/IDBDatabase.hs
+++ b/src/JSDOM/Generated/IDBDatabase.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBDatabase
        (createObjectStore, deleteObjectStore, transaction, transaction',
         close, getName, getVersion, getObjectStoreNames, abort, error,
diff --git a/src/JSDOM/Generated/IDBFactory.hs b/src/JSDOM/Generated/IDBFactory.hs
--- a/src/JSDOM/Generated/IDBFactory.hs
+++ b/src/JSDOM/Generated/IDBFactory.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBFactory
        (open, deleteDatabase, cmp, IDBFactory, castToIDBFactory,
         gTypeIDBFactory)
diff --git a/src/JSDOM/Generated/IDBIndex.hs b/src/JSDOM/Generated/IDBIndex.hs
--- a/src/JSDOM/Generated/IDBIndex.hs
+++ b/src/JSDOM/Generated/IDBIndex.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBIndex
        (openCursorRange, openCursor, openKeyCursorRange, openKeyCursor,
         getRange, get, getKeyRange, getKey, countRange, count, getName,
diff --git a/src/JSDOM/Generated/IDBKeyRange.hs b/src/JSDOM/Generated/IDBKeyRange.hs
--- a/src/JSDOM/Generated/IDBKeyRange.hs
+++ b/src/JSDOM/Generated/IDBKeyRange.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBKeyRange
        (only, lowerBound, upperBound, bound, getLower, getUpper,
         getLowerOpen, getUpperOpen, IDBKeyRange, castToIDBKeyRange,
diff --git a/src/JSDOM/Generated/IDBObjectStore.hs b/src/JSDOM/Generated/IDBObjectStore.hs
--- a/src/JSDOM/Generated/IDBObjectStore.hs
+++ b/src/JSDOM/Generated/IDBObjectStore.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBObjectStore
        (put, add, deleteRange, delete, getRange, get, clear,
         openCursorRange, openCursor, createIndex', createIndex, index,
diff --git a/src/JSDOM/Generated/IDBOpenDBRequest.hs b/src/JSDOM/Generated/IDBOpenDBRequest.hs
--- a/src/JSDOM/Generated/IDBOpenDBRequest.hs
+++ b/src/JSDOM/Generated/IDBOpenDBRequest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBOpenDBRequest
        (blocked, upgradeNeeded, IDBOpenDBRequest, castToIDBOpenDBRequest,
         gTypeIDBOpenDBRequest)
diff --git a/src/JSDOM/Generated/IDBRequest.hs b/src/JSDOM/Generated/IDBRequest.hs
--- a/src/JSDOM/Generated/IDBRequest.hs
+++ b/src/JSDOM/Generated/IDBRequest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBRequest
        (getResult, getError, getSource, getTransaction, getReadyState,
         success, error, IDBRequest, castToIDBRequest, gTypeIDBRequest,
diff --git a/src/JSDOM/Generated/IDBTransaction.hs b/src/JSDOM/Generated/IDBTransaction.hs
--- a/src/JSDOM/Generated/IDBTransaction.hs
+++ b/src/JSDOM/Generated/IDBTransaction.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBTransaction
        (objectStore, abort, getMode, getDb, getError, abortEvent,
         complete, error, IDBTransaction, castToIDBTransaction,
diff --git a/src/JSDOM/Generated/IDBVersionChangeEvent.hs b/src/JSDOM/Generated/IDBVersionChangeEvent.hs
--- a/src/JSDOM/Generated/IDBVersionChangeEvent.hs
+++ b/src/JSDOM/Generated/IDBVersionChangeEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.IDBVersionChangeEvent
        (getOldVersion, getNewVersion, IDBVersionChangeEvent,
         castToIDBVersionChangeEvent, gTypeIDBVersionChangeEvent)
diff --git a/src/JSDOM/Generated/ImageData.hs b/src/JSDOM/Generated/ImageData.hs
--- a/src/JSDOM/Generated/ImageData.hs
+++ b/src/JSDOM/Generated/ImageData.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ImageData
        (newImageData, newImageData', getWidth, getHeight, ImageData,
         castToImageData, gTypeImageData)
diff --git a/src/JSDOM/Generated/InspectorFrontendHost.hs b/src/JSDOM/Generated/InspectorFrontendHost.hs
--- a/src/JSDOM/Generated/InspectorFrontendHost.hs
+++ b/src/JSDOM/Generated/InspectorFrontendHost.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.InspectorFrontendHost
        (loaded, closeWindow, bringToFront, setZoomFactor,
         inspectedURLChanged, requestSetDockSide, setAttachedWindowHeight,
diff --git a/src/JSDOM/Generated/InternalSettings.hs b/src/JSDOM/Generated/InternalSettings.hs
--- a/src/JSDOM/Generated/InternalSettings.hs
+++ b/src/JSDOM/Generated/InternalSettings.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.InternalSettings
        (setTouchEventEmulationEnabled, setStandardFontFamily,
         setSerifFontFamily, setSansSerifFontFamily, setFixedFontFamily,
diff --git a/src/JSDOM/Generated/Internals.hs b/src/JSDOM/Generated/Internals.hs
--- a/src/JSDOM/Generated/Internals.hs
+++ b/src/JSDOM/Generated/Internals.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Internals
        (address, nodeNeedsStyleRecalc, description,
         hasPausedImageAnimations, elementRenderTreeAsText, isPreloaded,
diff --git a/src/JSDOM/Generated/KeyboardEvent.hs b/src/JSDOM/Generated/KeyboardEvent.hs
--- a/src/JSDOM/Generated/KeyboardEvent.hs
+++ b/src/JSDOM/Generated/KeyboardEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.KeyboardEvent
        (initKeyboardEvent, pattern DOM_KEY_LOCATION_STANDARD,
         pattern DOM_KEY_LOCATION_LEFT, pattern DOM_KEY_LOCATION_RIGHT,
diff --git a/src/JSDOM/Generated/Location.hs b/src/JSDOM/Generated/Location.hs
--- a/src/JSDOM/Generated/Location.hs
+++ b/src/JSDOM/Generated/Location.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Location
        (assign, replace, reload, toString, setHref, getHref, setProtocol,
         getProtocol, setHost, getHost, setHostname, getHostname, setPort,
diff --git a/src/JSDOM/Generated/MallocStatistics.hs b/src/JSDOM/Generated/MallocStatistics.hs
--- a/src/JSDOM/Generated/MallocStatistics.hs
+++ b/src/JSDOM/Generated/MallocStatistics.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MallocStatistics
        (getReservedVMBytes, getCommittedVMBytes, getFreeListBytes,
         MallocStatistics, castToMallocStatistics, gTypeMallocStatistics)
diff --git a/src/JSDOM/Generated/MediaController.hs b/src/JSDOM/Generated/MediaController.hs
--- a/src/JSDOM/Generated/MediaController.hs
+++ b/src/JSDOM/Generated/MediaController.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaController
        (newMediaController, play, pause, unpause, getBuffered,
         getSeekable, getDuration, setCurrentTime, getCurrentTime,
diff --git a/src/JSDOM/Generated/MediaControlsHost.hs b/src/JSDOM/Generated/MediaControlsHost.hs
--- a/src/JSDOM/Generated/MediaControlsHost.hs
+++ b/src/JSDOM/Generated/MediaControlsHost.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaControlsHost
        (sortedTrackListForMenu, sortedTrackListForMenuAudio,
         displayNameForTrack, displayNameForTrackAudio,
diff --git a/src/JSDOM/Generated/MediaElementAudioSourceNode.hs b/src/JSDOM/Generated/MediaElementAudioSourceNode.hs
--- a/src/JSDOM/Generated/MediaElementAudioSourceNode.hs
+++ b/src/JSDOM/Generated/MediaElementAudioSourceNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaElementAudioSourceNode
        (getMediaElement, MediaElementAudioSourceNode,
         castToMediaElementAudioSourceNode,
diff --git a/src/JSDOM/Generated/MediaError.hs b/src/JSDOM/Generated/MediaError.hs
--- a/src/JSDOM/Generated/MediaError.hs
+++ b/src/JSDOM/Generated/MediaError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaError
        (pattern MEDIA_ERR_ABORTED, pattern MEDIA_ERR_NETWORK,
         pattern MEDIA_ERR_DECODE, pattern MEDIA_ERR_SRC_NOT_SUPPORTED,
diff --git a/src/JSDOM/Generated/MediaKeyError.hs b/src/JSDOM/Generated/MediaKeyError.hs
--- a/src/JSDOM/Generated/MediaKeyError.hs
+++ b/src/JSDOM/Generated/MediaKeyError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaKeyError
        (pattern MEDIA_KEYERR_UNKNOWN, pattern MEDIA_KEYERR_CLIENT,
         pattern MEDIA_KEYERR_SERVICE, pattern MEDIA_KEYERR_OUTPUT,
diff --git a/src/JSDOM/Generated/MediaKeyEvent.hs b/src/JSDOM/Generated/MediaKeyEvent.hs
--- a/src/JSDOM/Generated/MediaKeyEvent.hs
+++ b/src/JSDOM/Generated/MediaKeyEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaKeyEvent
        (getKeySystem, getSessionId, getInitData, getMessage,
         getDefaultURL, getErrorCode, getSystemCode, MediaKeyEvent,
diff --git a/src/JSDOM/Generated/MediaKeyMessageEvent.hs b/src/JSDOM/Generated/MediaKeyMessageEvent.hs
--- a/src/JSDOM/Generated/MediaKeyMessageEvent.hs
+++ b/src/JSDOM/Generated/MediaKeyMessageEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaKeyMessageEvent
        (getMessage, getDestinationURL, MediaKeyMessageEvent,
         castToMediaKeyMessageEvent, gTypeMediaKeyMessageEvent)
diff --git a/src/JSDOM/Generated/MediaKeyNeededEvent.hs b/src/JSDOM/Generated/MediaKeyNeededEvent.hs
--- a/src/JSDOM/Generated/MediaKeyNeededEvent.hs
+++ b/src/JSDOM/Generated/MediaKeyNeededEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaKeyNeededEvent
        (getInitData, MediaKeyNeededEvent, castToMediaKeyNeededEvent,
         gTypeMediaKeyNeededEvent)
diff --git a/src/JSDOM/Generated/MediaKeySession.hs b/src/JSDOM/Generated/MediaKeySession.hs
--- a/src/JSDOM/Generated/MediaKeySession.hs
+++ b/src/JSDOM/Generated/MediaKeySession.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaKeySession
        (update, close, getError, getKeySystem, getSessionId,
         webKitKeyAdded, webKitKeyError, webKitKeyMessage, MediaKeySession,
diff --git a/src/JSDOM/Generated/MediaKeys.hs b/src/JSDOM/Generated/MediaKeys.hs
--- a/src/JSDOM/Generated/MediaKeys.hs
+++ b/src/JSDOM/Generated/MediaKeys.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaKeys
        (newMediaKeys, createSession, isTypeSupported, getKeySystem,
         MediaKeys, castToMediaKeys, gTypeMediaKeys)
diff --git a/src/JSDOM/Generated/MediaList.hs b/src/JSDOM/Generated/MediaList.hs
--- a/src/JSDOM/Generated/MediaList.hs
+++ b/src/JSDOM/Generated/MediaList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaList
        (item, deleteMedium, appendMedium, setMediaText, getMediaText,
         getLength, MediaList, castToMediaList, gTypeMediaList)
diff --git a/src/JSDOM/Generated/MediaQueryList.hs b/src/JSDOM/Generated/MediaQueryList.hs
--- a/src/JSDOM/Generated/MediaQueryList.hs
+++ b/src/JSDOM/Generated/MediaQueryList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaQueryList
        (addListener, removeListener, getMedia, getMatches, MediaQueryList,
         castToMediaQueryList, gTypeMediaQueryList)
diff --git a/src/JSDOM/Generated/MediaQueryListListener.hs b/src/JSDOM/Generated/MediaQueryListListener.hs
--- a/src/JSDOM/Generated/MediaQueryListListener.hs
+++ b/src/JSDOM/Generated/MediaQueryListListener.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaQueryListListener
        (newMediaQueryListListener, newMediaQueryListListenerSync,
         newMediaQueryListListenerAsync, MediaQueryListListener)
@@ -22,7 +23,7 @@
 newMediaQueryListListener callback
   = liftDOM
       (MediaQueryListListener . Callback <$>
-         function ""
+         function
            (\ _ _ [list] -> fromJSVal list >>= \ list' -> callback list'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryListListener Mozilla MediaQueryListListener documentation> 
@@ -32,7 +33,7 @@
 newMediaQueryListListenerSync callback
   = liftDOM
       (MediaQueryListListener . Callback <$>
-         function ""
+         function
            (\ _ _ [list] -> fromJSVal list >>= \ list' -> callback list'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryListListener Mozilla MediaQueryListListener documentation> 
@@ -42,5 +43,5 @@
 newMediaQueryListListenerAsync callback
   = liftDOM
       (MediaQueryListListener . Callback <$>
-         function ""
+         function
            (\ _ _ [list] -> fromJSVal list >>= \ list' -> callback list'))
diff --git a/src/JSDOM/Generated/MediaSource.hs b/src/JSDOM/Generated/MediaSource.hs
--- a/src/JSDOM/Generated/MediaSource.hs
+++ b/src/JSDOM/Generated/MediaSource.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaSource
        (newMediaSource, addSourceBuffer, removeSourceBuffer, endOfStream,
         isTypeSupported, getSourceBuffers, getActiveSourceBuffers,
diff --git a/src/JSDOM/Generated/MediaSourceStates.hs b/src/JSDOM/Generated/MediaSourceStates.hs
--- a/src/JSDOM/Generated/MediaSourceStates.hs
+++ b/src/JSDOM/Generated/MediaSourceStates.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaSourceStates
        (getSourceType, getSourceId, getWidth, getHeight, getFrameRate,
         getAspectRatio, getFacingMode, getVolume, MediaSourceStates,
diff --git a/src/JSDOM/Generated/MediaStream.hs b/src/JSDOM/Generated/MediaStream.hs
--- a/src/JSDOM/Generated/MediaStream.hs
+++ b/src/JSDOM/Generated/MediaStream.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStream
        (newMediaStream, newMediaStream', newMediaStream'', getAudioTracks,
         getVideoTracks, getTracks, addTrack, removeTrack, getTrackById,
diff --git a/src/JSDOM/Generated/MediaStreamAudioDestinationNode.hs b/src/JSDOM/Generated/MediaStreamAudioDestinationNode.hs
--- a/src/JSDOM/Generated/MediaStreamAudioDestinationNode.hs
+++ b/src/JSDOM/Generated/MediaStreamAudioDestinationNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStreamAudioDestinationNode
        (getStream, MediaStreamAudioDestinationNode,
         castToMediaStreamAudioDestinationNode,
diff --git a/src/JSDOM/Generated/MediaStreamAudioSourceNode.hs b/src/JSDOM/Generated/MediaStreamAudioSourceNode.hs
--- a/src/JSDOM/Generated/MediaStreamAudioSourceNode.hs
+++ b/src/JSDOM/Generated/MediaStreamAudioSourceNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStreamAudioSourceNode
        (getMediaStream, MediaStreamAudioSourceNode,
         castToMediaStreamAudioSourceNode, gTypeMediaStreamAudioSourceNode)
diff --git a/src/JSDOM/Generated/MediaStreamEvent.hs b/src/JSDOM/Generated/MediaStreamEvent.hs
--- a/src/JSDOM/Generated/MediaStreamEvent.hs
+++ b/src/JSDOM/Generated/MediaStreamEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStreamEvent
        (getStream, MediaStreamEvent, castToMediaStreamEvent,
         gTypeMediaStreamEvent)
diff --git a/src/JSDOM/Generated/MediaStreamTrack.hs b/src/JSDOM/Generated/MediaStreamTrack.hs
--- a/src/JSDOM/Generated/MediaStreamTrack.hs
+++ b/src/JSDOM/Generated/MediaStreamTrack.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStreamTrack
        (getSources, getConstraints, states, getCapabilities,
         applyConstraints, clone, stop, getKind, getId, getLabel,
diff --git a/src/JSDOM/Generated/MediaStreamTrackEvent.hs b/src/JSDOM/Generated/MediaStreamTrackEvent.hs
--- a/src/JSDOM/Generated/MediaStreamTrackEvent.hs
+++ b/src/JSDOM/Generated/MediaStreamTrackEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStreamTrackEvent
        (getTrack, MediaStreamTrackEvent, castToMediaStreamTrackEvent,
         gTypeMediaStreamTrackEvent)
diff --git a/src/JSDOM/Generated/MediaStreamTrackSourcesCallback.hs b/src/JSDOM/Generated/MediaStreamTrackSourcesCallback.hs
--- a/src/JSDOM/Generated/MediaStreamTrackSourcesCallback.hs
+++ b/src/JSDOM/Generated/MediaStreamTrackSourcesCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaStreamTrackSourcesCallback
        (newMediaStreamTrackSourcesCallback,
         newMediaStreamTrackSourcesCallbackSync,
@@ -25,7 +26,7 @@
 newMediaStreamTrackSourcesCallback callback
   = liftDOM
       (MediaStreamTrackSourcesCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [sources] ->
               fromJSArray sources >>= \ sources' -> callback sources'))
 
@@ -37,7 +38,7 @@
 newMediaStreamTrackSourcesCallbackSync callback
   = liftDOM
       (MediaStreamTrackSourcesCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [sources] ->
               fromJSArray sources >>= \ sources' -> callback sources'))
 
@@ -49,6 +50,6 @@
 newMediaStreamTrackSourcesCallbackAsync callback
   = liftDOM
       (MediaStreamTrackSourcesCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [sources] ->
               fromJSArray sources >>= \ sources' -> callback sources'))
diff --git a/src/JSDOM/Generated/MediaTrackConstraints.hs b/src/JSDOM/Generated/MediaTrackConstraints.hs
--- a/src/JSDOM/Generated/MediaTrackConstraints.hs
+++ b/src/JSDOM/Generated/MediaTrackConstraints.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MediaTrackConstraints
        (getMandatory, getOptional, MediaTrackConstraints,
         castToMediaTrackConstraints, gTypeMediaTrackConstraints)
diff --git a/src/JSDOM/Generated/MemoryInfo.hs b/src/JSDOM/Generated/MemoryInfo.hs
--- a/src/JSDOM/Generated/MemoryInfo.hs
+++ b/src/JSDOM/Generated/MemoryInfo.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MemoryInfo
        (getUsedJSHeapSize, getTotalJSHeapSize, MemoryInfo,
         castToMemoryInfo, gTypeMemoryInfo)
diff --git a/src/JSDOM/Generated/MessageChannel.hs b/src/JSDOM/Generated/MessageChannel.hs
--- a/src/JSDOM/Generated/MessageChannel.hs
+++ b/src/JSDOM/Generated/MessageChannel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MessageChannel
        (newMessageChannel, getPort1, getPort2, MessageChannel,
         castToMessageChannel, gTypeMessageChannel)
diff --git a/src/JSDOM/Generated/MessageEvent.hs b/src/JSDOM/Generated/MessageEvent.hs
--- a/src/JSDOM/Generated/MessageEvent.hs
+++ b/src/JSDOM/Generated/MessageEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MessageEvent
        (initMessageEvent, webkitInitMessageEvent, getOrigin,
         getLastEventId, getSource, getData, getPorts, MessageEvent,
diff --git a/src/JSDOM/Generated/MessagePort.hs b/src/JSDOM/Generated/MessagePort.hs
--- a/src/JSDOM/Generated/MessagePort.hs
+++ b/src/JSDOM/Generated/MessagePort.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MessagePort
        (postMessage, start, close, message, MessagePort,
         castToMessagePort, gTypeMessagePort)
diff --git a/src/JSDOM/Generated/MimeType.hs b/src/JSDOM/Generated/MimeType.hs
--- a/src/JSDOM/Generated/MimeType.hs
+++ b/src/JSDOM/Generated/MimeType.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MimeType
        (getType, getSuffixes, getDescription, getEnabledPlugin, MimeType,
         castToMimeType, gTypeMimeType)
diff --git a/src/JSDOM/Generated/MimeTypeArray.hs b/src/JSDOM/Generated/MimeTypeArray.hs
--- a/src/JSDOM/Generated/MimeTypeArray.hs
+++ b/src/JSDOM/Generated/MimeTypeArray.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MimeTypeArray
        (item, namedItem, getLength, MimeTypeArray, castToMimeTypeArray,
         gTypeMimeTypeArray)
diff --git a/src/JSDOM/Generated/MouseEvent.hs b/src/JSDOM/Generated/MouseEvent.hs
--- a/src/JSDOM/Generated/MouseEvent.hs
+++ b/src/JSDOM/Generated/MouseEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MouseEvent
        (initMouseEvent, getScreenX, getScreenY, getClientX, getClientY,
         getCtrlKey, getShiftKey, getAltKey, getMetaKey, getButton,
diff --git a/src/JSDOM/Generated/MutationEvent.hs b/src/JSDOM/Generated/MutationEvent.hs
--- a/src/JSDOM/Generated/MutationEvent.hs
+++ b/src/JSDOM/Generated/MutationEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MutationEvent
        (initMutationEvent, pattern MODIFICATION, pattern ADDITION,
         pattern REMOVAL, getRelatedNode, getPrevValue, getNewValue,
diff --git a/src/JSDOM/Generated/MutationObserver.hs b/src/JSDOM/Generated/MutationObserver.hs
--- a/src/JSDOM/Generated/MutationObserver.hs
+++ b/src/JSDOM/Generated/MutationObserver.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MutationObserver
        (newMutationObserver, observe, takeRecords, disconnect,
         MutationObserver, castToMutationObserver, gTypeMutationObserver)
diff --git a/src/JSDOM/Generated/MutationRecord.hs b/src/JSDOM/Generated/MutationRecord.hs
--- a/src/JSDOM/Generated/MutationRecord.hs
+++ b/src/JSDOM/Generated/MutationRecord.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.MutationRecord
        (getType, getTarget, getAddedNodes, getRemovedNodes,
         getPreviousSibling, getNextSibling, getAttributeName,
diff --git a/src/JSDOM/Generated/NamedNodeMap.hs b/src/JSDOM/Generated/NamedNodeMap.hs
--- a/src/JSDOM/Generated/NamedNodeMap.hs
+++ b/src/JSDOM/Generated/NamedNodeMap.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NamedNodeMap
        (getNamedItem, setNamedItem, removeNamedItem, item, getNamedItemNS,
         setNamedItemNS, removeNamedItemNS, getLength, NamedNodeMap,
diff --git a/src/JSDOM/Generated/Navigator.hs b/src/JSDOM/Generated/Navigator.hs
--- a/src/JSDOM/Generated/Navigator.hs
+++ b/src/JSDOM/Generated/Navigator.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Navigator
        (getGamepads, webkitGetUserMedia, registerProtocolHandler,
         isProtocolHandlerRegistered, unregisterProtocolHandler,
diff --git a/src/JSDOM/Generated/NavigatorUserMediaError.hs b/src/JSDOM/Generated/NavigatorUserMediaError.hs
--- a/src/JSDOM/Generated/NavigatorUserMediaError.hs
+++ b/src/JSDOM/Generated/NavigatorUserMediaError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NavigatorUserMediaError
        (getConstraintName, NavigatorUserMediaError,
         castToNavigatorUserMediaError, gTypeNavigatorUserMediaError)
diff --git a/src/JSDOM/Generated/NavigatorUserMediaErrorCallback.hs b/src/JSDOM/Generated/NavigatorUserMediaErrorCallback.hs
--- a/src/JSDOM/Generated/NavigatorUserMediaErrorCallback.hs
+++ b/src/JSDOM/Generated/NavigatorUserMediaErrorCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NavigatorUserMediaErrorCallback
        (newNavigatorUserMediaErrorCallback,
         newNavigatorUserMediaErrorCallbackSync,
@@ -25,7 +26,7 @@
 newNavigatorUserMediaErrorCallback callback
   = liftDOM
       (NavigatorUserMediaErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUserMediaErrorCallback Mozilla NavigatorUserMediaErrorCallback documentation> 
@@ -36,7 +37,7 @@
 newNavigatorUserMediaErrorCallbackSync callback
   = liftDOM
       (NavigatorUserMediaErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NavigatorUserMediaErrorCallback Mozilla NavigatorUserMediaErrorCallback documentation> 
@@ -47,5 +48,5 @@
 newNavigatorUserMediaErrorCallbackAsync callback
   = liftDOM
       (NavigatorUserMediaErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
diff --git a/src/JSDOM/Generated/NavigatorUserMediaSuccessCallback.hs b/src/JSDOM/Generated/NavigatorUserMediaSuccessCallback.hs
--- a/src/JSDOM/Generated/NavigatorUserMediaSuccessCallback.hs
+++ b/src/JSDOM/Generated/NavigatorUserMediaSuccessCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NavigatorUserMediaSuccessCallback
        (newNavigatorUserMediaSuccessCallback,
         newNavigatorUserMediaSuccessCallbackSync,
@@ -25,7 +26,7 @@
 newNavigatorUserMediaSuccessCallback callback
   = liftDOM
       (NavigatorUserMediaSuccessCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [stream] ->
               fromJSVal stream >>= \ stream' -> callback stream'))
 
@@ -37,7 +38,7 @@
 newNavigatorUserMediaSuccessCallbackSync callback
   = liftDOM
       (NavigatorUserMediaSuccessCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [stream] ->
               fromJSVal stream >>= \ stream' -> callback stream'))
 
@@ -49,6 +50,6 @@
 newNavigatorUserMediaSuccessCallbackAsync callback
   = liftDOM
       (NavigatorUserMediaSuccessCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [stream] ->
               fromJSVal stream >>= \ stream' -> callback stream'))
diff --git a/src/JSDOM/Generated/Node.hs b/src/JSDOM/Generated/Node.hs
--- a/src/JSDOM/Generated/Node.hs
+++ b/src/JSDOM/Generated/Node.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Node
        (insertBefore, replaceChild, removeChild, appendChild,
         hasChildNodes, cloneNode, normalize, isSupported, isSameNode,
diff --git a/src/JSDOM/Generated/NodeFilter.hs b/src/JSDOM/Generated/NodeFilter.hs
--- a/src/JSDOM/Generated/NodeFilter.hs
+++ b/src/JSDOM/Generated/NodeFilter.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NodeFilter
        (acceptNode, pattern FILTER_ACCEPT, pattern FILTER_REJECT,
         pattern FILTER_SKIP, pattern SHOW_ALL, pattern SHOW_ELEMENT,
diff --git a/src/JSDOM/Generated/NodeIterator.hs b/src/JSDOM/Generated/NodeIterator.hs
--- a/src/JSDOM/Generated/NodeIterator.hs
+++ b/src/JSDOM/Generated/NodeIterator.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NodeIterator
        (nextNode, previousNode, detach, getRoot, getWhatToShow, getFilter,
         getExpandEntityReferences, getReferenceNode,
diff --git a/src/JSDOM/Generated/NodeList.hs b/src/JSDOM/Generated/NodeList.hs
--- a/src/JSDOM/Generated/NodeList.hs
+++ b/src/JSDOM/Generated/NodeList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NodeList
        (item, getLength, NodeList, castToNodeList, gTypeNodeList,
         IsNodeList, toNodeList)
diff --git a/src/JSDOM/Generated/Notification.hs b/src/JSDOM/Generated/Notification.hs
--- a/src/JSDOM/Generated/Notification.hs
+++ b/src/JSDOM/Generated/Notification.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Notification
        (show, showEvent, error, close, click, Notification,
         castToNotification, gTypeNotification)
@@ -28,7 +29,7 @@
 error = unsafeEventName (toJSString "error")
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Notification.onclose Mozilla Notification.onclose documentation> 
-close :: EventName Notification Event
+close :: EventName Notification CloseEvent
 close = unsafeEventName (toJSString "close")
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Notification.onclick Mozilla Notification.onclick documentation> 
diff --git a/src/JSDOM/Generated/NotificationCenter.hs b/src/JSDOM/Generated/NotificationCenter.hs
--- a/src/JSDOM/Generated/NotificationCenter.hs
+++ b/src/JSDOM/Generated/NotificationCenter.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NotificationCenter
        (createNotification, checkPermission, requestPermission,
         NotificationCenter, castToNotificationCenter,
diff --git a/src/JSDOM/Generated/NotificationPermissionCallback.hs b/src/JSDOM/Generated/NotificationPermissionCallback.hs
--- a/src/JSDOM/Generated/NotificationPermissionCallback.hs
+++ b/src/JSDOM/Generated/NotificationPermissionCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.NotificationPermissionCallback
        (newNotificationPermissionCallback,
         newNotificationPermissionCallbackSync,
@@ -25,7 +26,7 @@
 newNotificationPermissionCallback callback
   = liftDOM
       (NotificationPermissionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [permission] ->
               fromJSValUnchecked permission >>=
                 \ permission' -> callback permission'))
@@ -38,7 +39,7 @@
 newNotificationPermissionCallbackSync callback
   = liftDOM
       (NotificationPermissionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [permission] ->
               fromJSValUnchecked permission >>=
                 \ permission' -> callback permission'))
@@ -51,7 +52,7 @@
 newNotificationPermissionCallbackAsync callback
   = liftDOM
       (NotificationPermissionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [permission] ->
               fromJSValUnchecked permission >>=
                 \ permission' -> callback permission'))
diff --git a/src/JSDOM/Generated/OESStandardDerivatives.hs b/src/JSDOM/Generated/OESStandardDerivatives.hs
--- a/src/JSDOM/Generated/OESStandardDerivatives.hs
+++ b/src/JSDOM/Generated/OESStandardDerivatives.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OESStandardDerivatives
        (pattern FRAGMENT_SHADER_DERIVATIVE_HINT_OES,
         OESStandardDerivatives, castToOESStandardDerivatives,
diff --git a/src/JSDOM/Generated/OESTextureHalfFloat.hs b/src/JSDOM/Generated/OESTextureHalfFloat.hs
--- a/src/JSDOM/Generated/OESTextureHalfFloat.hs
+++ b/src/JSDOM/Generated/OESTextureHalfFloat.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OESTextureHalfFloat
        (pattern HALF_FLOAT_OES, OESTextureHalfFloat,
         castToOESTextureHalfFloat, gTypeOESTextureHalfFloat)
diff --git a/src/JSDOM/Generated/OESVertexArrayObject.hs b/src/JSDOM/Generated/OESVertexArrayObject.hs
--- a/src/JSDOM/Generated/OESVertexArrayObject.hs
+++ b/src/JSDOM/Generated/OESVertexArrayObject.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OESVertexArrayObject
        (createVertexArrayOES, deleteVertexArrayOES, isVertexArrayOES,
         bindVertexArrayOES, pattern VERTEX_ARRAY_BINDING_OES,
diff --git a/src/JSDOM/Generated/OfflineAudioCompletionEvent.hs b/src/JSDOM/Generated/OfflineAudioCompletionEvent.hs
--- a/src/JSDOM/Generated/OfflineAudioCompletionEvent.hs
+++ b/src/JSDOM/Generated/OfflineAudioCompletionEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OfflineAudioCompletionEvent
        (getRenderedBuffer, OfflineAudioCompletionEvent,
         castToOfflineAudioCompletionEvent,
diff --git a/src/JSDOM/Generated/OfflineAudioContext.hs b/src/JSDOM/Generated/OfflineAudioContext.hs
--- a/src/JSDOM/Generated/OfflineAudioContext.hs
+++ b/src/JSDOM/Generated/OfflineAudioContext.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OfflineAudioContext
        (newOfflineAudioContext, OfflineAudioContext,
         castToOfflineAudioContext, gTypeOfflineAudioContext)
diff --git a/src/JSDOM/Generated/OscillatorNode.hs b/src/JSDOM/Generated/OscillatorNode.hs
--- a/src/JSDOM/Generated/OscillatorNode.hs
+++ b/src/JSDOM/Generated/OscillatorNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OscillatorNode
        (start, stop, noteOn, noteOff, setPeriodicWave, pattern SINE,
         pattern SQUARE, pattern SAWTOOTH, pattern TRIANGLE, pattern CUSTOM,
diff --git a/src/JSDOM/Generated/OverflowEvent.hs b/src/JSDOM/Generated/OverflowEvent.hs
--- a/src/JSDOM/Generated/OverflowEvent.hs
+++ b/src/JSDOM/Generated/OverflowEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.OverflowEvent
        (pattern HORIZONTAL, pattern VERTICAL, pattern BOTH, getOrient,
         getHorizontalOverflow, getVerticalOverflow, OverflowEvent,
diff --git a/src/JSDOM/Generated/PageTransitionEvent.hs b/src/JSDOM/Generated/PageTransitionEvent.hs
--- a/src/JSDOM/Generated/PageTransitionEvent.hs
+++ b/src/JSDOM/Generated/PageTransitionEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PageTransitionEvent
        (getPersisted, PageTransitionEvent, castToPageTransitionEvent,
         gTypePageTransitionEvent)
diff --git a/src/JSDOM/Generated/PannerNode.hs b/src/JSDOM/Generated/PannerNode.hs
--- a/src/JSDOM/Generated/PannerNode.hs
+++ b/src/JSDOM/Generated/PannerNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PannerNode
        (setPosition, setOrientation, setVelocity, pattern EQUALPOWER,
         pattern HRTF, pattern SOUNDFIELD, pattern LINEAR_DISTANCE,
diff --git a/src/JSDOM/Generated/Path2D.hs b/src/JSDOM/Generated/Path2D.hs
--- a/src/JSDOM/Generated/Path2D.hs
+++ b/src/JSDOM/Generated/Path2D.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Path2D
        (newPath2D, newPath2D', newPath2D'', addPath, closePath, moveTo,
         lineTo, quadraticCurveTo, bezierCurveTo, arcTo, rect, arc, Path2D,
diff --git a/src/JSDOM/Generated/Performance.hs b/src/JSDOM/Generated/Performance.hs
--- a/src/JSDOM/Generated/Performance.hs
+++ b/src/JSDOM/Generated/Performance.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Performance
        (webkitGetEntries, webkitGetEntriesByType, webkitGetEntriesByName,
         webkitClearResourceTimings, webkitSetResourceTimingBufferSize,
diff --git a/src/JSDOM/Generated/PerformanceEntry.hs b/src/JSDOM/Generated/PerformanceEntry.hs
--- a/src/JSDOM/Generated/PerformanceEntry.hs
+++ b/src/JSDOM/Generated/PerformanceEntry.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PerformanceEntry
        (getName, getEntryType, getStartTime, getDuration,
         PerformanceEntry, castToPerformanceEntry, gTypePerformanceEntry,
diff --git a/src/JSDOM/Generated/PerformanceEntryList.hs b/src/JSDOM/Generated/PerformanceEntryList.hs
--- a/src/JSDOM/Generated/PerformanceEntryList.hs
+++ b/src/JSDOM/Generated/PerformanceEntryList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PerformanceEntryList
        (item, getLength, PerformanceEntryList, castToPerformanceEntryList,
         gTypePerformanceEntryList)
diff --git a/src/JSDOM/Generated/PerformanceNavigation.hs b/src/JSDOM/Generated/PerformanceNavigation.hs
--- a/src/JSDOM/Generated/PerformanceNavigation.hs
+++ b/src/JSDOM/Generated/PerformanceNavigation.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PerformanceNavigation
        (pattern TYPE_NAVIGATE, pattern TYPE_RELOAD,
         pattern TYPE_BACK_FORWARD, pattern TYPE_RESERVED, getType,
diff --git a/src/JSDOM/Generated/PerformanceResourceTiming.hs b/src/JSDOM/Generated/PerformanceResourceTiming.hs
--- a/src/JSDOM/Generated/PerformanceResourceTiming.hs
+++ b/src/JSDOM/Generated/PerformanceResourceTiming.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PerformanceResourceTiming
        (getInitiatorType, getRedirectStart, getRedirectEnd, getFetchStart,
         getDomainLookupStart, getDomainLookupEnd, getConnectStart,
diff --git a/src/JSDOM/Generated/PerformanceTiming.hs b/src/JSDOM/Generated/PerformanceTiming.hs
--- a/src/JSDOM/Generated/PerformanceTiming.hs
+++ b/src/JSDOM/Generated/PerformanceTiming.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PerformanceTiming
        (getNavigationStart, getUnloadEventStart, getUnloadEventEnd,
         getRedirectStart, getRedirectEnd, getFetchStart,
diff --git a/src/JSDOM/Generated/Plugin.hs b/src/JSDOM/Generated/Plugin.hs
--- a/src/JSDOM/Generated/Plugin.hs
+++ b/src/JSDOM/Generated/Plugin.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Plugin
        (item, namedItem, getName, getFilename, getDescription, getLength,
         Plugin, castToPlugin, gTypePlugin)
diff --git a/src/JSDOM/Generated/PluginArray.hs b/src/JSDOM/Generated/PluginArray.hs
--- a/src/JSDOM/Generated/PluginArray.hs
+++ b/src/JSDOM/Generated/PluginArray.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PluginArray
        (item, namedItem, refresh, getLength, PluginArray,
         castToPluginArray, gTypePluginArray)
diff --git a/src/JSDOM/Generated/PopStateEvent.hs b/src/JSDOM/Generated/PopStateEvent.hs
--- a/src/JSDOM/Generated/PopStateEvent.hs
+++ b/src/JSDOM/Generated/PopStateEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PopStateEvent
        (getState, PopStateEvent, castToPopStateEvent, gTypePopStateEvent)
        where
diff --git a/src/JSDOM/Generated/PositionCallback.hs b/src/JSDOM/Generated/PositionCallback.hs
--- a/src/JSDOM/Generated/PositionCallback.hs
+++ b/src/JSDOM/Generated/PositionCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PositionCallback
        (newPositionCallback, newPositionCallbackSync,
         newPositionCallbackAsync, PositionCallback)
@@ -21,7 +22,7 @@
 newPositionCallback callback
   = liftDOM
       (PositionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [position] ->
               fromJSVal position >>= \ position' -> callback position'))
 
@@ -31,7 +32,7 @@
 newPositionCallbackSync callback
   = liftDOM
       (PositionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [position] ->
               fromJSVal position >>= \ position' -> callback position'))
 
@@ -41,6 +42,6 @@
 newPositionCallbackAsync callback
   = liftDOM
       (PositionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [position] ->
               fromJSVal position >>= \ position' -> callback position'))
diff --git a/src/JSDOM/Generated/PositionError.hs b/src/JSDOM/Generated/PositionError.hs
--- a/src/JSDOM/Generated/PositionError.hs
+++ b/src/JSDOM/Generated/PositionError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PositionError
        (pattern PERMISSION_DENIED, pattern POSITION_UNAVAILABLE,
         pattern TIMEOUT, getCode, getMessage, PositionError,
diff --git a/src/JSDOM/Generated/PositionErrorCallback.hs b/src/JSDOM/Generated/PositionErrorCallback.hs
--- a/src/JSDOM/Generated/PositionErrorCallback.hs
+++ b/src/JSDOM/Generated/PositionErrorCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.PositionErrorCallback
        (newPositionErrorCallback, newPositionErrorCallbackSync,
         newPositionErrorCallbackAsync, PositionErrorCallback)
@@ -22,7 +23,7 @@
 newPositionErrorCallback callback
   = liftDOM
       (PositionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/PositionErrorCallback Mozilla PositionErrorCallback documentation> 
@@ -32,7 +33,7 @@
 newPositionErrorCallbackSync callback
   = liftDOM
       (PositionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/PositionErrorCallback Mozilla PositionErrorCallback documentation> 
@@ -42,5 +43,5 @@
 newPositionErrorCallbackAsync callback
   = liftDOM
       (PositionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
diff --git a/src/JSDOM/Generated/ProcessingInstruction.hs b/src/JSDOM/Generated/ProcessingInstruction.hs
--- a/src/JSDOM/Generated/ProcessingInstruction.hs
+++ b/src/JSDOM/Generated/ProcessingInstruction.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ProcessingInstruction
        (getTarget, getSheet, ProcessingInstruction,
         castToProcessingInstruction, gTypeProcessingInstruction)
diff --git a/src/JSDOM/Generated/ProgressEvent.hs b/src/JSDOM/Generated/ProgressEvent.hs
--- a/src/JSDOM/Generated/ProgressEvent.hs
+++ b/src/JSDOM/Generated/ProgressEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ProgressEvent
        (getLengthComputable, getLoaded, getTotal, ProgressEvent,
         castToProgressEvent, gTypeProgressEvent, IsProgressEvent,
diff --git a/src/JSDOM/Generated/QuickTimePluginReplacement.hs b/src/JSDOM/Generated/QuickTimePluginReplacement.hs
--- a/src/JSDOM/Generated/QuickTimePluginReplacement.hs
+++ b/src/JSDOM/Generated/QuickTimePluginReplacement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.QuickTimePluginReplacement
        (postEvent, getMovieSize, getTimedMetaData, getAccessLog,
         getErrorLog, QuickTimePluginReplacement,
diff --git a/src/JSDOM/Generated/RGBColor.hs b/src/JSDOM/Generated/RGBColor.hs
--- a/src/JSDOM/Generated/RGBColor.hs
+++ b/src/JSDOM/Generated/RGBColor.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RGBColor
        (getRed, getGreen, getBlue, RGBColor, castToRGBColor,
         gTypeRGBColor)
diff --git a/src/JSDOM/Generated/RTCConfiguration.hs b/src/JSDOM/Generated/RTCConfiguration.hs
--- a/src/JSDOM/Generated/RTCConfiguration.hs
+++ b/src/JSDOM/Generated/RTCConfiguration.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCConfiguration
        (getIceServers, getIceTransports, getRequestIdentity,
         RTCConfiguration, castToRTCConfiguration, gTypeRTCConfiguration)
diff --git a/src/JSDOM/Generated/RTCDTMFSender.hs b/src/JSDOM/Generated/RTCDTMFSender.hs
--- a/src/JSDOM/Generated/RTCDTMFSender.hs
+++ b/src/JSDOM/Generated/RTCDTMFSender.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCDTMFSender
        (insertDTMF, getCanInsertDTMF, getTrack, getToneBuffer,
         getDuration, getInterToneGap, toneChange, RTCDTMFSender,
diff --git a/src/JSDOM/Generated/RTCDTMFToneChangeEvent.hs b/src/JSDOM/Generated/RTCDTMFToneChangeEvent.hs
--- a/src/JSDOM/Generated/RTCDTMFToneChangeEvent.hs
+++ b/src/JSDOM/Generated/RTCDTMFToneChangeEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCDTMFToneChangeEvent
        (getTone, RTCDTMFToneChangeEvent, castToRTCDTMFToneChangeEvent,
         gTypeRTCDTMFToneChangeEvent)
diff --git a/src/JSDOM/Generated/RTCDataChannel.hs b/src/JSDOM/Generated/RTCDataChannel.hs
--- a/src/JSDOM/Generated/RTCDataChannel.hs
+++ b/src/JSDOM/Generated/RTCDataChannel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCDataChannel
        (send, sendView, sendBlob, sendString, close, getLabel, getOrdered,
         getMaxRetransmitTime, getMaxRetransmits, getProtocol,
@@ -119,7 +120,7 @@
 error = unsafeEventName (toJSString "error")
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel.onclose Mozilla RTCDataChannel.onclose documentation> 
-closeEvent :: EventName RTCDataChannel Event
+closeEvent :: EventName RTCDataChannel CloseEvent
 closeEvent = unsafeEventName (toJSString "close")
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel.onmessage Mozilla RTCDataChannel.onmessage documentation> 
diff --git a/src/JSDOM/Generated/RTCDataChannelEvent.hs b/src/JSDOM/Generated/RTCDataChannelEvent.hs
--- a/src/JSDOM/Generated/RTCDataChannelEvent.hs
+++ b/src/JSDOM/Generated/RTCDataChannelEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCDataChannelEvent
        (getChannel, RTCDataChannelEvent, castToRTCDataChannelEvent,
         gTypeRTCDataChannelEvent)
diff --git a/src/JSDOM/Generated/RTCIceCandidate.hs b/src/JSDOM/Generated/RTCIceCandidate.hs
--- a/src/JSDOM/Generated/RTCIceCandidate.hs
+++ b/src/JSDOM/Generated/RTCIceCandidate.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCIceCandidate
        (newRTCIceCandidate, getCandidate, getSdpMid, getSdpMLineIndex,
         RTCIceCandidate, castToRTCIceCandidate, gTypeRTCIceCandidate)
diff --git a/src/JSDOM/Generated/RTCIceCandidateEvent.hs b/src/JSDOM/Generated/RTCIceCandidateEvent.hs
--- a/src/JSDOM/Generated/RTCIceCandidateEvent.hs
+++ b/src/JSDOM/Generated/RTCIceCandidateEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCIceCandidateEvent
        (getCandidate, RTCIceCandidateEvent, castToRTCIceCandidateEvent,
         gTypeRTCIceCandidateEvent)
diff --git a/src/JSDOM/Generated/RTCIceServer.hs b/src/JSDOM/Generated/RTCIceServer.hs
--- a/src/JSDOM/Generated/RTCIceServer.hs
+++ b/src/JSDOM/Generated/RTCIceServer.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCIceServer
        (getUrls, getUsername, getCredential, RTCIceServer,
         castToRTCIceServer, gTypeRTCIceServer)
diff --git a/src/JSDOM/Generated/RTCPeerConnection.hs b/src/JSDOM/Generated/RTCPeerConnection.hs
--- a/src/JSDOM/Generated/RTCPeerConnection.hs
+++ b/src/JSDOM/Generated/RTCPeerConnection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCPeerConnection
        (newRTCPeerConnection, createOffer, createAnswer,
         setLocalDescription, setRemoteDescription, updateIce,
diff --git a/src/JSDOM/Generated/RTCPeerConnectionErrorCallback.hs b/src/JSDOM/Generated/RTCPeerConnectionErrorCallback.hs
--- a/src/JSDOM/Generated/RTCPeerConnectionErrorCallback.hs
+++ b/src/JSDOM/Generated/RTCPeerConnectionErrorCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCPeerConnectionErrorCallback
        (newRTCPeerConnectionErrorCallback,
         newRTCPeerConnectionErrorCallbackSync,
@@ -24,7 +25,7 @@
 newRTCPeerConnectionErrorCallback callback
   = liftDOM
       (RTCPeerConnectionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionErrorCallback Mozilla RTCPeerConnectionErrorCallback documentation> 
@@ -35,7 +36,7 @@
 newRTCPeerConnectionErrorCallbackSync callback
   = liftDOM
       (RTCPeerConnectionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionErrorCallback Mozilla RTCPeerConnectionErrorCallback documentation> 
@@ -46,5 +47,5 @@
 newRTCPeerConnectionErrorCallbackAsync callback
   = liftDOM
       (RTCPeerConnectionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
diff --git a/src/JSDOM/Generated/RTCSessionDescription.hs b/src/JSDOM/Generated/RTCSessionDescription.hs
--- a/src/JSDOM/Generated/RTCSessionDescription.hs
+++ b/src/JSDOM/Generated/RTCSessionDescription.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCSessionDescription
        (newRTCSessionDescription, setType, getType, setSdp, getSdp,
         RTCSessionDescription, castToRTCSessionDescription,
diff --git a/src/JSDOM/Generated/RTCSessionDescriptionCallback.hs b/src/JSDOM/Generated/RTCSessionDescriptionCallback.hs
--- a/src/JSDOM/Generated/RTCSessionDescriptionCallback.hs
+++ b/src/JSDOM/Generated/RTCSessionDescriptionCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCSessionDescriptionCallback
        (newRTCSessionDescriptionCallback,
         newRTCSessionDescriptionCallbackSync,
@@ -25,7 +26,7 @@
 newRTCSessionDescriptionCallback callback
   = liftDOM
       (RTCSessionDescriptionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [sdp] -> fromJSVal sdp >>= \ sdp' -> callback sdp'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescriptionCallback Mozilla RTCSessionDescriptionCallback documentation> 
@@ -36,7 +37,7 @@
 newRTCSessionDescriptionCallbackSync callback
   = liftDOM
       (RTCSessionDescriptionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [sdp] -> fromJSVal sdp >>= \ sdp' -> callback sdp'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescriptionCallback Mozilla RTCSessionDescriptionCallback documentation> 
@@ -47,5 +48,5 @@
 newRTCSessionDescriptionCallbackAsync callback
   = liftDOM
       (RTCSessionDescriptionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [sdp] -> fromJSVal sdp >>= \ sdp' -> callback sdp'))
diff --git a/src/JSDOM/Generated/RTCStatsCallback.hs b/src/JSDOM/Generated/RTCStatsCallback.hs
--- a/src/JSDOM/Generated/RTCStatsCallback.hs
+++ b/src/JSDOM/Generated/RTCStatsCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCStatsCallback
        (newRTCStatsCallback, newRTCStatsCallbackSync,
         newRTCStatsCallbackAsync, RTCStatsCallback)
@@ -22,7 +23,7 @@
 newRTCStatsCallback callback
   = liftDOM
       (RTCStatsCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [response] ->
               fromJSVal response >>= \ response' -> callback response'))
 
@@ -33,7 +34,7 @@
 newRTCStatsCallbackSync callback
   = liftDOM
       (RTCStatsCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [response] ->
               fromJSVal response >>= \ response' -> callback response'))
 
@@ -44,6 +45,6 @@
 newRTCStatsCallbackAsync callback
   = liftDOM
       (RTCStatsCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [response] ->
               fromJSVal response >>= \ response' -> callback response'))
diff --git a/src/JSDOM/Generated/RTCStatsReport.hs b/src/JSDOM/Generated/RTCStatsReport.hs
--- a/src/JSDOM/Generated/RTCStatsReport.hs
+++ b/src/JSDOM/Generated/RTCStatsReport.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCStatsReport
        (stat, names, getTimestamp, getId, getType, getLocal, getRemote,
         RTCStatsReport, castToRTCStatsReport, gTypeRTCStatsReport)
diff --git a/src/JSDOM/Generated/RTCStatsResponse.hs b/src/JSDOM/Generated/RTCStatsResponse.hs
--- a/src/JSDOM/Generated/RTCStatsResponse.hs
+++ b/src/JSDOM/Generated/RTCStatsResponse.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RTCStatsResponse
        (result, namedItem, RTCStatsResponse, castToRTCStatsResponse,
         gTypeRTCStatsResponse)
diff --git a/src/JSDOM/Generated/RadioNodeList.hs b/src/JSDOM/Generated/RadioNodeList.hs
--- a/src/JSDOM/Generated/RadioNodeList.hs
+++ b/src/JSDOM/Generated/RadioNodeList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RadioNodeList
        (_get, setValue, getValue, RadioNodeList, castToRadioNodeList,
         gTypeRadioNodeList)
diff --git a/src/JSDOM/Generated/Range.hs b/src/JSDOM/Generated/Range.hs
--- a/src/JSDOM/Generated/Range.hs
+++ b/src/JSDOM/Generated/Range.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Range
        (newRange, setStart, setEnd, setStartBefore, setStartAfter,
         setEndBefore, setEndAfter, collapse, selectNode,
diff --git a/src/JSDOM/Generated/ReadableStream.hs b/src/JSDOM/Generated/ReadableStream.hs
--- a/src/JSDOM/Generated/ReadableStream.hs
+++ b/src/JSDOM/Generated/ReadableStream.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ReadableStream
        (newReadableStream, read, cancel, pipeTo, pipeThrough, getState,
         getClosed, getReady, ReadableStream, castToReadableStream,
diff --git a/src/JSDOM/Generated/Rect.hs b/src/JSDOM/Generated/Rect.hs
--- a/src/JSDOM/Generated/Rect.hs
+++ b/src/JSDOM/Generated/Rect.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Rect
        (getTop, getRight, getBottom, getLeft, Rect, castToRect, gTypeRect)
        where
diff --git a/src/JSDOM/Generated/RequestAnimationFrameCallback.hs b/src/JSDOM/Generated/RequestAnimationFrameCallback.hs
--- a/src/JSDOM/Generated/RequestAnimationFrameCallback.hs
+++ b/src/JSDOM/Generated/RequestAnimationFrameCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.RequestAnimationFrameCallback
        (newRequestAnimationFrameCallback,
         newRequestAnimationFrameCallbackSync,
@@ -24,7 +25,7 @@
 newRequestAnimationFrameCallback callback
   = liftDOM
       (RequestAnimationFrameCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [highResTime] ->
               fromJSValUnchecked highResTime >>=
                 \ highResTime' -> callback highResTime'))
@@ -36,7 +37,7 @@
 newRequestAnimationFrameCallbackSync callback
   = liftDOM
       (RequestAnimationFrameCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [highResTime] ->
               fromJSValUnchecked highResTime >>=
                 \ highResTime' -> callback highResTime'))
@@ -48,7 +49,7 @@
 newRequestAnimationFrameCallbackAsync callback
   = liftDOM
       (RequestAnimationFrameCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [highResTime] ->
               fromJSValUnchecked highResTime >>=
                 \ highResTime' -> callback highResTime'))
diff --git a/src/JSDOM/Generated/SQLError.hs b/src/JSDOM/Generated/SQLError.hs
--- a/src/JSDOM/Generated/SQLError.hs
+++ b/src/JSDOM/Generated/SQLError.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLError
        (pattern UNKNOWN_ERR, pattern DATABASE_ERR, pattern VERSION_ERR,
         pattern TOO_LARGE_ERR, pattern QUOTA_ERR, pattern SYNTAX_ERR,
diff --git a/src/JSDOM/Generated/SQLResultSet.hs b/src/JSDOM/Generated/SQLResultSet.hs
--- a/src/JSDOM/Generated/SQLResultSet.hs
+++ b/src/JSDOM/Generated/SQLResultSet.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLResultSet
        (getRows, getInsertId, getRowsAffected, SQLResultSet,
         castToSQLResultSet, gTypeSQLResultSet)
diff --git a/src/JSDOM/Generated/SQLResultSetRowList.hs b/src/JSDOM/Generated/SQLResultSetRowList.hs
--- a/src/JSDOM/Generated/SQLResultSetRowList.hs
+++ b/src/JSDOM/Generated/SQLResultSetRowList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLResultSetRowList
        (item, getLength, SQLResultSetRowList, castToSQLResultSetRowList,
         gTypeSQLResultSetRowList)
diff --git a/src/JSDOM/Generated/SQLStatementCallback.hs b/src/JSDOM/Generated/SQLStatementCallback.hs
--- a/src/JSDOM/Generated/SQLStatementCallback.hs
+++ b/src/JSDOM/Generated/SQLStatementCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLStatementCallback
        (newSQLStatementCallback, newSQLStatementCallbackSync,
         newSQLStatementCallbackAsync, SQLStatementCallback)
@@ -23,7 +24,7 @@
 newSQLStatementCallback callback
   = liftDOM
       (SQLStatementCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction, resultSet] ->
               fromJSVal resultSet >>=
                 \ resultSet' ->
@@ -38,7 +39,7 @@
 newSQLStatementCallbackSync callback
   = liftDOM
       (SQLStatementCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction, resultSet] ->
               fromJSVal resultSet >>=
                 \ resultSet' ->
@@ -53,7 +54,7 @@
 newSQLStatementCallbackAsync callback
   = liftDOM
       (SQLStatementCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction, resultSet] ->
               fromJSVal resultSet >>=
                 \ resultSet' ->
diff --git a/src/JSDOM/Generated/SQLStatementErrorCallback.hs b/src/JSDOM/Generated/SQLStatementErrorCallback.hs
--- a/src/JSDOM/Generated/SQLStatementErrorCallback.hs
+++ b/src/JSDOM/Generated/SQLStatementErrorCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLStatementErrorCallback
        (newSQLStatementErrorCallback, newSQLStatementErrorCallbackSync,
         newSQLStatementErrorCallbackAsync, SQLStatementErrorCallback)
@@ -23,7 +24,7 @@
 newSQLStatementErrorCallback callback
   = liftDOM
       (SQLStatementErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction, error] ->
               fromJSVal error >>=
                 \ error' ->
@@ -38,7 +39,7 @@
 newSQLStatementErrorCallbackSync callback
   = liftDOM
       (SQLStatementErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction, error] ->
               fromJSVal error >>=
                 \ error' ->
@@ -53,7 +54,7 @@
 newSQLStatementErrorCallbackAsync callback
   = liftDOM
       (SQLStatementErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction, error] ->
               fromJSVal error >>=
                 \ error' ->
diff --git a/src/JSDOM/Generated/SQLTransaction.hs b/src/JSDOM/Generated/SQLTransaction.hs
--- a/src/JSDOM/Generated/SQLTransaction.hs
+++ b/src/JSDOM/Generated/SQLTransaction.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLTransaction
        (executeSql, SQLTransaction, castToSQLTransaction,
         gTypeSQLTransaction)
diff --git a/src/JSDOM/Generated/SQLTransactionCallback.hs b/src/JSDOM/Generated/SQLTransactionCallback.hs
--- a/src/JSDOM/Generated/SQLTransactionCallback.hs
+++ b/src/JSDOM/Generated/SQLTransactionCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLTransactionCallback
        (newSQLTransactionCallback, newSQLTransactionCallbackSync,
         newSQLTransactionCallbackAsync, SQLTransactionCallback)
@@ -22,7 +23,7 @@
 newSQLTransactionCallback callback
   = liftDOM
       (SQLTransactionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction] ->
               fromJSVal transaction >>= \ transaction' -> callback transaction'))
 
@@ -33,7 +34,7 @@
 newSQLTransactionCallbackSync callback
   = liftDOM
       (SQLTransactionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction] ->
               fromJSVal transaction >>= \ transaction' -> callback transaction'))
 
@@ -44,6 +45,6 @@
 newSQLTransactionCallbackAsync callback
   = liftDOM
       (SQLTransactionCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [transaction] ->
               fromJSVal transaction >>= \ transaction' -> callback transaction'))
diff --git a/src/JSDOM/Generated/SQLTransactionErrorCallback.hs b/src/JSDOM/Generated/SQLTransactionErrorCallback.hs
--- a/src/JSDOM/Generated/SQLTransactionErrorCallback.hs
+++ b/src/JSDOM/Generated/SQLTransactionErrorCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SQLTransactionErrorCallback
        (newSQLTransactionErrorCallback,
         newSQLTransactionErrorCallbackSync,
@@ -23,7 +24,7 @@
 newSQLTransactionErrorCallback callback
   = liftDOM
       (SQLTransactionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SQLTransactionErrorCallback Mozilla SQLTransactionErrorCallback documentation> 
@@ -33,7 +34,7 @@
 newSQLTransactionErrorCallbackSync callback
   = liftDOM
       (SQLTransactionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SQLTransactionErrorCallback Mozilla SQLTransactionErrorCallback documentation> 
@@ -43,5 +44,5 @@
 newSQLTransactionErrorCallbackAsync callback
   = liftDOM
       (SQLTransactionErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
diff --git a/src/JSDOM/Generated/SVGAElement.hs b/src/JSDOM/Generated/SVGAElement.hs
--- a/src/JSDOM/Generated/SVGAElement.hs
+++ b/src/JSDOM/Generated/SVGAElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAElement
        (getTarget, SVGAElement, castToSVGAElement, gTypeSVGAElement) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/SVGAltGlyphElement.hs b/src/JSDOM/Generated/SVGAltGlyphElement.hs
--- a/src/JSDOM/Generated/SVGAltGlyphElement.hs
+++ b/src/JSDOM/Generated/SVGAltGlyphElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAltGlyphElement
        (setGlyphRef, getGlyphRef, setFormat, getFormat,
         SVGAltGlyphElement, castToSVGAltGlyphElement,
diff --git a/src/JSDOM/Generated/SVGAngle.hs b/src/JSDOM/Generated/SVGAngle.hs
--- a/src/JSDOM/Generated/SVGAngle.hs
+++ b/src/JSDOM/Generated/SVGAngle.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAngle
        (newValueSpecifiedUnits, convertToSpecifiedUnits,
         pattern SVG_ANGLETYPE_UNKNOWN, pattern SVG_ANGLETYPE_UNSPECIFIED,
diff --git a/src/JSDOM/Generated/SVGAnimatedAngle.hs b/src/JSDOM/Generated/SVGAnimatedAngle.hs
--- a/src/JSDOM/Generated/SVGAnimatedAngle.hs
+++ b/src/JSDOM/Generated/SVGAnimatedAngle.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedAngle
        (getBaseVal, getAnimVal, SVGAnimatedAngle, castToSVGAnimatedAngle,
         gTypeSVGAnimatedAngle)
diff --git a/src/JSDOM/Generated/SVGAnimatedBoolean.hs b/src/JSDOM/Generated/SVGAnimatedBoolean.hs
--- a/src/JSDOM/Generated/SVGAnimatedBoolean.hs
+++ b/src/JSDOM/Generated/SVGAnimatedBoolean.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedBoolean
        (setBaseVal, getBaseVal, getAnimVal, SVGAnimatedBoolean,
         castToSVGAnimatedBoolean, gTypeSVGAnimatedBoolean)
diff --git a/src/JSDOM/Generated/SVGAnimatedEnumeration.hs b/src/JSDOM/Generated/SVGAnimatedEnumeration.hs
--- a/src/JSDOM/Generated/SVGAnimatedEnumeration.hs
+++ b/src/JSDOM/Generated/SVGAnimatedEnumeration.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedEnumeration
        (setBaseVal, getBaseVal, getAnimVal, SVGAnimatedEnumeration,
         castToSVGAnimatedEnumeration, gTypeSVGAnimatedEnumeration)
diff --git a/src/JSDOM/Generated/SVGAnimatedInteger.hs b/src/JSDOM/Generated/SVGAnimatedInteger.hs
--- a/src/JSDOM/Generated/SVGAnimatedInteger.hs
+++ b/src/JSDOM/Generated/SVGAnimatedInteger.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedInteger
        (setBaseVal, getBaseVal, getAnimVal, SVGAnimatedInteger,
         castToSVGAnimatedInteger, gTypeSVGAnimatedInteger)
diff --git a/src/JSDOM/Generated/SVGAnimatedLength.hs b/src/JSDOM/Generated/SVGAnimatedLength.hs
--- a/src/JSDOM/Generated/SVGAnimatedLength.hs
+++ b/src/JSDOM/Generated/SVGAnimatedLength.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedLength
        (getBaseVal, getAnimVal, SVGAnimatedLength,
         castToSVGAnimatedLength, gTypeSVGAnimatedLength)
diff --git a/src/JSDOM/Generated/SVGAnimatedLengthList.hs b/src/JSDOM/Generated/SVGAnimatedLengthList.hs
--- a/src/JSDOM/Generated/SVGAnimatedLengthList.hs
+++ b/src/JSDOM/Generated/SVGAnimatedLengthList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedLengthList
        (getBaseVal, getAnimVal, SVGAnimatedLengthList,
         castToSVGAnimatedLengthList, gTypeSVGAnimatedLengthList)
diff --git a/src/JSDOM/Generated/SVGAnimatedNumber.hs b/src/JSDOM/Generated/SVGAnimatedNumber.hs
--- a/src/JSDOM/Generated/SVGAnimatedNumber.hs
+++ b/src/JSDOM/Generated/SVGAnimatedNumber.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedNumber
        (setBaseVal, getBaseVal, getAnimVal, SVGAnimatedNumber,
         castToSVGAnimatedNumber, gTypeSVGAnimatedNumber)
diff --git a/src/JSDOM/Generated/SVGAnimatedNumberList.hs b/src/JSDOM/Generated/SVGAnimatedNumberList.hs
--- a/src/JSDOM/Generated/SVGAnimatedNumberList.hs
+++ b/src/JSDOM/Generated/SVGAnimatedNumberList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedNumberList
        (getBaseVal, getAnimVal, SVGAnimatedNumberList,
         castToSVGAnimatedNumberList, gTypeSVGAnimatedNumberList)
diff --git a/src/JSDOM/Generated/SVGAnimatedPreserveAspectRatio.hs b/src/JSDOM/Generated/SVGAnimatedPreserveAspectRatio.hs
--- a/src/JSDOM/Generated/SVGAnimatedPreserveAspectRatio.hs
+++ b/src/JSDOM/Generated/SVGAnimatedPreserveAspectRatio.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedPreserveAspectRatio
        (getBaseVal, getAnimVal, SVGAnimatedPreserveAspectRatio,
         castToSVGAnimatedPreserveAspectRatio,
diff --git a/src/JSDOM/Generated/SVGAnimatedRect.hs b/src/JSDOM/Generated/SVGAnimatedRect.hs
--- a/src/JSDOM/Generated/SVGAnimatedRect.hs
+++ b/src/JSDOM/Generated/SVGAnimatedRect.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedRect
        (getBaseVal, getAnimVal, SVGAnimatedRect, castToSVGAnimatedRect,
         gTypeSVGAnimatedRect)
diff --git a/src/JSDOM/Generated/SVGAnimatedString.hs b/src/JSDOM/Generated/SVGAnimatedString.hs
--- a/src/JSDOM/Generated/SVGAnimatedString.hs
+++ b/src/JSDOM/Generated/SVGAnimatedString.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedString
        (setBaseVal, getBaseVal, getAnimVal, SVGAnimatedString,
         castToSVGAnimatedString, gTypeSVGAnimatedString)
diff --git a/src/JSDOM/Generated/SVGAnimatedTransformList.hs b/src/JSDOM/Generated/SVGAnimatedTransformList.hs
--- a/src/JSDOM/Generated/SVGAnimatedTransformList.hs
+++ b/src/JSDOM/Generated/SVGAnimatedTransformList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimatedTransformList
        (getBaseVal, getAnimVal, SVGAnimatedTransformList,
         castToSVGAnimatedTransformList, gTypeSVGAnimatedTransformList)
diff --git a/src/JSDOM/Generated/SVGAnimationElement.hs b/src/JSDOM/Generated/SVGAnimationElement.hs
--- a/src/JSDOM/Generated/SVGAnimationElement.hs
+++ b/src/JSDOM/Generated/SVGAnimationElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGAnimationElement
        (getStartTime, getCurrentTime, getSimpleDuration, beginElement,
         beginElementAt, endElement, endElementAt, getTargetElement,
diff --git a/src/JSDOM/Generated/SVGCircleElement.hs b/src/JSDOM/Generated/SVGCircleElement.hs
--- a/src/JSDOM/Generated/SVGCircleElement.hs
+++ b/src/JSDOM/Generated/SVGCircleElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGCircleElement
        (getCx, getCy, getR, SVGCircleElement, castToSVGCircleElement,
         gTypeSVGCircleElement)
diff --git a/src/JSDOM/Generated/SVGClipPathElement.hs b/src/JSDOM/Generated/SVGClipPathElement.hs
--- a/src/JSDOM/Generated/SVGClipPathElement.hs
+++ b/src/JSDOM/Generated/SVGClipPathElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGClipPathElement
        (getClipPathUnits, SVGClipPathElement, castToSVGClipPathElement,
         gTypeSVGClipPathElement)
diff --git a/src/JSDOM/Generated/SVGColor.hs b/src/JSDOM/Generated/SVGColor.hs
--- a/src/JSDOM/Generated/SVGColor.hs
+++ b/src/JSDOM/Generated/SVGColor.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGColor
        (setRGBColor, setRGBColorICCColor, setColor,
         pattern SVG_COLORTYPE_UNKNOWN, pattern SVG_COLORTYPE_RGBCOLOR,
diff --git a/src/JSDOM/Generated/SVGComponentTransferFunctionElement.hs b/src/JSDOM/Generated/SVGComponentTransferFunctionElement.hs
--- a/src/JSDOM/Generated/SVGComponentTransferFunctionElement.hs
+++ b/src/JSDOM/Generated/SVGComponentTransferFunctionElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGComponentTransferFunctionElement
        (pattern SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN,
         pattern SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY,
diff --git a/src/JSDOM/Generated/SVGCursorElement.hs b/src/JSDOM/Generated/SVGCursorElement.hs
--- a/src/JSDOM/Generated/SVGCursorElement.hs
+++ b/src/JSDOM/Generated/SVGCursorElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGCursorElement
        (getX, getY, SVGCursorElement, castToSVGCursorElement,
         gTypeSVGCursorElement)
diff --git a/src/JSDOM/Generated/SVGDocument.hs b/src/JSDOM/Generated/SVGDocument.hs
--- a/src/JSDOM/Generated/SVGDocument.hs
+++ b/src/JSDOM/Generated/SVGDocument.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGDocument
        (createEvent, getRootElement, SVGDocument, castToSVGDocument,
         gTypeSVGDocument)
diff --git a/src/JSDOM/Generated/SVGElement.hs b/src/JSDOM/Generated/SVGElement.hs
--- a/src/JSDOM/Generated/SVGElement.hs
+++ b/src/JSDOM/Generated/SVGElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGElement
        (getPresentationAttribute, setXmlbase, getXmlbase,
         getOwnerSVGElement, getViewportElement, setXmllang, getXmllang,
diff --git a/src/JSDOM/Generated/SVGEllipseElement.hs b/src/JSDOM/Generated/SVGEllipseElement.hs
--- a/src/JSDOM/Generated/SVGEllipseElement.hs
+++ b/src/JSDOM/Generated/SVGEllipseElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGEllipseElement
        (getCx, getCy, getRx, getRy, SVGEllipseElement,
         castToSVGEllipseElement, gTypeSVGEllipseElement)
diff --git a/src/JSDOM/Generated/SVGExternalResourcesRequired.hs b/src/JSDOM/Generated/SVGExternalResourcesRequired.hs
--- a/src/JSDOM/Generated/SVGExternalResourcesRequired.hs
+++ b/src/JSDOM/Generated/SVGExternalResourcesRequired.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGExternalResourcesRequired
        (getExternalResourcesRequired, SVGExternalResourcesRequired,
         castToSVGExternalResourcesRequired,
diff --git a/src/JSDOM/Generated/SVGFEBlendElement.hs b/src/JSDOM/Generated/SVGFEBlendElement.hs
--- a/src/JSDOM/Generated/SVGFEBlendElement.hs
+++ b/src/JSDOM/Generated/SVGFEBlendElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEBlendElement
        (pattern SVG_FEBLEND_MODE_UNKNOWN, pattern SVG_FEBLEND_MODE_NORMAL,
         pattern SVG_FEBLEND_MODE_MULTIPLY, pattern SVG_FEBLEND_MODE_SCREEN,
diff --git a/src/JSDOM/Generated/SVGFEColorMatrixElement.hs b/src/JSDOM/Generated/SVGFEColorMatrixElement.hs
--- a/src/JSDOM/Generated/SVGFEColorMatrixElement.hs
+++ b/src/JSDOM/Generated/SVGFEColorMatrixElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEColorMatrixElement
        (pattern SVG_FECOLORMATRIX_TYPE_UNKNOWN,
         pattern SVG_FECOLORMATRIX_TYPE_MATRIX,
diff --git a/src/JSDOM/Generated/SVGFEComponentTransferElement.hs b/src/JSDOM/Generated/SVGFEComponentTransferElement.hs
--- a/src/JSDOM/Generated/SVGFEComponentTransferElement.hs
+++ b/src/JSDOM/Generated/SVGFEComponentTransferElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEComponentTransferElement
        (getIn1, SVGFEComponentTransferElement,
         castToSVGFEComponentTransferElement,
diff --git a/src/JSDOM/Generated/SVGFECompositeElement.hs b/src/JSDOM/Generated/SVGFECompositeElement.hs
--- a/src/JSDOM/Generated/SVGFECompositeElement.hs
+++ b/src/JSDOM/Generated/SVGFECompositeElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFECompositeElement
        (pattern SVG_FECOMPOSITE_OPERATOR_UNKNOWN,
         pattern SVG_FECOMPOSITE_OPERATOR_OVER,
diff --git a/src/JSDOM/Generated/SVGFEConvolveMatrixElement.hs b/src/JSDOM/Generated/SVGFEConvolveMatrixElement.hs
--- a/src/JSDOM/Generated/SVGFEConvolveMatrixElement.hs
+++ b/src/JSDOM/Generated/SVGFEConvolveMatrixElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEConvolveMatrixElement
        (pattern SVG_EDGEMODE_UNKNOWN, pattern SVG_EDGEMODE_DUPLICATE,
         pattern SVG_EDGEMODE_WRAP, pattern SVG_EDGEMODE_NONE, getIn1,
diff --git a/src/JSDOM/Generated/SVGFEDiffuseLightingElement.hs b/src/JSDOM/Generated/SVGFEDiffuseLightingElement.hs
--- a/src/JSDOM/Generated/SVGFEDiffuseLightingElement.hs
+++ b/src/JSDOM/Generated/SVGFEDiffuseLightingElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEDiffuseLightingElement
        (getIn1, getSurfaceScale, getDiffuseConstant, getKernelUnitLengthX,
         getKernelUnitLengthY, SVGFEDiffuseLightingElement,
diff --git a/src/JSDOM/Generated/SVGFEDisplacementMapElement.hs b/src/JSDOM/Generated/SVGFEDisplacementMapElement.hs
--- a/src/JSDOM/Generated/SVGFEDisplacementMapElement.hs
+++ b/src/JSDOM/Generated/SVGFEDisplacementMapElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEDisplacementMapElement
        (pattern SVG_CHANNEL_UNKNOWN, pattern SVG_CHANNEL_R,
         pattern SVG_CHANNEL_G, pattern SVG_CHANNEL_B,
diff --git a/src/JSDOM/Generated/SVGFEDistantLightElement.hs b/src/JSDOM/Generated/SVGFEDistantLightElement.hs
--- a/src/JSDOM/Generated/SVGFEDistantLightElement.hs
+++ b/src/JSDOM/Generated/SVGFEDistantLightElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEDistantLightElement
        (getAzimuth, getElevation, SVGFEDistantLightElement,
         castToSVGFEDistantLightElement, gTypeSVGFEDistantLightElement)
diff --git a/src/JSDOM/Generated/SVGFEDropShadowElement.hs b/src/JSDOM/Generated/SVGFEDropShadowElement.hs
--- a/src/JSDOM/Generated/SVGFEDropShadowElement.hs
+++ b/src/JSDOM/Generated/SVGFEDropShadowElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEDropShadowElement
        (setStdDeviation, getIn1, getDx, getDy, getStdDeviationX,
         getStdDeviationY, SVGFEDropShadowElement,
diff --git a/src/JSDOM/Generated/SVGFEGaussianBlurElement.hs b/src/JSDOM/Generated/SVGFEGaussianBlurElement.hs
--- a/src/JSDOM/Generated/SVGFEGaussianBlurElement.hs
+++ b/src/JSDOM/Generated/SVGFEGaussianBlurElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEGaussianBlurElement
        (setStdDeviation, pattern SVG_EDGEMODE_UNKNOWN,
         pattern SVG_EDGEMODE_DUPLICATE, pattern SVG_EDGEMODE_WRAP,
diff --git a/src/JSDOM/Generated/SVGFEImageElement.hs b/src/JSDOM/Generated/SVGFEImageElement.hs
--- a/src/JSDOM/Generated/SVGFEImageElement.hs
+++ b/src/JSDOM/Generated/SVGFEImageElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEImageElement
        (getPreserveAspectRatio, SVGFEImageElement,
         castToSVGFEImageElement, gTypeSVGFEImageElement)
diff --git a/src/JSDOM/Generated/SVGFEMergeNodeElement.hs b/src/JSDOM/Generated/SVGFEMergeNodeElement.hs
--- a/src/JSDOM/Generated/SVGFEMergeNodeElement.hs
+++ b/src/JSDOM/Generated/SVGFEMergeNodeElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEMergeNodeElement
        (getIn1, SVGFEMergeNodeElement, castToSVGFEMergeNodeElement,
         gTypeSVGFEMergeNodeElement)
diff --git a/src/JSDOM/Generated/SVGFEMorphologyElement.hs b/src/JSDOM/Generated/SVGFEMorphologyElement.hs
--- a/src/JSDOM/Generated/SVGFEMorphologyElement.hs
+++ b/src/JSDOM/Generated/SVGFEMorphologyElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEMorphologyElement
        (setRadius, pattern SVG_MORPHOLOGY_OPERATOR_UNKNOWN,
         pattern SVG_MORPHOLOGY_OPERATOR_ERODE,
diff --git a/src/JSDOM/Generated/SVGFEOffsetElement.hs b/src/JSDOM/Generated/SVGFEOffsetElement.hs
--- a/src/JSDOM/Generated/SVGFEOffsetElement.hs
+++ b/src/JSDOM/Generated/SVGFEOffsetElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEOffsetElement
        (getIn1, getDx, getDy, SVGFEOffsetElement,
         castToSVGFEOffsetElement, gTypeSVGFEOffsetElement)
diff --git a/src/JSDOM/Generated/SVGFEPointLightElement.hs b/src/JSDOM/Generated/SVGFEPointLightElement.hs
--- a/src/JSDOM/Generated/SVGFEPointLightElement.hs
+++ b/src/JSDOM/Generated/SVGFEPointLightElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFEPointLightElement
        (getX, getY, getZ, SVGFEPointLightElement,
         castToSVGFEPointLightElement, gTypeSVGFEPointLightElement)
diff --git a/src/JSDOM/Generated/SVGFESpecularLightingElement.hs b/src/JSDOM/Generated/SVGFESpecularLightingElement.hs
--- a/src/JSDOM/Generated/SVGFESpecularLightingElement.hs
+++ b/src/JSDOM/Generated/SVGFESpecularLightingElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFESpecularLightingElement
        (getIn1, getSurfaceScale, getSpecularConstant, getSpecularExponent,
         SVGFESpecularLightingElement, castToSVGFESpecularLightingElement,
diff --git a/src/JSDOM/Generated/SVGFESpotLightElement.hs b/src/JSDOM/Generated/SVGFESpotLightElement.hs
--- a/src/JSDOM/Generated/SVGFESpotLightElement.hs
+++ b/src/JSDOM/Generated/SVGFESpotLightElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFESpotLightElement
        (getX, getY, getZ, getPointsAtX, getPointsAtY, getPointsAtZ,
         getSpecularExponent, getLimitingConeAngle, SVGFESpotLightElement,
diff --git a/src/JSDOM/Generated/SVGFETileElement.hs b/src/JSDOM/Generated/SVGFETileElement.hs
--- a/src/JSDOM/Generated/SVGFETileElement.hs
+++ b/src/JSDOM/Generated/SVGFETileElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFETileElement
        (getIn1, SVGFETileElement, castToSVGFETileElement,
         gTypeSVGFETileElement)
diff --git a/src/JSDOM/Generated/SVGFETurbulenceElement.hs b/src/JSDOM/Generated/SVGFETurbulenceElement.hs
--- a/src/JSDOM/Generated/SVGFETurbulenceElement.hs
+++ b/src/JSDOM/Generated/SVGFETurbulenceElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFETurbulenceElement
        (pattern SVG_TURBULENCE_TYPE_UNKNOWN,
         pattern SVG_TURBULENCE_TYPE_FRACTALNOISE,
diff --git a/src/JSDOM/Generated/SVGFilterElement.hs b/src/JSDOM/Generated/SVGFilterElement.hs
--- a/src/JSDOM/Generated/SVGFilterElement.hs
+++ b/src/JSDOM/Generated/SVGFilterElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFilterElement
        (setFilterRes, getFilterUnits, getPrimitiveUnits, getX, getY,
         getWidth, getHeight, getFilterResX, getFilterResY,
diff --git a/src/JSDOM/Generated/SVGFilterPrimitiveStandardAttributes.hs b/src/JSDOM/Generated/SVGFilterPrimitiveStandardAttributes.hs
--- a/src/JSDOM/Generated/SVGFilterPrimitiveStandardAttributes.hs
+++ b/src/JSDOM/Generated/SVGFilterPrimitiveStandardAttributes.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFilterPrimitiveStandardAttributes
        (getX, getY, getWidth, getHeight, getResult,
         SVGFilterPrimitiveStandardAttributes,
diff --git a/src/JSDOM/Generated/SVGFitToViewBox.hs b/src/JSDOM/Generated/SVGFitToViewBox.hs
--- a/src/JSDOM/Generated/SVGFitToViewBox.hs
+++ b/src/JSDOM/Generated/SVGFitToViewBox.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGFitToViewBox
        (getViewBox, getPreserveAspectRatio, SVGFitToViewBox,
         castToSVGFitToViewBox, gTypeSVGFitToViewBox)
diff --git a/src/JSDOM/Generated/SVGForeignObjectElement.hs b/src/JSDOM/Generated/SVGForeignObjectElement.hs
--- a/src/JSDOM/Generated/SVGForeignObjectElement.hs
+++ b/src/JSDOM/Generated/SVGForeignObjectElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGForeignObjectElement
        (getX, getY, getWidth, getHeight, SVGForeignObjectElement,
         castToSVGForeignObjectElement, gTypeSVGForeignObjectElement)
diff --git a/src/JSDOM/Generated/SVGGlyphRefElement.hs b/src/JSDOM/Generated/SVGGlyphRefElement.hs
--- a/src/JSDOM/Generated/SVGGlyphRefElement.hs
+++ b/src/JSDOM/Generated/SVGGlyphRefElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGGlyphRefElement
        (setGlyphRef, getGlyphRef, setFormat, getFormat, setX, getX, setY,
         getY, setDx, getDx, setDy, getDy, SVGGlyphRefElement,
diff --git a/src/JSDOM/Generated/SVGGradientElement.hs b/src/JSDOM/Generated/SVGGradientElement.hs
--- a/src/JSDOM/Generated/SVGGradientElement.hs
+++ b/src/JSDOM/Generated/SVGGradientElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGGradientElement
        (pattern SVG_SPREADMETHOD_UNKNOWN, pattern SVG_SPREADMETHOD_PAD,
         pattern SVG_SPREADMETHOD_REFLECT, pattern SVG_SPREADMETHOD_REPEAT,
diff --git a/src/JSDOM/Generated/SVGGraphicsElement.hs b/src/JSDOM/Generated/SVGGraphicsElement.hs
--- a/src/JSDOM/Generated/SVGGraphicsElement.hs
+++ b/src/JSDOM/Generated/SVGGraphicsElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGGraphicsElement
        (getBBox, getCTM, getScreenCTM, getTransformToElement,
         getTransform, getNearestViewportElement,
diff --git a/src/JSDOM/Generated/SVGImageElement.hs b/src/JSDOM/Generated/SVGImageElement.hs
--- a/src/JSDOM/Generated/SVGImageElement.hs
+++ b/src/JSDOM/Generated/SVGImageElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGImageElement
        (getX, getY, getWidth, getHeight, getPreserveAspectRatio,
         SVGImageElement, castToSVGImageElement, gTypeSVGImageElement)
diff --git a/src/JSDOM/Generated/SVGLength.hs b/src/JSDOM/Generated/SVGLength.hs
--- a/src/JSDOM/Generated/SVGLength.hs
+++ b/src/JSDOM/Generated/SVGLength.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGLength
        (newValueSpecifiedUnits, convertToSpecifiedUnits,
         pattern SVG_LENGTHTYPE_UNKNOWN, pattern SVG_LENGTHTYPE_NUMBER,
diff --git a/src/JSDOM/Generated/SVGLengthList.hs b/src/JSDOM/Generated/SVGLengthList.hs
--- a/src/JSDOM/Generated/SVGLengthList.hs
+++ b/src/JSDOM/Generated/SVGLengthList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGLengthList
        (clear, initialize, getItem, insertItemBefore, replaceItem,
         removeItem, appendItem, getNumberOfItems, SVGLengthList,
diff --git a/src/JSDOM/Generated/SVGLineElement.hs b/src/JSDOM/Generated/SVGLineElement.hs
--- a/src/JSDOM/Generated/SVGLineElement.hs
+++ b/src/JSDOM/Generated/SVGLineElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGLineElement
        (getX1, getY1, getX2, getY2, SVGLineElement, castToSVGLineElement,
         gTypeSVGLineElement)
diff --git a/src/JSDOM/Generated/SVGLinearGradientElement.hs b/src/JSDOM/Generated/SVGLinearGradientElement.hs
--- a/src/JSDOM/Generated/SVGLinearGradientElement.hs
+++ b/src/JSDOM/Generated/SVGLinearGradientElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGLinearGradientElement
        (getX1, getY1, getX2, getY2, SVGLinearGradientElement,
         castToSVGLinearGradientElement, gTypeSVGLinearGradientElement)
diff --git a/src/JSDOM/Generated/SVGMarkerElement.hs b/src/JSDOM/Generated/SVGMarkerElement.hs
--- a/src/JSDOM/Generated/SVGMarkerElement.hs
+++ b/src/JSDOM/Generated/SVGMarkerElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGMarkerElement
        (setOrientToAuto, setOrientToAngle,
         pattern SVG_MARKERUNITS_UNKNOWN,
diff --git a/src/JSDOM/Generated/SVGMaskElement.hs b/src/JSDOM/Generated/SVGMaskElement.hs
--- a/src/JSDOM/Generated/SVGMaskElement.hs
+++ b/src/JSDOM/Generated/SVGMaskElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGMaskElement
        (getMaskUnits, getMaskContentUnits, getX, getY, getWidth,
         getHeight, SVGMaskElement, castToSVGMaskElement,
diff --git a/src/JSDOM/Generated/SVGMatrix.hs b/src/JSDOM/Generated/SVGMatrix.hs
--- a/src/JSDOM/Generated/SVGMatrix.hs
+++ b/src/JSDOM/Generated/SVGMatrix.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGMatrix
        (multiply, inverse, translate, scale, scaleNonUniform, rotate,
         rotateFromVector, flipX, flipY, skewX, skewY, setA, getA, setB,
diff --git a/src/JSDOM/Generated/SVGNumber.hs b/src/JSDOM/Generated/SVGNumber.hs
--- a/src/JSDOM/Generated/SVGNumber.hs
+++ b/src/JSDOM/Generated/SVGNumber.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGNumber
        (setValue, getValue, SVGNumber, castToSVGNumber, gTypeSVGNumber)
        where
diff --git a/src/JSDOM/Generated/SVGNumberList.hs b/src/JSDOM/Generated/SVGNumberList.hs
--- a/src/JSDOM/Generated/SVGNumberList.hs
+++ b/src/JSDOM/Generated/SVGNumberList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGNumberList
        (clear, initialize, getItem, insertItemBefore, replaceItem,
         removeItem, appendItem, getNumberOfItems, SVGNumberList,
diff --git a/src/JSDOM/Generated/SVGPaint.hs b/src/JSDOM/Generated/SVGPaint.hs
--- a/src/JSDOM/Generated/SVGPaint.hs
+++ b/src/JSDOM/Generated/SVGPaint.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPaint
        (setUri, setPaint, pattern SVG_PAINTTYPE_UNKNOWN,
         pattern SVG_PAINTTYPE_RGBCOLOR,
diff --git a/src/JSDOM/Generated/SVGPathElement.hs b/src/JSDOM/Generated/SVGPathElement.hs
--- a/src/JSDOM/Generated/SVGPathElement.hs
+++ b/src/JSDOM/Generated/SVGPathElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathElement
        (getTotalLength, getPointAtLength, getPathSegAtLength,
         createSVGPathSegClosePath, createSVGPathSegMovetoAbs,
diff --git a/src/JSDOM/Generated/SVGPathSeg.hs b/src/JSDOM/Generated/SVGPathSeg.hs
--- a/src/JSDOM/Generated/SVGPathSeg.hs
+++ b/src/JSDOM/Generated/SVGPathSeg.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSeg
        (pattern PATHSEG_UNKNOWN, pattern PATHSEG_CLOSEPATH,
         pattern PATHSEG_MOVETO_ABS, pattern PATHSEG_MOVETO_REL,
diff --git a/src/JSDOM/Generated/SVGPathSegArcAbs.hs b/src/JSDOM/Generated/SVGPathSegArcAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegArcAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegArcAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegArcAbs
        (setX, getX, setY, getY, setR1, getR1, setR2, getR2, setAngle,
         getAngle, setLargeArcFlag, getLargeArcFlag, setSweepFlag,
diff --git a/src/JSDOM/Generated/SVGPathSegArcRel.hs b/src/JSDOM/Generated/SVGPathSegArcRel.hs
--- a/src/JSDOM/Generated/SVGPathSegArcRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegArcRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegArcRel
        (setX, getX, setY, getY, setR1, getR1, setR2, getR2, setAngle,
         getAngle, setLargeArcFlag, getLargeArcFlag, setSweepFlag,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoCubicAbs.hs b/src/JSDOM/Generated/SVGPathSegCurvetoCubicAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoCubicAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoCubicAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoCubicAbs
        (setX, getX, setY, getY, setX1, getX1, setY1, getY1, setX2, getX2,
         setY2, getY2, SVGPathSegCurvetoCubicAbs,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoCubicRel.hs b/src/JSDOM/Generated/SVGPathSegCurvetoCubicRel.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoCubicRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoCubicRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoCubicRel
        (setX, getX, setY, getY, setX1, getX1, setY1, getY1, setX2, getX2,
         setY2, getY2, SVGPathSegCurvetoCubicRel,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothAbs.hs b/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoCubicSmoothAbs
        (setX, getX, setY, getY, setX2, getX2, setY2, getY2,
         SVGPathSegCurvetoCubicSmoothAbs,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothRel.hs b/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothRel.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoCubicSmoothRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoCubicSmoothRel
        (setX, getX, setY, getY, setX2, getX2, setY2, getY2,
         SVGPathSegCurvetoCubicSmoothRel,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticAbs.hs b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoQuadraticAbs
        (setX, getX, setY, getY, setX1, getX1, setY1, getY1,
         SVGPathSegCurvetoQuadraticAbs, castToSVGPathSegCurvetoQuadraticAbs,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticRel.hs b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticRel.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoQuadraticRel
        (setX, getX, setY, getY, setX1, getX1, setY1, getY1,
         SVGPathSegCurvetoQuadraticRel, castToSVGPathSegCurvetoQuadraticRel,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothAbs.hs b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothAbs
        (setX, getX, setY, getY, SVGPathSegCurvetoQuadraticSmoothAbs,
         castToSVGPathSegCurvetoQuadraticSmoothAbs,
diff --git a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothRel.hs b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothRel.hs
--- a/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegCurvetoQuadraticSmoothRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegCurvetoQuadraticSmoothRel
        (setX, getX, setY, getY, SVGPathSegCurvetoQuadraticSmoothRel,
         castToSVGPathSegCurvetoQuadraticSmoothRel,
diff --git a/src/JSDOM/Generated/SVGPathSegLinetoAbs.hs b/src/JSDOM/Generated/SVGPathSegLinetoAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegLinetoAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegLinetoAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegLinetoAbs
        (setX, getX, setY, getY, SVGPathSegLinetoAbs,
         castToSVGPathSegLinetoAbs, gTypeSVGPathSegLinetoAbs)
diff --git a/src/JSDOM/Generated/SVGPathSegLinetoHorizontalAbs.hs b/src/JSDOM/Generated/SVGPathSegLinetoHorizontalAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegLinetoHorizontalAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegLinetoHorizontalAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegLinetoHorizontalAbs
        (setX, getX, SVGPathSegLinetoHorizontalAbs,
         castToSVGPathSegLinetoHorizontalAbs,
diff --git a/src/JSDOM/Generated/SVGPathSegLinetoHorizontalRel.hs b/src/JSDOM/Generated/SVGPathSegLinetoHorizontalRel.hs
--- a/src/JSDOM/Generated/SVGPathSegLinetoHorizontalRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegLinetoHorizontalRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegLinetoHorizontalRel
        (setX, getX, SVGPathSegLinetoHorizontalRel,
         castToSVGPathSegLinetoHorizontalRel,
diff --git a/src/JSDOM/Generated/SVGPathSegLinetoRel.hs b/src/JSDOM/Generated/SVGPathSegLinetoRel.hs
--- a/src/JSDOM/Generated/SVGPathSegLinetoRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegLinetoRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegLinetoRel
        (setX, getX, setY, getY, SVGPathSegLinetoRel,
         castToSVGPathSegLinetoRel, gTypeSVGPathSegLinetoRel)
diff --git a/src/JSDOM/Generated/SVGPathSegLinetoVerticalAbs.hs b/src/JSDOM/Generated/SVGPathSegLinetoVerticalAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegLinetoVerticalAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegLinetoVerticalAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegLinetoVerticalAbs
        (setY, getY, SVGPathSegLinetoVerticalAbs,
         castToSVGPathSegLinetoVerticalAbs,
diff --git a/src/JSDOM/Generated/SVGPathSegLinetoVerticalRel.hs b/src/JSDOM/Generated/SVGPathSegLinetoVerticalRel.hs
--- a/src/JSDOM/Generated/SVGPathSegLinetoVerticalRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegLinetoVerticalRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegLinetoVerticalRel
        (setY, getY, SVGPathSegLinetoVerticalRel,
         castToSVGPathSegLinetoVerticalRel,
diff --git a/src/JSDOM/Generated/SVGPathSegList.hs b/src/JSDOM/Generated/SVGPathSegList.hs
--- a/src/JSDOM/Generated/SVGPathSegList.hs
+++ b/src/JSDOM/Generated/SVGPathSegList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegList
        (clear, initialize, getItem, insertItemBefore, replaceItem,
         removeItem, appendItem, getNumberOfItems, SVGPathSegList,
diff --git a/src/JSDOM/Generated/SVGPathSegMovetoAbs.hs b/src/JSDOM/Generated/SVGPathSegMovetoAbs.hs
--- a/src/JSDOM/Generated/SVGPathSegMovetoAbs.hs
+++ b/src/JSDOM/Generated/SVGPathSegMovetoAbs.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegMovetoAbs
        (setX, getX, setY, getY, SVGPathSegMovetoAbs,
         castToSVGPathSegMovetoAbs, gTypeSVGPathSegMovetoAbs)
diff --git a/src/JSDOM/Generated/SVGPathSegMovetoRel.hs b/src/JSDOM/Generated/SVGPathSegMovetoRel.hs
--- a/src/JSDOM/Generated/SVGPathSegMovetoRel.hs
+++ b/src/JSDOM/Generated/SVGPathSegMovetoRel.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPathSegMovetoRel
        (setX, getX, setY, getY, SVGPathSegMovetoRel,
         castToSVGPathSegMovetoRel, gTypeSVGPathSegMovetoRel)
diff --git a/src/JSDOM/Generated/SVGPatternElement.hs b/src/JSDOM/Generated/SVGPatternElement.hs
--- a/src/JSDOM/Generated/SVGPatternElement.hs
+++ b/src/JSDOM/Generated/SVGPatternElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPatternElement
        (getPatternUnits, getPatternContentUnits, getPatternTransform,
         getX, getY, getWidth, getHeight, SVGPatternElement,
diff --git a/src/JSDOM/Generated/SVGPoint.hs b/src/JSDOM/Generated/SVGPoint.hs
--- a/src/JSDOM/Generated/SVGPoint.hs
+++ b/src/JSDOM/Generated/SVGPoint.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPoint
        (matrixTransform, setX, getX, setY, getY, SVGPoint, castToSVGPoint,
         gTypeSVGPoint)
diff --git a/src/JSDOM/Generated/SVGPointList.hs b/src/JSDOM/Generated/SVGPointList.hs
--- a/src/JSDOM/Generated/SVGPointList.hs
+++ b/src/JSDOM/Generated/SVGPointList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPointList
        (clear, initialize, getItem, insertItemBefore, replaceItem,
         removeItem, appendItem, getNumberOfItems, SVGPointList,
diff --git a/src/JSDOM/Generated/SVGPolygonElement.hs b/src/JSDOM/Generated/SVGPolygonElement.hs
--- a/src/JSDOM/Generated/SVGPolygonElement.hs
+++ b/src/JSDOM/Generated/SVGPolygonElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPolygonElement
        (getPoints, getAnimatedPoints, SVGPolygonElement,
         castToSVGPolygonElement, gTypeSVGPolygonElement)
diff --git a/src/JSDOM/Generated/SVGPolylineElement.hs b/src/JSDOM/Generated/SVGPolylineElement.hs
--- a/src/JSDOM/Generated/SVGPolylineElement.hs
+++ b/src/JSDOM/Generated/SVGPolylineElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPolylineElement
        (getPoints, getAnimatedPoints, SVGPolylineElement,
         castToSVGPolylineElement, gTypeSVGPolylineElement)
diff --git a/src/JSDOM/Generated/SVGPreserveAspectRatio.hs b/src/JSDOM/Generated/SVGPreserveAspectRatio.hs
--- a/src/JSDOM/Generated/SVGPreserveAspectRatio.hs
+++ b/src/JSDOM/Generated/SVGPreserveAspectRatio.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGPreserveAspectRatio
        (pattern SVG_PRESERVEASPECTRATIO_UNKNOWN,
         pattern SVG_PRESERVEASPECTRATIO_NONE,
diff --git a/src/JSDOM/Generated/SVGRadialGradientElement.hs b/src/JSDOM/Generated/SVGRadialGradientElement.hs
--- a/src/JSDOM/Generated/SVGRadialGradientElement.hs
+++ b/src/JSDOM/Generated/SVGRadialGradientElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGRadialGradientElement
        (getCx, getCy, getR, getFx, getFy, getFr, SVGRadialGradientElement,
         castToSVGRadialGradientElement, gTypeSVGRadialGradientElement)
diff --git a/src/JSDOM/Generated/SVGRect.hs b/src/JSDOM/Generated/SVGRect.hs
--- a/src/JSDOM/Generated/SVGRect.hs
+++ b/src/JSDOM/Generated/SVGRect.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGRect
        (setX, getX, setY, getY, setWidth, getWidth, setHeight, getHeight,
         SVGRect, castToSVGRect, gTypeSVGRect)
diff --git a/src/JSDOM/Generated/SVGRectElement.hs b/src/JSDOM/Generated/SVGRectElement.hs
--- a/src/JSDOM/Generated/SVGRectElement.hs
+++ b/src/JSDOM/Generated/SVGRectElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGRectElement
        (getX, getY, getWidth, getHeight, getRx, getRy, SVGRectElement,
         castToSVGRectElement, gTypeSVGRectElement)
diff --git a/src/JSDOM/Generated/SVGRenderingIntent.hs b/src/JSDOM/Generated/SVGRenderingIntent.hs
--- a/src/JSDOM/Generated/SVGRenderingIntent.hs
+++ b/src/JSDOM/Generated/SVGRenderingIntent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGRenderingIntent
        (pattern RENDERING_INTENT_UNKNOWN, pattern RENDERING_INTENT_AUTO,
         pattern RENDERING_INTENT_PERCEPTUAL,
diff --git a/src/JSDOM/Generated/SVGSVGElement.hs b/src/JSDOM/Generated/SVGSVGElement.hs
--- a/src/JSDOM/Generated/SVGSVGElement.hs
+++ b/src/JSDOM/Generated/SVGSVGElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGSVGElement
        (suspendRedraw, unsuspendRedraw, unsuspendRedrawAll, forceRedraw,
         pauseAnimations, unpauseAnimations, animationsPaused,
diff --git a/src/JSDOM/Generated/SVGScriptElement.hs b/src/JSDOM/Generated/SVGScriptElement.hs
--- a/src/JSDOM/Generated/SVGScriptElement.hs
+++ b/src/JSDOM/Generated/SVGScriptElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGScriptElement
        (setType, getType, SVGScriptElement, castToSVGScriptElement,
         gTypeSVGScriptElement)
diff --git a/src/JSDOM/Generated/SVGStopElement.hs b/src/JSDOM/Generated/SVGStopElement.hs
--- a/src/JSDOM/Generated/SVGStopElement.hs
+++ b/src/JSDOM/Generated/SVGStopElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGStopElement
        (getOffset, SVGStopElement, castToSVGStopElement,
         gTypeSVGStopElement)
diff --git a/src/JSDOM/Generated/SVGStringList.hs b/src/JSDOM/Generated/SVGStringList.hs
--- a/src/JSDOM/Generated/SVGStringList.hs
+++ b/src/JSDOM/Generated/SVGStringList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGStringList
        (clear, initialize, getItem, insertItemBefore, replaceItem,
         removeItem, appendItem, getNumberOfItems, SVGStringList,
diff --git a/src/JSDOM/Generated/SVGStyleElement.hs b/src/JSDOM/Generated/SVGStyleElement.hs
--- a/src/JSDOM/Generated/SVGStyleElement.hs
+++ b/src/JSDOM/Generated/SVGStyleElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGStyleElement
        (setDisabled, getDisabled, setType, getType, setMedia, getMedia,
         setTitle, getTitle, SVGStyleElement, castToSVGStyleElement,
diff --git a/src/JSDOM/Generated/SVGTests.hs b/src/JSDOM/Generated/SVGTests.hs
--- a/src/JSDOM/Generated/SVGTests.hs
+++ b/src/JSDOM/Generated/SVGTests.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGTests
        (hasExtension, getRequiredFeatures, getRequiredExtensions,
         getSystemLanguage, SVGTests, castToSVGTests, gTypeSVGTests)
diff --git a/src/JSDOM/Generated/SVGTextContentElement.hs b/src/JSDOM/Generated/SVGTextContentElement.hs
--- a/src/JSDOM/Generated/SVGTextContentElement.hs
+++ b/src/JSDOM/Generated/SVGTextContentElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGTextContentElement
        (getNumberOfChars, getComputedTextLength, getSubStringLength,
         getStartPositionOfChar, getEndPositionOfChar, getExtentOfChar,
diff --git a/src/JSDOM/Generated/SVGTextPathElement.hs b/src/JSDOM/Generated/SVGTextPathElement.hs
--- a/src/JSDOM/Generated/SVGTextPathElement.hs
+++ b/src/JSDOM/Generated/SVGTextPathElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGTextPathElement
        (pattern TEXTPATH_METHODTYPE_UNKNOWN,
         pattern TEXTPATH_METHODTYPE_ALIGN,
diff --git a/src/JSDOM/Generated/SVGTextPositioningElement.hs b/src/JSDOM/Generated/SVGTextPositioningElement.hs
--- a/src/JSDOM/Generated/SVGTextPositioningElement.hs
+++ b/src/JSDOM/Generated/SVGTextPositioningElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGTextPositioningElement
        (getX, getY, getDx, getDy, getRotate, SVGTextPositioningElement,
         castToSVGTextPositioningElement, gTypeSVGTextPositioningElement,
diff --git a/src/JSDOM/Generated/SVGTransform.hs b/src/JSDOM/Generated/SVGTransform.hs
--- a/src/JSDOM/Generated/SVGTransform.hs
+++ b/src/JSDOM/Generated/SVGTransform.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGTransform
        (setMatrix, setTranslate, setScale, setRotate, setSkewX, setSkewY,
         pattern SVG_TRANSFORM_UNKNOWN, pattern SVG_TRANSFORM_MATRIX,
diff --git a/src/JSDOM/Generated/SVGTransformList.hs b/src/JSDOM/Generated/SVGTransformList.hs
--- a/src/JSDOM/Generated/SVGTransformList.hs
+++ b/src/JSDOM/Generated/SVGTransformList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGTransformList
        (clear, initialize, getItem, insertItemBefore, replaceItem,
         removeItem, appendItem, createSVGTransformFromMatrix, consolidate,
diff --git a/src/JSDOM/Generated/SVGURIReference.hs b/src/JSDOM/Generated/SVGURIReference.hs
--- a/src/JSDOM/Generated/SVGURIReference.hs
+++ b/src/JSDOM/Generated/SVGURIReference.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGURIReference
        (getHref, SVGURIReference, castToSVGURIReference,
         gTypeSVGURIReference)
diff --git a/src/JSDOM/Generated/SVGUnitTypes.hs b/src/JSDOM/Generated/SVGUnitTypes.hs
--- a/src/JSDOM/Generated/SVGUnitTypes.hs
+++ b/src/JSDOM/Generated/SVGUnitTypes.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGUnitTypes
        (pattern SVG_UNIT_TYPE_UNKNOWN,
         pattern SVG_UNIT_TYPE_USERSPACEONUSE,
diff --git a/src/JSDOM/Generated/SVGUseElement.hs b/src/JSDOM/Generated/SVGUseElement.hs
--- a/src/JSDOM/Generated/SVGUseElement.hs
+++ b/src/JSDOM/Generated/SVGUseElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGUseElement
        (getX, getY, getWidth, getHeight, SVGUseElement,
         castToSVGUseElement, gTypeSVGUseElement)
diff --git a/src/JSDOM/Generated/SVGViewElement.hs b/src/JSDOM/Generated/SVGViewElement.hs
--- a/src/JSDOM/Generated/SVGViewElement.hs
+++ b/src/JSDOM/Generated/SVGViewElement.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGViewElement
        (getViewTarget, SVGViewElement, castToSVGViewElement,
         gTypeSVGViewElement)
diff --git a/src/JSDOM/Generated/SVGViewSpec.hs b/src/JSDOM/Generated/SVGViewSpec.hs
--- a/src/JSDOM/Generated/SVGViewSpec.hs
+++ b/src/JSDOM/Generated/SVGViewSpec.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGViewSpec
        (getTransform, getViewTarget, getViewBoxString,
         getPreserveAspectRatioString, getTransformString,
diff --git a/src/JSDOM/Generated/SVGZoomAndPan.hs b/src/JSDOM/Generated/SVGZoomAndPan.hs
--- a/src/JSDOM/Generated/SVGZoomAndPan.hs
+++ b/src/JSDOM/Generated/SVGZoomAndPan.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGZoomAndPan
        (pattern SVG_ZOOMANDPAN_UNKNOWN, pattern SVG_ZOOMANDPAN_DISABLE,
         pattern SVG_ZOOMANDPAN_MAGNIFY, setZoomAndPan, getZoomAndPan,
diff --git a/src/JSDOM/Generated/SVGZoomEvent.hs b/src/JSDOM/Generated/SVGZoomEvent.hs
--- a/src/JSDOM/Generated/SVGZoomEvent.hs
+++ b/src/JSDOM/Generated/SVGZoomEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SVGZoomEvent
        (getZoomRectScreen, getPreviousScale, getPreviousTranslate,
         getNewScale, getNewTranslate, SVGZoomEvent, castToSVGZoomEvent,
diff --git a/src/JSDOM/Generated/Screen.hs b/src/JSDOM/Generated/Screen.hs
--- a/src/JSDOM/Generated/Screen.hs
+++ b/src/JSDOM/Generated/Screen.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Screen
        (getHeight, getWidth, getColorDepth, getPixelDepth, getAvailLeft,
         getAvailTop, getAvailHeight, getAvailWidth, Screen, castToScreen,
diff --git a/src/JSDOM/Generated/ScriptProcessorNode.hs b/src/JSDOM/Generated/ScriptProcessorNode.hs
--- a/src/JSDOM/Generated/ScriptProcessorNode.hs
+++ b/src/JSDOM/Generated/ScriptProcessorNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ScriptProcessorNode
        (audioProcess, getBufferSize, ScriptProcessorNode,
         castToScriptProcessorNode, gTypeScriptProcessorNode)
diff --git a/src/JSDOM/Generated/ScriptProfile.hs b/src/JSDOM/Generated/ScriptProfile.hs
--- a/src/JSDOM/Generated/ScriptProfile.hs
+++ b/src/JSDOM/Generated/ScriptProfile.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ScriptProfile
        (getTitle, getUid, getRootNode, ScriptProfile, castToScriptProfile,
         gTypeScriptProfile)
diff --git a/src/JSDOM/Generated/ScriptProfileNode.hs b/src/JSDOM/Generated/ScriptProfileNode.hs
--- a/src/JSDOM/Generated/ScriptProfileNode.hs
+++ b/src/JSDOM/Generated/ScriptProfileNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ScriptProfileNode
        (children, getId, getFunctionName, getUrl, getLineNumber,
         getColumnNumber, ScriptProfileNode, castToScriptProfileNode,
diff --git a/src/JSDOM/Generated/SecurityPolicy.hs b/src/JSDOM/Generated/SecurityPolicy.hs
--- a/src/JSDOM/Generated/SecurityPolicy.hs
+++ b/src/JSDOM/Generated/SecurityPolicy.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SecurityPolicy
        (allowsConnectionTo, allowsFontFrom, allowsFormAction,
         allowsFrameFrom, allowsImageFrom, allowsMediaFrom,
diff --git a/src/JSDOM/Generated/SecurityPolicyViolationEvent.hs b/src/JSDOM/Generated/SecurityPolicyViolationEvent.hs
--- a/src/JSDOM/Generated/SecurityPolicyViolationEvent.hs
+++ b/src/JSDOM/Generated/SecurityPolicyViolationEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SecurityPolicyViolationEvent
        (getDocumentURI, getReferrer, getBlockedURI, getViolatedDirective,
         getEffectiveDirective, getOriginalPolicy, getSourceFile,
diff --git a/src/JSDOM/Generated/Selection.hs b/src/JSDOM/Generated/Selection.hs
--- a/src/JSDOM/Generated/Selection.hs
+++ b/src/JSDOM/Generated/Selection.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Selection
        (collapse, collapseToEnd, collapseToStart, deleteFromDocument,
         containsNode, selectAllChildren, extend, getRangeAt,
diff --git a/src/JSDOM/Generated/SourceBuffer.hs b/src/JSDOM/Generated/SourceBuffer.hs
--- a/src/JSDOM/Generated/SourceBuffer.hs
+++ b/src/JSDOM/Generated/SourceBuffer.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SourceBuffer
        (appendBuffer, appendBufferView, abort, remove, setMode, getMode,
         getUpdating, getBuffered, setTimestampOffset, getTimestampOffset,
diff --git a/src/JSDOM/Generated/SourceBufferList.hs b/src/JSDOM/Generated/SourceBufferList.hs
--- a/src/JSDOM/Generated/SourceBufferList.hs
+++ b/src/JSDOM/Generated/SourceBufferList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SourceBufferList
        (item, getLength, SourceBufferList, castToSourceBufferList,
         gTypeSourceBufferList)
diff --git a/src/JSDOM/Generated/SourceInfo.hs b/src/JSDOM/Generated/SourceInfo.hs
--- a/src/JSDOM/Generated/SourceInfo.hs
+++ b/src/JSDOM/Generated/SourceInfo.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SourceInfo
        (getSourceId, getKind, getLabel, SourceInfo, castToSourceInfo,
         gTypeSourceInfo)
diff --git a/src/JSDOM/Generated/SpeechSynthesis.hs b/src/JSDOM/Generated/SpeechSynthesis.hs
--- a/src/JSDOM/Generated/SpeechSynthesis.hs
+++ b/src/JSDOM/Generated/SpeechSynthesis.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SpeechSynthesis
        (speak, cancel, pause, resume, getVoices, getPending, getSpeaking,
         getPaused, SpeechSynthesis, castToSpeechSynthesis,
diff --git a/src/JSDOM/Generated/SpeechSynthesisEvent.hs b/src/JSDOM/Generated/SpeechSynthesisEvent.hs
--- a/src/JSDOM/Generated/SpeechSynthesisEvent.hs
+++ b/src/JSDOM/Generated/SpeechSynthesisEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SpeechSynthesisEvent
        (getCharIndex, getElapsedTime, getName, SpeechSynthesisEvent,
         castToSpeechSynthesisEvent, gTypeSpeechSynthesisEvent)
diff --git a/src/JSDOM/Generated/SpeechSynthesisUtterance.hs b/src/JSDOM/Generated/SpeechSynthesisUtterance.hs
--- a/src/JSDOM/Generated/SpeechSynthesisUtterance.hs
+++ b/src/JSDOM/Generated/SpeechSynthesisUtterance.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SpeechSynthesisUtterance
        (newSpeechSynthesisUtterance, setText, getText, setLang, getLang,
         setVoice, getVoice, setVolume, getVolume, setRate, getRate,
diff --git a/src/JSDOM/Generated/SpeechSynthesisVoice.hs b/src/JSDOM/Generated/SpeechSynthesisVoice.hs
--- a/src/JSDOM/Generated/SpeechSynthesisVoice.hs
+++ b/src/JSDOM/Generated/SpeechSynthesisVoice.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SpeechSynthesisVoice
        (getVoiceURI, getName, getLang, getLocalService, getDefault,
         SpeechSynthesisVoice, castToSpeechSynthesisVoice,
diff --git a/src/JSDOM/Generated/Storage.hs b/src/JSDOM/Generated/Storage.hs
--- a/src/JSDOM/Generated/Storage.hs
+++ b/src/JSDOM/Generated/Storage.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Storage
        (key, getItem, setItem, removeItem, clear, getLength, Storage,
         castToStorage, gTypeStorage)
diff --git a/src/JSDOM/Generated/StorageErrorCallback.hs b/src/JSDOM/Generated/StorageErrorCallback.hs
--- a/src/JSDOM/Generated/StorageErrorCallback.hs
+++ b/src/JSDOM/Generated/StorageErrorCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StorageErrorCallback
        (newStorageErrorCallback, newStorageErrorCallbackSync,
         newStorageErrorCallbackAsync, StorageErrorCallback)
@@ -22,7 +23,7 @@
 newStorageErrorCallback callback
   = liftDOM
       (StorageErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/StorageErrorCallback Mozilla StorageErrorCallback documentation> 
@@ -32,7 +33,7 @@
 newStorageErrorCallbackSync callback
   = liftDOM
       (StorageErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/StorageErrorCallback Mozilla StorageErrorCallback documentation> 
@@ -42,5 +43,5 @@
 newStorageErrorCallbackAsync callback
   = liftDOM
       (StorageErrorCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [error] -> fromJSVal error >>= \ error' -> callback error'))
diff --git a/src/JSDOM/Generated/StorageEvent.hs b/src/JSDOM/Generated/StorageEvent.hs
--- a/src/JSDOM/Generated/StorageEvent.hs
+++ b/src/JSDOM/Generated/StorageEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StorageEvent
        (initStorageEvent, getKey, getOldValue, getNewValue, getUrl,
         getStorageArea, StorageEvent, castToStorageEvent,
diff --git a/src/JSDOM/Generated/StorageInfo.hs b/src/JSDOM/Generated/StorageInfo.hs
--- a/src/JSDOM/Generated/StorageInfo.hs
+++ b/src/JSDOM/Generated/StorageInfo.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StorageInfo
        (queryUsageAndQuota, requestQuota, pattern TEMPORARY,
         pattern PERSISTENT, StorageInfo, castToStorageInfo,
diff --git a/src/JSDOM/Generated/StorageQuota.hs b/src/JSDOM/Generated/StorageQuota.hs
--- a/src/JSDOM/Generated/StorageQuota.hs
+++ b/src/JSDOM/Generated/StorageQuota.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StorageQuota
        (queryUsageAndQuota, requestQuota, StorageQuota,
         castToStorageQuota, gTypeStorageQuota)
diff --git a/src/JSDOM/Generated/StorageQuotaCallback.hs b/src/JSDOM/Generated/StorageQuotaCallback.hs
--- a/src/JSDOM/Generated/StorageQuotaCallback.hs
+++ b/src/JSDOM/Generated/StorageQuotaCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StorageQuotaCallback
        (newStorageQuotaCallback, newStorageQuotaCallbackSync,
         newStorageQuotaCallbackAsync, StorageQuotaCallback)
@@ -21,7 +22,7 @@
 newStorageQuotaCallback callback
   = liftDOM
       (StorageQuotaCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [grantedQuotaInBytes] ->
               fromJSValUnchecked grantedQuotaInBytes >>=
                 \ grantedQuotaInBytes' -> callback grantedQuotaInBytes'))
@@ -32,7 +33,7 @@
 newStorageQuotaCallbackSync callback
   = liftDOM
       (StorageQuotaCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [grantedQuotaInBytes] ->
               fromJSValUnchecked grantedQuotaInBytes >>=
                 \ grantedQuotaInBytes' -> callback grantedQuotaInBytes'))
@@ -43,7 +44,7 @@
 newStorageQuotaCallbackAsync callback
   = liftDOM
       (StorageQuotaCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [grantedQuotaInBytes] ->
               fromJSValUnchecked grantedQuotaInBytes >>=
                 \ grantedQuotaInBytes' -> callback grantedQuotaInBytes'))
diff --git a/src/JSDOM/Generated/StorageUsageCallback.hs b/src/JSDOM/Generated/StorageUsageCallback.hs
--- a/src/JSDOM/Generated/StorageUsageCallback.hs
+++ b/src/JSDOM/Generated/StorageUsageCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StorageUsageCallback
        (newStorageUsageCallback, newStorageUsageCallbackSync,
         newStorageUsageCallbackAsync, StorageUsageCallback)
@@ -22,7 +23,7 @@
 newStorageUsageCallback callback
   = liftDOM
       (StorageUsageCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [currentUsageInBytes, currentQuotaInBytes] ->
               fromJSValUnchecked currentQuotaInBytes >>=
                 \ currentQuotaInBytes' ->
@@ -37,7 +38,7 @@
 newStorageUsageCallbackSync callback
   = liftDOM
       (StorageUsageCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [currentUsageInBytes, currentQuotaInBytes] ->
               fromJSValUnchecked currentQuotaInBytes >>=
                 \ currentQuotaInBytes' ->
@@ -52,7 +53,7 @@
 newStorageUsageCallbackAsync callback
   = liftDOM
       (StorageUsageCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [currentUsageInBytes, currentQuotaInBytes] ->
               fromJSValUnchecked currentQuotaInBytes >>=
                 \ currentQuotaInBytes' ->
diff --git a/src/JSDOM/Generated/StringCallback.hs b/src/JSDOM/Generated/StringCallback.hs
--- a/src/JSDOM/Generated/StringCallback.hs
+++ b/src/JSDOM/Generated/StringCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StringCallback
        (newStringCallback, newStringCallbackSync, newStringCallbackAsync,
         StringCallback)
@@ -22,7 +23,7 @@
 newStringCallback callback
   = liftDOM
       (StringCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [data'] ->
               fromJSValUnchecked data' >>= \ data'' -> callback data''))
 
@@ -33,7 +34,7 @@
 newStringCallbackSync callback
   = liftDOM
       (StringCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [data'] ->
               fromJSValUnchecked data' >>= \ data'' -> callback data''))
 
@@ -44,6 +45,6 @@
 newStringCallbackAsync callback
   = liftDOM
       (StringCallback . Callback <$>
-         function ""
+         function
            (\ _ _ [data'] ->
               fromJSValUnchecked data' >>= \ data'' -> callback data''))
diff --git a/src/JSDOM/Generated/StyleMedia.hs b/src/JSDOM/Generated/StyleMedia.hs
--- a/src/JSDOM/Generated/StyleMedia.hs
+++ b/src/JSDOM/Generated/StyleMedia.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StyleMedia
        (matchMedium, getType, StyleMedia, castToStyleMedia,
         gTypeStyleMedia)
diff --git a/src/JSDOM/Generated/StyleSheet.hs b/src/JSDOM/Generated/StyleSheet.hs
--- a/src/JSDOM/Generated/StyleSheet.hs
+++ b/src/JSDOM/Generated/StyleSheet.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StyleSheet
        (getType, setDisabled, getDisabled, getOwnerNode,
         getParentStyleSheet, getHref, getTitle, getMedia, StyleSheet,
diff --git a/src/JSDOM/Generated/StyleSheetList.hs b/src/JSDOM/Generated/StyleSheetList.hs
--- a/src/JSDOM/Generated/StyleSheetList.hs
+++ b/src/JSDOM/Generated/StyleSheetList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.StyleSheetList
        (item, _get, getLength, StyleSheetList, castToStyleSheetList,
         gTypeStyleSheetList)
diff --git a/src/JSDOM/Generated/SubtleCrypto.hs b/src/JSDOM/Generated/SubtleCrypto.hs
--- a/src/JSDOM/Generated/SubtleCrypto.hs
+++ b/src/JSDOM/Generated/SubtleCrypto.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.SubtleCrypto
        (encrypt, decrypt, sign, verify, digest, generateKey, importKey,
         exportKey, wrapKey, unwrapKey, SubtleCrypto, castToSubtleCrypto,
diff --git a/src/JSDOM/Generated/Text.hs b/src/JSDOM/Generated/Text.hs
--- a/src/JSDOM/Generated/Text.hs
+++ b/src/JSDOM/Generated/Text.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Text
        (newText, splitText, replaceWholeText, getWholeText, Text,
         castToText, gTypeText, IsText, toText)
diff --git a/src/JSDOM/Generated/TextEvent.hs b/src/JSDOM/Generated/TextEvent.hs
--- a/src/JSDOM/Generated/TextEvent.hs
+++ b/src/JSDOM/Generated/TextEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TextEvent
        (initTextEvent, getData, TextEvent, castToTextEvent,
         gTypeTextEvent)
diff --git a/src/JSDOM/Generated/TextMetrics.hs b/src/JSDOM/Generated/TextMetrics.hs
--- a/src/JSDOM/Generated/TextMetrics.hs
+++ b/src/JSDOM/Generated/TextMetrics.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TextMetrics
        (getWidth, TextMetrics, castToTextMetrics, gTypeTextMetrics) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/TextTrack.hs b/src/JSDOM/Generated/TextTrack.hs
--- a/src/JSDOM/Generated/TextTrack.hs
+++ b/src/JSDOM/Generated/TextTrack.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TextTrack
        (addCue, removeCue, addRegion, removeRegion, getId, setKind,
         getKind, getLabel, setLanguage, getLanguage,
diff --git a/src/JSDOM/Generated/TextTrackCue.hs b/src/JSDOM/Generated/TextTrackCue.hs
--- a/src/JSDOM/Generated/TextTrackCue.hs
+++ b/src/JSDOM/Generated/TextTrackCue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TextTrackCue
        (newTextTrackCue, getTrack, setId, getId, setStartTime,
         getStartTime, setEndTime, getEndTime, setPauseOnExit,
diff --git a/src/JSDOM/Generated/TextTrackCueList.hs b/src/JSDOM/Generated/TextTrackCueList.hs
--- a/src/JSDOM/Generated/TextTrackCueList.hs
+++ b/src/JSDOM/Generated/TextTrackCueList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TextTrackCueList
        (item, getCueById, getLength, TextTrackCueList,
         castToTextTrackCueList, gTypeTextTrackCueList)
diff --git a/src/JSDOM/Generated/TextTrackList.hs b/src/JSDOM/Generated/TextTrackList.hs
--- a/src/JSDOM/Generated/TextTrackList.hs
+++ b/src/JSDOM/Generated/TextTrackList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TextTrackList
        (item, getTrackById, getLength, addTrack, change, removeTrack,
         TextTrackList, castToTextTrackList, gTypeTextTrackList)
diff --git a/src/JSDOM/Generated/TimeRanges.hs b/src/JSDOM/Generated/TimeRanges.hs
--- a/src/JSDOM/Generated/TimeRanges.hs
+++ b/src/JSDOM/Generated/TimeRanges.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TimeRanges
        (start, end, getLength, TimeRanges, castToTimeRanges,
         gTypeTimeRanges)
diff --git a/src/JSDOM/Generated/Touch.hs b/src/JSDOM/Generated/Touch.hs
--- a/src/JSDOM/Generated/Touch.hs
+++ b/src/JSDOM/Generated/Touch.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Touch
        (getClientX, getClientY, getScreenX, getScreenY, getPageX,
         getPageY, getTarget, getIdentifier, getWebkitRadiusX,
diff --git a/src/JSDOM/Generated/TouchEvent.hs b/src/JSDOM/Generated/TouchEvent.hs
--- a/src/JSDOM/Generated/TouchEvent.hs
+++ b/src/JSDOM/Generated/TouchEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TouchEvent
        (initTouchEvent, getTouches, getTargetTouches, getChangedTouches,
         getCtrlKey, getShiftKey, getAltKey, getMetaKey, TouchEvent,
diff --git a/src/JSDOM/Generated/TouchList.hs b/src/JSDOM/Generated/TouchList.hs
--- a/src/JSDOM/Generated/TouchList.hs
+++ b/src/JSDOM/Generated/TouchList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TouchList
        (item, getLength, TouchList, castToTouchList, gTypeTouchList) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/TrackEvent.hs b/src/JSDOM/Generated/TrackEvent.hs
--- a/src/JSDOM/Generated/TrackEvent.hs
+++ b/src/JSDOM/Generated/TrackEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TrackEvent
        (getTrack, TrackEvent, castToTrackEvent, gTypeTrackEvent) where
 import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
diff --git a/src/JSDOM/Generated/TransitionEvent.hs b/src/JSDOM/Generated/TransitionEvent.hs
--- a/src/JSDOM/Generated/TransitionEvent.hs
+++ b/src/JSDOM/Generated/TransitionEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TransitionEvent
        (getPropertyName, getElapsedTime, getPseudoElement,
         TransitionEvent, castToTransitionEvent, gTypeTransitionEvent)
diff --git a/src/JSDOM/Generated/TreeWalker.hs b/src/JSDOM/Generated/TreeWalker.hs
--- a/src/JSDOM/Generated/TreeWalker.hs
+++ b/src/JSDOM/Generated/TreeWalker.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TreeWalker
        (parentNode, firstChild, lastChild, previousSibling, nextSibling,
         previousNode, nextNode, getRoot, getWhatToShow, getFilter,
diff --git a/src/JSDOM/Generated/TypeConversions.hs b/src/JSDOM/Generated/TypeConversions.hs
--- a/src/JSDOM/Generated/TypeConversions.hs
+++ b/src/JSDOM/Generated/TypeConversions.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.TypeConversions
        (setTestLong, getTestLong, setTestEnforceRangeLong,
         getTestEnforceRangeLong, setTestUnsignedLong, getTestUnsignedLong,
diff --git a/src/JSDOM/Generated/UIEvent.hs b/src/JSDOM/Generated/UIEvent.hs
--- a/src/JSDOM/Generated/UIEvent.hs
+++ b/src/JSDOM/Generated/UIEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.UIEvent
        (initUIEvent, getView, getDetail, getKeyCode, getCharCode,
         getLayerX, getLayerY, getPageX, getPageY, getWhich, UIEvent,
diff --git a/src/JSDOM/Generated/UIRequestEvent.hs b/src/JSDOM/Generated/UIRequestEvent.hs
--- a/src/JSDOM/Generated/UIRequestEvent.hs
+++ b/src/JSDOM/Generated/UIRequestEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.UIRequestEvent
        (getReceiver, UIRequestEvent, castToUIRequestEvent,
         gTypeUIRequestEvent)
diff --git a/src/JSDOM/Generated/URL.hs b/src/JSDOM/Generated/URL.hs
--- a/src/JSDOM/Generated/URL.hs
+++ b/src/JSDOM/Generated/URL.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.URL
        (newURL, newURL', newURL'', createObjectURL, revokeObjectURL,
         createObjectURLSource, createObjectURLStream, URL, castToURL,
diff --git a/src/JSDOM/Generated/URLUtils.hs b/src/JSDOM/Generated/URLUtils.hs
--- a/src/JSDOM/Generated/URLUtils.hs
+++ b/src/JSDOM/Generated/URLUtils.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.URLUtils
        (toString, setHref, getHref, getOrigin, setProtocol, getProtocol,
         setUsername, getUsername, setPassword, getPassword, setHost,
diff --git a/src/JSDOM/Generated/UserMessageHandler.hs b/src/JSDOM/Generated/UserMessageHandler.hs
--- a/src/JSDOM/Generated/UserMessageHandler.hs
+++ b/src/JSDOM/Generated/UserMessageHandler.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.UserMessageHandler
        (postMessage, UserMessageHandler, castToUserMessageHandler,
         gTypeUserMessageHandler)
diff --git a/src/JSDOM/Generated/VTTCue.hs b/src/JSDOM/Generated/VTTCue.hs
--- a/src/JSDOM/Generated/VTTCue.hs
+++ b/src/JSDOM/Generated/VTTCue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VTTCue
        (newVTTCue, getCueAsHTML, setVertical, getVertical, setSnapToLines,
         getSnapToLines, setLine, getLine, setPosition, getPosition,
diff --git a/src/JSDOM/Generated/VTTRegion.hs b/src/JSDOM/Generated/VTTRegion.hs
--- a/src/JSDOM/Generated/VTTRegion.hs
+++ b/src/JSDOM/Generated/VTTRegion.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VTTRegion
        (newVTTRegion, getTrack, setId, getId, setWidth, getWidth,
         setHeight, getHeight, setRegionAnchorX, getRegionAnchorX,
diff --git a/src/JSDOM/Generated/VTTRegionList.hs b/src/JSDOM/Generated/VTTRegionList.hs
--- a/src/JSDOM/Generated/VTTRegionList.hs
+++ b/src/JSDOM/Generated/VTTRegionList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VTTRegionList
        (item, getRegionById, getLength, VTTRegionList,
         castToVTTRegionList, gTypeVTTRegionList)
diff --git a/src/JSDOM/Generated/ValidityState.hs b/src/JSDOM/Generated/ValidityState.hs
--- a/src/JSDOM/Generated/ValidityState.hs
+++ b/src/JSDOM/Generated/ValidityState.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.ValidityState
        (getValueMissing, getTypeMismatch, getPatternMismatch, getTooLong,
         getRangeUnderflow, getRangeOverflow, getStepMismatch, getBadInput,
diff --git a/src/JSDOM/Generated/VideoPlaybackQuality.hs b/src/JSDOM/Generated/VideoPlaybackQuality.hs
--- a/src/JSDOM/Generated/VideoPlaybackQuality.hs
+++ b/src/JSDOM/Generated/VideoPlaybackQuality.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VideoPlaybackQuality
        (getCreationTime, getTotalVideoFrames, getDroppedVideoFrames,
         getCorruptedVideoFrames, getTotalFrameDelay, VideoPlaybackQuality,
diff --git a/src/JSDOM/Generated/VideoStreamTrack.hs b/src/JSDOM/Generated/VideoStreamTrack.hs
--- a/src/JSDOM/Generated/VideoStreamTrack.hs
+++ b/src/JSDOM/Generated/VideoStreamTrack.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VideoStreamTrack
        (newVideoStreamTrack, VideoStreamTrack, castToVideoStreamTrack,
         gTypeVideoStreamTrack)
diff --git a/src/JSDOM/Generated/VideoTrack.hs b/src/JSDOM/Generated/VideoTrack.hs
--- a/src/JSDOM/Generated/VideoTrack.hs
+++ b/src/JSDOM/Generated/VideoTrack.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VideoTrack
        (getId, setKind, getKind, getLabel, setLanguage, getLanguage,
         setSelected, getSelected, getSourceBuffer, VideoTrack,
diff --git a/src/JSDOM/Generated/VideoTrackList.hs b/src/JSDOM/Generated/VideoTrackList.hs
--- a/src/JSDOM/Generated/VideoTrackList.hs
+++ b/src/JSDOM/Generated/VideoTrackList.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VideoTrackList
        (item, getTrackById, getLength, getSelectedIndex, change, addTrack,
         removeTrack, VideoTrackList, castToVideoTrackList,
diff --git a/src/JSDOM/Generated/VoidCallback.hs b/src/JSDOM/Generated/VoidCallback.hs
--- a/src/JSDOM/Generated/VoidCallback.hs
+++ b/src/JSDOM/Generated/VoidCallback.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.VoidCallback
        (newVoidCallback, newVoidCallbackSync, newVoidCallbackAsync,
         VoidCallback)
@@ -19,16 +20,16 @@
 newVoidCallback :: (MonadDOM m) => JSM () -> m VoidCallback
 newVoidCallback callback
   = liftDOM
-      (VoidCallback . Callback <$> function "" (\ _ _ [] -> callback))
+      (VoidCallback . Callback <$> function (\ _ _ [] -> callback))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/VoidCallback Mozilla VoidCallback documentation> 
 newVoidCallbackSync :: (MonadDOM m) => JSM () -> m VoidCallback
 newVoidCallbackSync callback
   = liftDOM
-      (VoidCallback . Callback <$> function "" (\ _ _ [] -> callback))
+      (VoidCallback . Callback <$> function (\ _ _ [] -> callback))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/VoidCallback Mozilla VoidCallback documentation> 
 newVoidCallbackAsync :: (MonadDOM m) => JSM () -> m VoidCallback
 newVoidCallbackAsync callback
   = liftDOM
-      (VoidCallback . Callback <$> function "" (\ _ _ [] -> callback))
+      (VoidCallback . Callback <$> function (\ _ _ [] -> callback))
diff --git a/src/JSDOM/Generated/WaveShaperNode.hs b/src/JSDOM/Generated/WaveShaperNode.hs
--- a/src/JSDOM/Generated/WaveShaperNode.hs
+++ b/src/JSDOM/Generated/WaveShaperNode.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WaveShaperNode
        (setCurve, getCurve, setOversample, getOversample, WaveShaperNode,
         castToWaveShaperNode, gTypeWaveShaperNode)
diff --git a/src/JSDOM/Generated/WebGL2RenderingContext.hs b/src/JSDOM/Generated/WebGL2RenderingContext.hs
--- a/src/JSDOM/Generated/WebGL2RenderingContext.hs
+++ b/src/JSDOM/Generated/WebGL2RenderingContext.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGL2RenderingContext
        (copyBufferSubData, getBufferSubDataView, getBufferSubData,
         getFramebufferAttachmentParameter, blitFramebuffer,
diff --git a/src/JSDOM/Generated/WebGLActiveInfo.hs b/src/JSDOM/Generated/WebGLActiveInfo.hs
--- a/src/JSDOM/Generated/WebGLActiveInfo.hs
+++ b/src/JSDOM/Generated/WebGLActiveInfo.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLActiveInfo
        (getSize, getType, getName, WebGLActiveInfo, castToWebGLActiveInfo,
         gTypeWebGLActiveInfo)
diff --git a/src/JSDOM/Generated/WebGLCompressedTextureATC.hs b/src/JSDOM/Generated/WebGLCompressedTextureATC.hs
--- a/src/JSDOM/Generated/WebGLCompressedTextureATC.hs
+++ b/src/JSDOM/Generated/WebGLCompressedTextureATC.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLCompressedTextureATC
        (pattern COMPRESSED_RGB_ATC_WEBGL,
         pattern COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
diff --git a/src/JSDOM/Generated/WebGLCompressedTexturePVRTC.hs b/src/JSDOM/Generated/WebGLCompressedTexturePVRTC.hs
--- a/src/JSDOM/Generated/WebGLCompressedTexturePVRTC.hs
+++ b/src/JSDOM/Generated/WebGLCompressedTexturePVRTC.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLCompressedTexturePVRTC
        (pattern COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
         pattern COMPRESSED_RGB_PVRTC_2BPPV1_IMG,
diff --git a/src/JSDOM/Generated/WebGLCompressedTextureS3TC.hs b/src/JSDOM/Generated/WebGLCompressedTextureS3TC.hs
--- a/src/JSDOM/Generated/WebGLCompressedTextureS3TC.hs
+++ b/src/JSDOM/Generated/WebGLCompressedTextureS3TC.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLCompressedTextureS3TC
        (pattern COMPRESSED_RGB_S3TC_DXT1_EXT,
         pattern COMPRESSED_RGBA_S3TC_DXT1_EXT,
diff --git a/src/JSDOM/Generated/WebGLContextAttributes.hs b/src/JSDOM/Generated/WebGLContextAttributes.hs
--- a/src/JSDOM/Generated/WebGLContextAttributes.hs
+++ b/src/JSDOM/Generated/WebGLContextAttributes.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLContextAttributes
        (setAlpha, getAlpha, setDepth, getDepth, setStencil, getStencil,
         setAntialias, getAntialias, setPremultipliedAlpha,
diff --git a/src/JSDOM/Generated/WebGLContextEvent.hs b/src/JSDOM/Generated/WebGLContextEvent.hs
--- a/src/JSDOM/Generated/WebGLContextEvent.hs
+++ b/src/JSDOM/Generated/WebGLContextEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLContextEvent
        (getStatusMessage, WebGLContextEvent, castToWebGLContextEvent,
         gTypeWebGLContextEvent)
diff --git a/src/JSDOM/Generated/WebGLDebugRendererInfo.hs b/src/JSDOM/Generated/WebGLDebugRendererInfo.hs
--- a/src/JSDOM/Generated/WebGLDebugRendererInfo.hs
+++ b/src/JSDOM/Generated/WebGLDebugRendererInfo.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLDebugRendererInfo
        (pattern UNMASKED_VENDOR_WEBGL, pattern UNMASKED_RENDERER_WEBGL,
         WebGLDebugRendererInfo, castToWebGLDebugRendererInfo,
diff --git a/src/JSDOM/Generated/WebGLDebugShaders.hs b/src/JSDOM/Generated/WebGLDebugShaders.hs
--- a/src/JSDOM/Generated/WebGLDebugShaders.hs
+++ b/src/JSDOM/Generated/WebGLDebugShaders.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLDebugShaders
        (getTranslatedShaderSource, WebGLDebugShaders,
         castToWebGLDebugShaders, gTypeWebGLDebugShaders)
diff --git a/src/JSDOM/Generated/WebGLDepthTexture.hs b/src/JSDOM/Generated/WebGLDepthTexture.hs
--- a/src/JSDOM/Generated/WebGLDepthTexture.hs
+++ b/src/JSDOM/Generated/WebGLDepthTexture.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLDepthTexture
        (pattern UNSIGNED_INT_24_8_WEBGL, WebGLDepthTexture,
         castToWebGLDepthTexture, gTypeWebGLDepthTexture)
diff --git a/src/JSDOM/Generated/WebGLDrawBuffers.hs b/src/JSDOM/Generated/WebGLDrawBuffers.hs
--- a/src/JSDOM/Generated/WebGLDrawBuffers.hs
+++ b/src/JSDOM/Generated/WebGLDrawBuffers.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLDrawBuffers
        (drawBuffersWEBGL, pattern COLOR_ATTACHMENT0_WEBGL,
         pattern COLOR_ATTACHMENT1_WEBGL, pattern COLOR_ATTACHMENT2_WEBGL,
diff --git a/src/JSDOM/Generated/WebGLLoseContext.hs b/src/JSDOM/Generated/WebGLLoseContext.hs
--- a/src/JSDOM/Generated/WebGLLoseContext.hs
+++ b/src/JSDOM/Generated/WebGLLoseContext.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLLoseContext
        (loseContext, restoreContext, WebGLLoseContext,
         castToWebGLLoseContext, gTypeWebGLLoseContext)
diff --git a/src/JSDOM/Generated/WebGLRenderingContextBase.hs b/src/JSDOM/Generated/WebGLRenderingContextBase.hs
--- a/src/JSDOM/Generated/WebGLRenderingContextBase.hs
+++ b/src/JSDOM/Generated/WebGLRenderingContextBase.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLRenderingContextBase
        (activeTexture, attachShader, bindAttribLocation, bindBuffer,
         bindFramebuffer, bindRenderbuffer, bindTexture, blendColor,
diff --git a/src/JSDOM/Generated/WebGLShaderPrecisionFormat.hs b/src/JSDOM/Generated/WebGLShaderPrecisionFormat.hs
--- a/src/JSDOM/Generated/WebGLShaderPrecisionFormat.hs
+++ b/src/JSDOM/Generated/WebGLShaderPrecisionFormat.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebGLShaderPrecisionFormat
        (getRangeMin, getRangeMax, getPrecision,
         WebGLShaderPrecisionFormat, castToWebGLShaderPrecisionFormat,
diff --git a/src/JSDOM/Generated/WebKitAnimationEvent.hs b/src/JSDOM/Generated/WebKitAnimationEvent.hs
--- a/src/JSDOM/Generated/WebKitAnimationEvent.hs
+++ b/src/JSDOM/Generated/WebKitAnimationEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitAnimationEvent
        (getAnimationName, getElapsedTime, WebKitAnimationEvent,
         castToWebKitAnimationEvent, gTypeWebKitAnimationEvent)
diff --git a/src/JSDOM/Generated/WebKitCSSFilterValue.hs b/src/JSDOM/Generated/WebKitCSSFilterValue.hs
--- a/src/JSDOM/Generated/WebKitCSSFilterValue.hs
+++ b/src/JSDOM/Generated/WebKitCSSFilterValue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitCSSFilterValue
        (_get, pattern CSS_FILTER_REFERENCE, pattern CSS_FILTER_GRAYSCALE,
         pattern CSS_FILTER_SEPIA, pattern CSS_FILTER_SATURATE,
diff --git a/src/JSDOM/Generated/WebKitCSSMatrix.hs b/src/JSDOM/Generated/WebKitCSSMatrix.hs
--- a/src/JSDOM/Generated/WebKitCSSMatrix.hs
+++ b/src/JSDOM/Generated/WebKitCSSMatrix.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitCSSMatrix
        (newWebKitCSSMatrix, setMatrixValue, multiply, inverse, translate,
         scale, rotate, rotateAxisAngle, skewX, skewY, toString, setA, getA,
diff --git a/src/JSDOM/Generated/WebKitCSSRegionRule.hs b/src/JSDOM/Generated/WebKitCSSRegionRule.hs
--- a/src/JSDOM/Generated/WebKitCSSRegionRule.hs
+++ b/src/JSDOM/Generated/WebKitCSSRegionRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitCSSRegionRule
        (getCssRules, WebKitCSSRegionRule, castToWebKitCSSRegionRule,
         gTypeWebKitCSSRegionRule)
diff --git a/src/JSDOM/Generated/WebKitCSSTransformValue.hs b/src/JSDOM/Generated/WebKitCSSTransformValue.hs
--- a/src/JSDOM/Generated/WebKitCSSTransformValue.hs
+++ b/src/JSDOM/Generated/WebKitCSSTransformValue.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitCSSTransformValue
        (_get, pattern CSS_TRANSLATE, pattern CSS_TRANSLATEX,
         pattern CSS_TRANSLATEY, pattern CSS_ROTATE, pattern CSS_SCALE,
diff --git a/src/JSDOM/Generated/WebKitCSSViewportRule.hs b/src/JSDOM/Generated/WebKitCSSViewportRule.hs
--- a/src/JSDOM/Generated/WebKitCSSViewportRule.hs
+++ b/src/JSDOM/Generated/WebKitCSSViewportRule.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitCSSViewportRule
        (getStyle, WebKitCSSViewportRule, castToWebKitCSSViewportRule,
         gTypeWebKitCSSViewportRule)
diff --git a/src/JSDOM/Generated/WebKitNamedFlow.hs b/src/JSDOM/Generated/WebKitNamedFlow.hs
--- a/src/JSDOM/Generated/WebKitNamedFlow.hs
+++ b/src/JSDOM/Generated/WebKitNamedFlow.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitNamedFlow
        (getRegionsByContent, getRegions, getContent, getName, getOverset,
         getFirstEmptyRegionIndex, WebKitNamedFlow, castToWebKitNamedFlow,
diff --git a/src/JSDOM/Generated/WebKitNamespace.hs b/src/JSDOM/Generated/WebKitNamespace.hs
--- a/src/JSDOM/Generated/WebKitNamespace.hs
+++ b/src/JSDOM/Generated/WebKitNamespace.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitNamespace
        (getMessageHandlers, WebKitNamespace, castToWebKitNamespace,
         gTypeWebKitNamespace)
diff --git a/src/JSDOM/Generated/WebKitPlaybackTargetAvailabilityEvent.hs b/src/JSDOM/Generated/WebKitPlaybackTargetAvailabilityEvent.hs
--- a/src/JSDOM/Generated/WebKitPlaybackTargetAvailabilityEvent.hs
+++ b/src/JSDOM/Generated/WebKitPlaybackTargetAvailabilityEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitPlaybackTargetAvailabilityEvent
        (getAvailability, WebKitPlaybackTargetAvailabilityEvent,
         castToWebKitPlaybackTargetAvailabilityEvent,
diff --git a/src/JSDOM/Generated/WebKitPoint.hs b/src/JSDOM/Generated/WebKitPoint.hs
--- a/src/JSDOM/Generated/WebKitPoint.hs
+++ b/src/JSDOM/Generated/WebKitPoint.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitPoint
        (newWebKitPoint, newWebKitPoint', setX, getX, setY, getY,
         WebKitPoint, castToWebKitPoint, gTypeWebKitPoint)
diff --git a/src/JSDOM/Generated/WebKitTransitionEvent.hs b/src/JSDOM/Generated/WebKitTransitionEvent.hs
--- a/src/JSDOM/Generated/WebKitTransitionEvent.hs
+++ b/src/JSDOM/Generated/WebKitTransitionEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebKitTransitionEvent
        (getPropertyName, getElapsedTime, getPseudoElement,
         WebKitTransitionEvent, castToWebKitTransitionEvent,
diff --git a/src/JSDOM/Generated/WebSocket.hs b/src/JSDOM/Generated/WebSocket.hs
--- a/src/JSDOM/Generated/WebSocket.hs
+++ b/src/JSDOM/Generated/WebSocket.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WebSocket
        (newWebSocket, newWebSocket', send, sendView, sendBlob, sendString,
         close, pattern CONNECTING, pattern OPEN, pattern CLOSING,
@@ -105,7 +106,7 @@
 error = unsafeEventName (toJSString "error")
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebSocket.onclose Mozilla WebSocket.onclose documentation> 
-closeEvent :: EventName WebSocket Event
+closeEvent :: EventName WebSocket CloseEvent
 closeEvent = unsafeEventName (toJSString "close")
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebSocket.protocol Mozilla WebSocket.protocol documentation> 
diff --git a/src/JSDOM/Generated/WheelEvent.hs b/src/JSDOM/Generated/WheelEvent.hs
--- a/src/JSDOM/Generated/WheelEvent.hs
+++ b/src/JSDOM/Generated/WheelEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WheelEvent
        (initWebKitWheelEvent, pattern DOM_DELTA_PIXEL,
         pattern DOM_DELTA_LINE, pattern DOM_DELTA_PAGE, getDeltaX,
diff --git a/src/JSDOM/Generated/Window.hs b/src/JSDOM/Generated/Window.hs
--- a/src/JSDOM/Generated/Window.hs
+++ b/src/JSDOM/Generated/Window.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Window
        (openDatabase, getSelection, focus, blur, close, print, stop, open,
         showModalDialog, alert, confirm, prompt, find, scrollBy, scrollTo,
diff --git a/src/JSDOM/Generated/WindowBase64.hs b/src/JSDOM/Generated/WindowBase64.hs
--- a/src/JSDOM/Generated/WindowBase64.hs
+++ b/src/JSDOM/Generated/WindowBase64.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WindowBase64
        (atob, btoa, WindowBase64, castToWindowBase64, gTypeWindowBase64)
        where
diff --git a/src/JSDOM/Generated/WindowTimers.hs b/src/JSDOM/Generated/WindowTimers.hs
--- a/src/JSDOM/Generated/WindowTimers.hs
+++ b/src/JSDOM/Generated/WindowTimers.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WindowTimers
        (setTimeout, clearTimeout, setInterval, clearInterval,
         WindowTimers, castToWindowTimers, gTypeWindowTimers)
diff --git a/src/JSDOM/Generated/Worker.hs b/src/JSDOM/Generated/Worker.hs
--- a/src/JSDOM/Generated/Worker.hs
+++ b/src/JSDOM/Generated/Worker.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.Worker
        (newWorker, postMessage, terminate, message, Worker, castToWorker,
         gTypeWorker)
diff --git a/src/JSDOM/Generated/WorkerGlobalScope.hs b/src/JSDOM/Generated/WorkerGlobalScope.hs
--- a/src/JSDOM/Generated/WorkerGlobalScope.hs
+++ b/src/JSDOM/Generated/WorkerGlobalScope.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WorkerGlobalScope
        (close, importScripts, getSelf, getLocation, error, offline,
         online, getNavigator, WorkerGlobalScope, castToWorkerGlobalScope,
diff --git a/src/JSDOM/Generated/WorkerLocation.hs b/src/JSDOM/Generated/WorkerLocation.hs
--- a/src/JSDOM/Generated/WorkerLocation.hs
+++ b/src/JSDOM/Generated/WorkerLocation.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WorkerLocation
        (toString, getHref, getProtocol, getHost, getHostname, getPort,
         getPathname, getSearch, getHash, WorkerLocation,
diff --git a/src/JSDOM/Generated/WorkerNavigator.hs b/src/JSDOM/Generated/WorkerNavigator.hs
--- a/src/JSDOM/Generated/WorkerNavigator.hs
+++ b/src/JSDOM/Generated/WorkerNavigator.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.WorkerNavigator
        (getWebkitTemporaryStorage, getWebkitPersistentStorage, getAppName,
         getAppVersion, getPlatform, getUserAgent, getOnLine,
diff --git a/src/JSDOM/Generated/XMLHttpRequest.hs b/src/JSDOM/Generated/XMLHttpRequest.hs
--- a/src/JSDOM/Generated/XMLHttpRequest.hs
+++ b/src/JSDOM/Generated/XMLHttpRequest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XMLHttpRequest
        (newXMLHttpRequest, open, setRequestHeader, send, abort,
         getAllResponseHeaders, getResponseHeader, overrideMimeType,
diff --git a/src/JSDOM/Generated/XMLHttpRequestProgressEvent.hs b/src/JSDOM/Generated/XMLHttpRequestProgressEvent.hs
--- a/src/JSDOM/Generated/XMLHttpRequestProgressEvent.hs
+++ b/src/JSDOM/Generated/XMLHttpRequestProgressEvent.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XMLHttpRequestProgressEvent
        (getPosition, getTotalSize, XMLHttpRequestProgressEvent,
         castToXMLHttpRequestProgressEvent,
diff --git a/src/JSDOM/Generated/XMLHttpRequestUpload.hs b/src/JSDOM/Generated/XMLHttpRequestUpload.hs
--- a/src/JSDOM/Generated/XMLHttpRequestUpload.hs
+++ b/src/JSDOM/Generated/XMLHttpRequestUpload.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XMLHttpRequestUpload
        (abort, error, load, loadEnd, loadStart, progress,
         XMLHttpRequestUpload, castToXMLHttpRequestUpload,
diff --git a/src/JSDOM/Generated/XMLSerializer.hs b/src/JSDOM/Generated/XMLSerializer.hs
--- a/src/JSDOM/Generated/XMLSerializer.hs
+++ b/src/JSDOM/Generated/XMLSerializer.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XMLSerializer
        (newXMLSerializer, serializeToString, XMLSerializer,
         castToXMLSerializer, gTypeXMLSerializer)
diff --git a/src/JSDOM/Generated/XPathEvaluator.hs b/src/JSDOM/Generated/XPathEvaluator.hs
--- a/src/JSDOM/Generated/XPathEvaluator.hs
+++ b/src/JSDOM/Generated/XPathEvaluator.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XPathEvaluator
        (newXPathEvaluator, createExpression, createNSResolver, evaluate,
         XPathEvaluator, castToXPathEvaluator, gTypeXPathEvaluator)
diff --git a/src/JSDOM/Generated/XPathExpression.hs b/src/JSDOM/Generated/XPathExpression.hs
--- a/src/JSDOM/Generated/XPathExpression.hs
+++ b/src/JSDOM/Generated/XPathExpression.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XPathExpression
        (evaluate, XPathExpression, castToXPathExpression,
         gTypeXPathExpression)
diff --git a/src/JSDOM/Generated/XPathNSResolver.hs b/src/JSDOM/Generated/XPathNSResolver.hs
--- a/src/JSDOM/Generated/XPathNSResolver.hs
+++ b/src/JSDOM/Generated/XPathNSResolver.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XPathNSResolver
        (lookupNamespaceURI, XPathNSResolver, castToXPathNSResolver,
         gTypeXPathNSResolver)
diff --git a/src/JSDOM/Generated/XPathResult.hs b/src/JSDOM/Generated/XPathResult.hs
--- a/src/JSDOM/Generated/XPathResult.hs
+++ b/src/JSDOM/Generated/XPathResult.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XPathResult
        (iterateNext, snapshotItem, pattern ANY_TYPE, pattern NUMBER_TYPE,
         pattern STRING_TYPE, pattern BOOLEAN_TYPE,
diff --git a/src/JSDOM/Generated/XSLTProcessor.hs b/src/JSDOM/Generated/XSLTProcessor.hs
--- a/src/JSDOM/Generated/XSLTProcessor.hs
+++ b/src/JSDOM/Generated/XSLTProcessor.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE PatternSynonyms #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Generated.XSLTProcessor
        (newXSLTProcessor, importStylesheet, transformToFragment,
         transformToDocument, setParameter, getParameter, removeParameter,
diff --git a/src/JSDOM/Types.hs b/src/JSDOM/Types.hs
--- a/src/JSDOM/Types.hs
+++ b/src/JSDOM/Types.hs
@@ -4,6 +4,7 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE LambdaCase #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
 module JSDOM.Types (
   -- * Monad
     DOM, DOMContext, askDOM, runDOM, MonadDOM(..)
@@ -668,7 +669,7 @@
 import Data.Int (Int8, Int16, Int32, Int64)
 import Data.Word (Word8, Word16, Word32, Word64)
 import Language.Javascript.JSaddle
-       (Object(..), valToBool, valMakeNull, valToNumber, (!!), js,
+       (Object(..), valToBool, valNull, valToNumber, (!!), js,
         JSVal, JSString, JSM, maybeNullOrUndefined, maybeNullOrUndefined',
         valToStr, jsg, ToJSString(..), strToText, MakeObject(..),
         Nullable(..), Function(..), freeFunction, instanceOf, JSContextRef)
@@ -775,7 +776,7 @@
 {-# INLINE nullableToMaybe #-}
 --
 maybeToNullable :: ToJSVal a => Maybe a -> JSM JSVal
-maybeToNullable Nothing = valMakeNull
+maybeToNullable Nothing = return valNull
 maybeToNullable (Just a) = toJSVal a
 {-# INLINE maybeToNullable #-}
 
@@ -848,7 +849,7 @@
 --{-# INLINE fromJSString #-}
 
 toMaybeJSString :: ToJSString a => Maybe a -> JSM JSVal
-toMaybeJSString Nothing = valMakeNull
+toMaybeJSString Nothing = return valNull
 toMaybeJSString (Just a) = toJSVal (toJSString a)
 {-# INLINE toMaybeJSString #-}
 
@@ -877,13 +878,13 @@
 instance FromJSVal Bool where
     fromJSValUnchecked = valToBool
 instance FromJSVal T.Text where
-    fromJSValUnchecked v = valToStr v >>= strToText
+    fromJSValUnchecked v = strToText <$> valToStr v
 instance FromJSString T.Text where
-    fromJSString = strToText
+    fromJSString = return . strToText
 instance FromJSVal String where
-    fromJSValUnchecked v = T.unpack <$> (valToStr v >>= strToText)
+    fromJSValUnchecked v = T.unpack . strToText <$> valToStr v
 instance FromJSString String where
-    fromJSString v = T.unpack <$> strToText v
+    fromJSString v = return . T.unpack $ strToText v
 instance FromJSVal JSString where
     fromJSValUnchecked = valToStr
 instance FromJSString JSString where
@@ -903,7 +904,7 @@
     jsCtx <- liftDOM ask
     liftIO $ bracket
         (runReaderT aquire jsCtx)
-        (freeFunction . coerce)
+        ((`runReaderT` jsCtx) . freeFunction . coerce)
         (\t -> runReaderT (f t) jsCtx)
 
 newtype AudioBufferCallback = AudioBufferCallback (Callback (JSVal -> IO ()))
