diff --git a/jsaddle-dom.cabal b/jsaddle-dom.cabal
--- a/jsaddle-dom.cabal
+++ b/jsaddle-dom.cabal
@@ -1,5 +1,5 @@
 name: jsaddle-dom
-version: 0.4.0.0
+version: 0.4.0.1
 cabal-version: >=1.22
 build-type: Simple
 license: MIT
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
@@ -21,15 +21,15 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ApplicationCache.update Mozilla ApplicationCache.update documentation> 
 update :: (MonadDOM m) => ApplicationCache -> m ()
-update self = liftDOM (void (self ^. js "update"))
+update self = liftDOM (void (self ^. jsf "update" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ApplicationCache.swapCache Mozilla ApplicationCache.swapCache documentation> 
 swapCache :: (MonadDOM m) => ApplicationCache -> m ()
-swapCache self = liftDOM (void (self ^. js "swapCache"))
+swapCache self = liftDOM (void (self ^. jsf "swapCache" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ApplicationCache.abort Mozilla ApplicationCache.abort documentation> 
 abort :: (MonadDOM m) => ApplicationCache -> m ()
-abort self = liftDOM (void (self ^. js "abort"))
+abort self = liftDOM (void (self ^. jsf "abort" ()))
 pattern UNCACHED = 0
 pattern IDLE = 1
 pattern CHECKING = 2
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
@@ -70,7 +70,8 @@
                      self -> m (Maybe AudioBufferSourceNode)
 createBufferSource self
   = liftDOM
-      (((toAudioContext self) ^. js "createBufferSource") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createBufferSource" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createMediaElementSource Mozilla AudioContext.createMediaElementSource documentation> 
 createMediaElementSource ::
@@ -99,15 +100,15 @@
                                self -> m (Maybe MediaStreamAudioDestinationNode)
 createMediaStreamDestination self
   = liftDOM
-      (((toAudioContext self) ^. js "createMediaStreamDestination") >>=
-         fromJSVal)
+      (((toAudioContext self) ^. jsf "createMediaStreamDestination" ())
+         >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createGain Mozilla AudioContext.createGain documentation> 
 createGain ::
            (MonadDOM m, IsAudioContext self) => self -> m (Maybe GainNode)
 createGain self
   = liftDOM
-      (((toAudioContext self) ^. js "createGain") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createGain" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createDelay Mozilla AudioContext.createDelay documentation> 
 createDelay ::
@@ -125,7 +126,8 @@
                      self -> m (Maybe BiquadFilterNode)
 createBiquadFilter self
   = liftDOM
-      (((toAudioContext self) ^. js "createBiquadFilter") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createBiquadFilter" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createWaveShaper Mozilla AudioContext.createWaveShaper documentation> 
 createWaveShaper ::
@@ -133,14 +135,15 @@
                    self -> m (Maybe WaveShaperNode)
 createWaveShaper self
   = liftDOM
-      (((toAudioContext self) ^. js "createWaveShaper") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createWaveShaper" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createPanner Mozilla AudioContext.createPanner documentation> 
 createPanner ::
              (MonadDOM m, IsAudioContext self) => self -> m (Maybe PannerNode)
 createPanner self
   = liftDOM
-      (((toAudioContext self) ^. js "createPanner") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createPanner" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createConvolver Mozilla AudioContext.createConvolver documentation> 
 createConvolver ::
@@ -148,7 +151,7 @@
                   self -> m (Maybe ConvolverNode)
 createConvolver self
   = liftDOM
-      (((toAudioContext self) ^. js "createConvolver") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createConvolver" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createDynamicsCompressor Mozilla AudioContext.createDynamicsCompressor documentation> 
 createDynamicsCompressor ::
@@ -156,7 +159,7 @@
                            self -> m (Maybe DynamicsCompressorNode)
 createDynamicsCompressor self
   = liftDOM
-      (((toAudioContext self) ^. js "createDynamicsCompressor") >>=
+      (((toAudioContext self) ^. jsf "createDynamicsCompressor" ()) >>=
          fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createAnalyser Mozilla AudioContext.createAnalyser documentation> 
@@ -164,7 +167,7 @@
                (MonadDOM m, IsAudioContext self) => self -> m (Maybe AnalyserNode)
 createAnalyser self
   = liftDOM
-      (((toAudioContext self) ^. js "createAnalyser") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createAnalyser" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createScriptProcessor Mozilla AudioContext.createScriptProcessor documentation> 
 createScriptProcessor ::
@@ -184,7 +187,8 @@
                    self -> m (Maybe OscillatorNode)
 createOscillator self
   = liftDOM
-      (((toAudioContext self) ^. js "createOscillator") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createOscillator" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createPeriodicWave Mozilla AudioContext.createPeriodicWave documentation> 
 createPeriodicWave ::
@@ -220,14 +224,14 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.startRendering Mozilla AudioContext.startRendering documentation> 
 startRendering :: (MonadDOM m, IsAudioContext self) => self -> m ()
 startRendering self
-  = liftDOM (void ((toAudioContext self) ^. js "startRendering"))
+  = liftDOM (void ((toAudioContext self) ^. jsf "startRendering" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createGainNode Mozilla AudioContext.createGainNode documentation> 
 createGainNode ::
                (MonadDOM m, IsAudioContext self) => self -> m (Maybe GainNode)
 createGainNode self
   = liftDOM
-      (((toAudioContext self) ^. js "createGainNode") >>= fromJSVal)
+      (((toAudioContext self) ^. jsf "createGainNode" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createDelayNode Mozilla AudioContext.createDelayNode documentation> 
 createDelayNode ::
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
@@ -58,24 +58,25 @@
 getStringValue ::
                (MonadDOM m, FromJSString result) => CSSPrimitiveValue -> m result
 getStringValue self
-  = liftDOM ((self ^. js "getStringValue") >>= fromJSValUnchecked)
+  = liftDOM
+      ((self ^. jsf "getStringValue" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CSSPrimitiveValue.getCounterValue Mozilla CSSPrimitiveValue.getCounterValue documentation> 
 getCounterValue ::
                 (MonadDOM m) => CSSPrimitiveValue -> m (Maybe Counter)
 getCounterValue self
-  = liftDOM ((self ^. js "getCounterValue") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getCounterValue" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CSSPrimitiveValue.getRectValue Mozilla CSSPrimitiveValue.getRectValue documentation> 
 getRectValue :: (MonadDOM m) => CSSPrimitiveValue -> m (Maybe Rect)
 getRectValue self
-  = liftDOM ((self ^. js "getRectValue") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getRectValue" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CSSPrimitiveValue.getRGBColorValue Mozilla CSSPrimitiveValue.getRGBColorValue documentation> 
 getRGBColorValue ::
                  (MonadDOM m) => CSSPrimitiveValue -> m (Maybe RGBColor)
 getRGBColorValue self
-  = liftDOM ((self ^. js "getRGBColorValue") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getRGBColorValue" ()) >>= fromJSVal)
 pattern CSS_UNKNOWN = 0
 pattern CSS_NUMBER = 1
 pattern CSS_PERCENTAGE = 2
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
@@ -51,11 +51,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.save Mozilla CanvasRenderingContext2D.save documentation> 
 save :: (MonadDOM m) => CanvasRenderingContext2D -> m ()
-save self = liftDOM (void (self ^. js "save"))
+save self = liftDOM (void (self ^. jsf "save" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.restore Mozilla CanvasRenderingContext2D.restore documentation> 
 restore :: (MonadDOM m) => CanvasRenderingContext2D -> m ()
-restore self = liftDOM (void (self ^. js "restore"))
+restore self = liftDOM (void (self ^. jsf "restore" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.scale Mozilla CanvasRenderingContext2D.scale documentation> 
 scale ::
@@ -133,7 +133,7 @@
 getLineDash ::
             (MonadDOM m) => CanvasRenderingContext2D -> m [Float]
 getLineDash self
-  = liftDOM ((self ^. js "getLineDash") >>= fromJSArrayUnchecked)
+  = liftDOM ((self ^. jsf "getLineDash" ()) >>= fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.clearRect Mozilla CanvasRenderingContext2D.clearRect documentation> 
 clearRect ::
@@ -159,11 +159,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.beginPath Mozilla CanvasRenderingContext2D.beginPath documentation> 
 beginPath :: (MonadDOM m) => CanvasRenderingContext2D -> m ()
-beginPath self = liftDOM (void (self ^. js "beginPath"))
+beginPath self = liftDOM (void (self ^. jsf "beginPath" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.closePath Mozilla CanvasRenderingContext2D.closePath documentation> 
 closePath :: (MonadDOM m) => CanvasRenderingContext2D -> m ()
-closePath self = liftDOM (void (self ^. js "closePath"))
+closePath self = liftDOM (void (self ^. jsf "closePath" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.moveTo Mozilla CanvasRenderingContext2D.moveTo documentation> 
 moveTo ::
@@ -267,7 +267,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.stroke Mozilla CanvasRenderingContext2D.stroke documentation> 
 stroke :: (MonadDOM m) => CanvasRenderingContext2D -> m ()
-stroke self = liftDOM (void (self ^. js "stroke"))
+stroke self = liftDOM (void (self ^. jsf "stroke" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.clip Mozilla CanvasRenderingContext2D.clip documentation> 
 clip ::
@@ -369,7 +369,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.clearShadow Mozilla CanvasRenderingContext2D.clearShadow documentation> 
 clearShadow :: (MonadDOM m) => CanvasRenderingContext2D -> m ()
-clearShadow self = liftDOM (void (self ^. js "clearShadow"))
+clearShadow self = liftDOM (void (self ^. jsf "clearShadow" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.fillText Mozilla CanvasRenderingContext2D.fillText documentation> 
 fillText ::
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
@@ -16,4 +16,4 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ChildNode.remove Mozilla ChildNode.remove documentation> 
 remove :: (MonadDOM m) => ChildNode -> m ()
-remove self = liftDOM (void (self ^. js "remove"))
+remove self = liftDOM (void (self ^. jsf "remove" ()))
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
@@ -20,7 +20,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CommandLineAPIHost.clearConsoleMessages Mozilla CommandLineAPIHost.clearConsoleMessages documentation> 
 clearConsoleMessages :: (MonadDOM m) => CommandLineAPIHost -> m ()
 clearConsoleMessages self
-  = liftDOM (void (self ^. js "clearConsoleMessages"))
+  = liftDOM (void (self ^. jsf "clearConsoleMessages" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/CommandLineAPIHost.copyText Mozilla CommandLineAPIHost.copyText documentation> 
 copyText ::
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
@@ -71,7 +71,8 @@
            self -> m result
 toString self
   = liftDOM
-      (((toDOMTokenList self) ^. js "toString") >>= fromJSValUnchecked)
+      (((toDOMTokenList self) ^. jsf "toString" ()) >>=
+         fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList.length Mozilla DOMTokenList.length documentation> 
 getLength :: (MonadDOM m, IsDOMTokenList self) => self -> m Word
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
@@ -25,7 +25,8 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem.getAsFile Mozilla DataTransferItem.getAsFile documentation> 
 getAsFile :: (MonadDOM m) => DataTransferItem -> m (Maybe Blob)
-getAsFile self = liftDOM ((self ^. js "getAsFile") >>= fromJSVal)
+getAsFile self
+  = liftDOM ((self ^. jsf "getAsFile" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem.kind Mozilla DataTransferItem.kind documentation> 
 getKind ::
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
@@ -25,7 +25,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList.clear Mozilla DataTransferItemList.clear documentation> 
 clear :: (MonadDOM m) => DataTransferItemList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList.add Mozilla DataTransferItemList.add documentation> 
 addFile ::
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
@@ -74,7 +74,8 @@
                        (MonadDOM m, IsDocument self) => self -> m (Maybe DocumentFragment)
 createDocumentFragment self
   = liftDOM
-      (((toDocument self) ^. js "createDocumentFragment") >>= fromJSVal)
+      (((toDocument self) ^. jsf "createDocumentFragment" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.createTextNode Mozilla Document.createTextNode documentation> 
 createTextNode ::
@@ -217,7 +218,8 @@
 createRange ::
             (MonadDOM m, IsDocument self) => self -> m (Maybe Range)
 createRange self
-  = liftDOM (((toDocument self) ^. js "createRange") >>= fromJSVal)
+  = liftDOM
+      (((toDocument self) ^. jsf "createRange" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.createNodeIterator Mozilla Document.createNodeIterator documentation> 
 createNodeIterator ::
@@ -388,7 +390,8 @@
 getSelection ::
              (MonadDOM m, IsDocument self) => self -> m (Maybe Selection)
 getSelection self
-  = liftDOM (((toDocument self) ^. js "getSelection") >>= fromJSVal)
+  = liftDOM
+      (((toDocument self) ^. jsf "getSelection" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.getCSSCanvasContext Mozilla Document.getCSSCanvasContext documentation> 
 getCSSCanvasContext ::
@@ -415,7 +418,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.hasFocus Mozilla Document.hasFocus documentation> 
 hasFocus :: (MonadDOM m, IsDocument self) => self -> m Bool
 hasFocus self
-  = liftDOM (((toDocument self) ^. js "hasFocus") >>= valToBool)
+  = liftDOM (((toDocument self) ^. jsf "hasFocus" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelector Mozilla Document.querySelector documentation> 
 querySelector ::
@@ -439,18 +442,20 @@
 webkitCancelFullScreen ::
                        (MonadDOM m, IsDocument self) => self -> m ()
 webkitCancelFullScreen self
-  = liftDOM (void ((toDocument self) ^. js "webkitCancelFullScreen"))
+  = liftDOM
+      (void ((toDocument self) ^. jsf "webkitCancelFullScreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.webkitExitFullscreen Mozilla Document.webkitExitFullscreen documentation> 
 webkitExitFullscreen ::
                      (MonadDOM m, IsDocument self) => self -> m ()
 webkitExitFullscreen self
-  = liftDOM (void ((toDocument self) ^. js "webkitExitFullscreen"))
+  = liftDOM
+      (void ((toDocument self) ^. jsf "webkitExitFullscreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.exitPointerLock Mozilla Document.exitPointerLock documentation> 
 exitPointerLock :: (MonadDOM m, IsDocument self) => self -> m ()
 exitPointerLock self
-  = liftDOM (void ((toDocument self) ^. js "exitPointerLock"))
+  = liftDOM (void ((toDocument self) ^. jsf "exitPointerLock" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.webkitGetNamedFlows Mozilla Document.webkitGetNamedFlows documentation> 
 webkitGetNamedFlows ::
@@ -458,7 +463,7 @@
                       self -> m (Maybe DOMNamedFlowCollection)
 webkitGetNamedFlows self
   = liftDOM
-      (((toDocument self) ^. js "webkitGetNamedFlows") >>= fromJSVal)
+      (((toDocument self) ^. jsf "webkitGetNamedFlows" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.createTouch Mozilla Document.createTouch documentation> 
 createTouch ::
@@ -485,7 +490,7 @@
                 (MonadDOM m, IsDocument self) => self -> m (Maybe TouchList)
 createTouchList self
   = liftDOM
-      (((toDocument self) ^. js "createTouchList") >>= fromJSVal)
+      (((toDocument self) ^. jsf "createTouchList" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Document.doctype Mozilla Document.doctype documentation> 
 getDoctype ::
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
@@ -112,7 +112,8 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttributes Mozilla Element.hasAttributes documentation> 
 hasAttributes :: (MonadDOM m, IsElement self) => self -> m Bool
 hasAttributes self
-  = liftDOM (((toElement self) ^. js "hasAttributes") >>= valToBool)
+  = liftDOM
+      (((toElement self) ^. jsf "hasAttributes" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNS Mozilla Element.getAttributeNS documentation> 
 getAttributeNS ::
@@ -200,11 +201,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.focus Mozilla Element.focus documentation> 
 focus :: (MonadDOM m, IsElement self) => self -> m ()
-focus self = liftDOM (void ((toElement self) ^. js "focus"))
+focus self = liftDOM (void ((toElement self) ^. jsf "focus" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.blur Mozilla Element.blur documentation> 
 blur :: (MonadDOM m, IsElement self) => self -> m ()
-blur self = liftDOM (void ((toElement self) ^. js "blur"))
+blur self = liftDOM (void ((toElement self) ^. jsf "blur" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoView Mozilla Element.scrollIntoView documentation> 
 scrollIntoView ::
@@ -296,14 +297,16 @@
 getClientRects ::
                (MonadDOM m, IsElement self) => self -> m (Maybe ClientRectList)
 getClientRects self
-  = liftDOM (((toElement self) ^. js "getClientRects") >>= fromJSVal)
+  = liftDOM
+      (((toElement self) ^. jsf "getClientRects" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect Mozilla Element.getBoundingClientRect documentation> 
 getBoundingClientRect ::
                       (MonadDOM m, IsElement self) => self -> m (Maybe ClientRect)
 getBoundingClientRect self
   = liftDOM
-      (((toElement self) ^. js "getBoundingClientRect") >>= fromJSVal)
+      (((toElement self) ^. jsf "getBoundingClientRect" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitRequestFullScreen Mozilla Element.webkitRequestFullScreen documentation> 
 webkitRequestFullScreen ::
@@ -318,19 +321,20 @@
 webkitRequestFullscreen ::
                         (MonadDOM m, IsElement self) => self -> m ()
 webkitRequestFullscreen self
-  = liftDOM (void ((toElement self) ^. js "webkitRequestFullscreen"))
+  = liftDOM
+      (void ((toElement self) ^. jsf "webkitRequestFullscreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.requestPointerLock Mozilla Element.requestPointerLock documentation> 
 requestPointerLock :: (MonadDOM m, IsElement self) => self -> m ()
 requestPointerLock self
-  = liftDOM (void ((toElement self) ^. js "requestPointerLock"))
+  = liftDOM (void ((toElement self) ^. jsf "requestPointerLock" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitGetRegionFlowRanges Mozilla Element.webkitGetRegionFlowRanges documentation> 
 webkitGetRegionFlowRanges ::
                           (MonadDOM m, IsElement self) => self -> m [Maybe Range]
 webkitGetRegionFlowRanges self
   = liftDOM
-      (((toElement self) ^. js "webkitGetRegionFlowRanges") >>=
+      (((toElement self) ^. jsf "webkitGetRegionFlowRanges" ()) >>=
          fromJSArray)
 pattern ALLOW_KEYBOARD_INPUT = 1
 
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
@@ -28,12 +28,12 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Event.stopPropagation Mozilla Event.stopPropagation documentation> 
 stopPropagation :: (MonadDOM m, IsEvent self) => self -> m ()
 stopPropagation self
-  = liftDOM (void ((toEvent self) ^. js "stopPropagation"))
+  = liftDOM (void ((toEvent self) ^. jsf "stopPropagation" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Event.preventDefault Mozilla Event.preventDefault documentation> 
 preventDefault :: (MonadDOM m, IsEvent self) => self -> m ()
 preventDefault self
-  = liftDOM (void ((toEvent self) ^. js "preventDefault"))
+  = liftDOM (void ((toEvent self) ^. jsf "preventDefault" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Event.initEvent Mozilla Event.initEvent documentation> 
 initEvent ::
@@ -50,7 +50,8 @@
 stopImmediatePropagation ::
                          (MonadDOM m, IsEvent self) => self -> m ()
 stopImmediatePropagation self
-  = liftDOM (void ((toEvent self) ^. js "stopImmediatePropagation"))
+  = liftDOM
+      (void ((toEvent self) ^. jsf "stopImmediatePropagation" ()))
 pattern NONE = 0
 pattern CAPTURING_PHASE = 1
 pattern AT_TARGET = 2
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
@@ -28,7 +28,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/EventSource.close Mozilla EventSource.close documentation> 
 close :: (MonadDOM m) => EventSource -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 pattern CONNECTING = 0
 pattern OPEN = 1
 pattern CLOSED = 2
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
@@ -8,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/FileReader.hs b/src/JSDOM/Generated/FileReader.hs
--- a/src/JSDOM/Generated/FileReader.hs
+++ b/src/JSDOM/Generated/FileReader.hs
@@ -51,7 +51,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/FileReader.abort Mozilla FileReader.abort documentation> 
 abort :: (MonadDOM m) => FileReader -> m ()
-abort self = liftDOM (void (self ^. js "abort"))
+abort self = liftDOM (void (self ^. jsf "abort" ()))
 pattern EMPTY = 0
 pattern LOADING = 1
 pattern DONE = 2
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
@@ -27,7 +27,7 @@
 toString ::
          (MonadDOM m, FromJSString result) => HTMLAnchorElement -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement.charset Mozilla HTMLAnchorElement.charset documentation> 
 setCharset ::
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
@@ -24,7 +24,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.checkValidity Mozilla HTMLButtonElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLButtonElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.setCustomValidity Mozilla HTMLButtonElement.setCustomValidity documentation> 
 setCustomValidity ::
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
@@ -22,11 +22,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.open Mozilla HTMLDocument.open documentation> 
 open :: (MonadDOM m) => HTMLDocument -> m ()
-open self = liftDOM (void (self ^. js "open"))
+open self = liftDOM (void (self ^. jsf "open" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.close Mozilla HTMLDocument.close documentation> 
 close :: (MonadDOM m) => HTMLDocument -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.write Mozilla HTMLDocument.write documentation> 
 write ::
@@ -42,15 +42,17 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.clear Mozilla HTMLDocument.clear documentation> 
 clear :: (MonadDOM m) => HTMLDocument -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.captureEvents Mozilla HTMLDocument.captureEvents documentation> 
 captureEvents :: (MonadDOM m) => HTMLDocument -> m ()
-captureEvents self = liftDOM (void (self ^. js "captureEvents"))
+captureEvents self
+  = liftDOM (void (self ^. jsf "captureEvents" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.releaseEvents Mozilla HTMLDocument.releaseEvents documentation> 
 releaseEvents :: (MonadDOM m) => HTMLDocument -> m ()
-releaseEvents self = liftDOM (void (self ^. js "releaseEvents"))
+releaseEvents self
+  = liftDOM (void (self ^. jsf "releaseEvents" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLDocument.embeds Mozilla HTMLDocument.embeds documentation> 
 getEmbeds ::
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
@@ -58,7 +58,8 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.click Mozilla HTMLElement.click documentation> 
 click :: (MonadDOM m, IsHTMLElement self) => self -> m ()
-click self = liftDOM (void ((toHTMLElement self) ^. js "click"))
+click self
+  = liftDOM (void ((toHTMLElement self) ^. jsf "click" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.title Mozilla HTMLElement.title documentation> 
 setTitle ::
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
@@ -21,7 +21,7 @@
 getSVGDocument ::
                (MonadDOM m) => HTMLEmbedElement -> m (Maybe SVGDocument)
 getSVGDocument self
-  = liftDOM ((self ^. js "getSVGDocument") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getSVGDocument" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLEmbedElement.align Mozilla HTMLEmbedElement.align documentation> 
 setAlign ::
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
@@ -21,7 +21,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.checkValidity Mozilla HTMLFieldSetElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLFieldSetElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement.setCustomValidity Mozilla HTMLFieldSetElement.setCustomValidity documentation> 
 setCustomValidity ::
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
@@ -30,21 +30,21 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.submit Mozilla HTMLFormElement.submit documentation> 
 submit :: (MonadDOM m) => HTMLFormElement -> m ()
-submit self = liftDOM (void (self ^. js "submit"))
+submit self = liftDOM (void (self ^. jsf "submit" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.reset Mozilla HTMLFormElement.reset documentation> 
 reset :: (MonadDOM m) => HTMLFormElement -> m ()
-reset self = liftDOM (void (self ^. js "reset"))
+reset self = liftDOM (void (self ^. jsf "reset" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.checkValidity Mozilla HTMLFormElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLFormElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.requestAutocomplete Mozilla HTMLFormElement.requestAutocomplete documentation> 
 requestAutocomplete :: (MonadDOM m) => HTMLFormElement -> m ()
 requestAutocomplete self
-  = liftDOM (void (self ^. js "requestAutocomplete"))
+  = liftDOM (void (self ^. jsf "requestAutocomplete" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.acceptCharset Mozilla HTMLFormElement.acceptCharset documentation> 
 setAcceptCharset ::
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
@@ -24,7 +24,7 @@
 getSVGDocument ::
                (MonadDOM m) => HTMLFrameElement -> m (Maybe SVGDocument)
 getSVGDocument self
-  = liftDOM ((self ^. js "getSVGDocument") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getSVGDocument" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLFrameElement.frameBorder Mozilla HTMLFrameElement.frameBorder documentation> 
 setFrameBorder ::
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
@@ -25,7 +25,7 @@
 getSVGDocument ::
                (MonadDOM m) => HTMLIFrameElement -> m (Maybe SVGDocument)
 getSVGDocument self
-  = liftDOM ((self ^. js "getSVGDocument") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getSVGDocument" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement.align Mozilla HTMLIFrameElement.align documentation> 
 setAlign ::
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
@@ -50,7 +50,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement.checkValidity Mozilla HTMLInputElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLInputElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement.setCustomValidity Mozilla HTMLInputElement.setCustomValidity documentation> 
 setCustomValidity ::
@@ -61,7 +61,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement.select Mozilla HTMLInputElement.select documentation> 
 select :: (MonadDOM m) => HTMLInputElement -> m ()
-select self = liftDOM (void (self ^. js "select"))
+select self = liftDOM (void (self ^. jsf "select" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement.setRangeText Mozilla HTMLInputElement.setRangeText documentation> 
 setRangeText ::
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
@@ -22,7 +22,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLKeygenElement.checkValidity Mozilla HTMLKeygenElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLKeygenElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLKeygenElement.setCustomValidity Mozilla HTMLKeygenElement.setCustomValidity documentation> 
 setCustomValidity ::
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
@@ -22,11 +22,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement.start Mozilla HTMLMarqueeElement.start documentation> 
 start :: (MonadDOM m) => HTMLMarqueeElement -> m ()
-start self = liftDOM (void (self ^. js "start"))
+start self = liftDOM (void (self ^. jsf "start" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement.stop Mozilla HTMLMarqueeElement.stop documentation> 
 stop :: (MonadDOM m) => HTMLMarqueeElement -> m ()
-stop self = liftDOM (void (self ^. js "stop"))
+stop self = liftDOM (void (self ^. jsf "stop" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMarqueeElement.behavior Mozilla HTMLMarqueeElement.behavior documentation> 
 setBehavior ::
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
@@ -45,7 +45,8 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.load Mozilla HTMLMediaElement.load documentation> 
 load :: (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
-load self = liftDOM (void ((toHTMLMediaElement self) ^. js "load"))
+load self
+  = liftDOM (void ((toHTMLMediaElement self) ^. jsf "load" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.canPlayType Mozilla HTMLMediaElement.canPlayType documentation> 
 canPlayType ::
@@ -60,12 +61,13 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.play Mozilla HTMLMediaElement.play documentation> 
 play :: (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
-play self = liftDOM (void ((toHTMLMediaElement self) ^. js "play"))
+play self
+  = liftDOM (void ((toHTMLMediaElement self) ^. jsf "play" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.pause Mozilla HTMLMediaElement.pause documentation> 
 pause :: (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
 pause self
-  = liftDOM (void ((toHTMLMediaElement self) ^. js "pause"))
+  = liftDOM (void ((toHTMLMediaElement self) ^. jsf "pause" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.fastSeek Mozilla HTMLMediaElement.fastSeek documentation> 
 fastSeek ::
@@ -136,8 +138,8 @@
                           self -> m (Maybe VideoPlaybackQuality)
 getVideoPlaybackQuality self
   = liftDOM
-      (((toHTMLMediaElement self) ^. js "getVideoPlaybackQuality") >>=
-         fromJSVal)
+      (((toHTMLMediaElement self) ^. jsf "getVideoPlaybackQuality" ())
+         >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitShowPlaybackTargetPicker Mozilla HTMLMediaElement.webkitShowPlaybackTargetPicker documentation> 
 webkitShowPlaybackTargetPicker ::
@@ -145,7 +147,8 @@
 webkitShowPlaybackTargetPicker self
   = liftDOM
       (void
-         ((toHTMLMediaElement self) ^. js "webkitShowPlaybackTargetPicker"))
+         ((toHTMLMediaElement self) ^. jsf "webkitShowPlaybackTargetPicker"
+            ()))
 pattern NETWORK_EMPTY = 0
 pattern NETWORK_IDLE = 1
 pattern NETWORK_LOADING = 2
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
@@ -26,7 +26,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement.checkValidity Mozilla HTMLObjectElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLObjectElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement.setCustomValidity Mozilla HTMLObjectElement.setCustomValidity documentation> 
 setCustomValidity ::
@@ -39,7 +39,7 @@
 getSVGDocument ::
                (MonadDOM m) => HTMLObjectElement -> m (Maybe SVGDocument)
 getSVGDocument self
-  = liftDOM ((self ^. js "getSVGDocument") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getSVGDocument" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement.form Mozilla HTMLObjectElement.form documentation> 
 getForm ::
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
@@ -22,7 +22,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement.checkValidity Mozilla HTMLOutputElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLOutputElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement.setCustomValidity Mozilla HTMLOutputElement.setCustomValidity documentation> 
 setCustomValidity ::
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
@@ -52,12 +52,12 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement.remove Mozilla HTMLSelectElement.remove documentation> 
 remove :: (MonadDOM m) => HTMLSelectElement -> m ()
-remove self = liftDOM (void (self ^. js "remove"))
+remove self = liftDOM (void (self ^. jsf "remove" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement.checkValidity Mozilla HTMLSelectElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLSelectElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement.setCustomValidity Mozilla HTMLSelectElement.setCustomValidity documentation> 
 setCustomValidity ::
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
@@ -26,37 +26,38 @@
 createTHead ::
             (MonadDOM m) => HTMLTableElement -> m (Maybe HTMLElement)
 createTHead self
-  = liftDOM ((self ^. js "createTHead") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createTHead" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.deleteTHead Mozilla HTMLTableElement.deleteTHead documentation> 
 deleteTHead :: (MonadDOM m) => HTMLTableElement -> m ()
-deleteTHead self = liftDOM (void (self ^. js "deleteTHead"))
+deleteTHead self = liftDOM (void (self ^. jsf "deleteTHead" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.createTFoot Mozilla HTMLTableElement.createTFoot documentation> 
 createTFoot ::
             (MonadDOM m) => HTMLTableElement -> m (Maybe HTMLElement)
 createTFoot self
-  = liftDOM ((self ^. js "createTFoot") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createTFoot" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.deleteTFoot Mozilla HTMLTableElement.deleteTFoot documentation> 
 deleteTFoot :: (MonadDOM m) => HTMLTableElement -> m ()
-deleteTFoot self = liftDOM (void (self ^. js "deleteTFoot"))
+deleteTFoot self = liftDOM (void (self ^. jsf "deleteTFoot" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.createTBody Mozilla HTMLTableElement.createTBody documentation> 
 createTBody ::
             (MonadDOM m) => HTMLTableElement -> m (Maybe HTMLElement)
 createTBody self
-  = liftDOM ((self ^. js "createTBody") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createTBody" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.createCaption Mozilla HTMLTableElement.createCaption documentation> 
 createCaption ::
               (MonadDOM m) => HTMLTableElement -> m (Maybe HTMLElement)
 createCaption self
-  = liftDOM ((self ^. js "createCaption") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createCaption" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.deleteCaption Mozilla HTMLTableElement.deleteCaption documentation> 
 deleteCaption :: (MonadDOM m) => HTMLTableElement -> m ()
-deleteCaption self = liftDOM (void (self ^. js "deleteCaption"))
+deleteCaption self
+  = liftDOM (void (self ^. jsf "deleteCaption" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement.insertRow Mozilla HTMLTableElement.insertRow documentation> 
 insertRow ::
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
@@ -30,7 +30,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement.checkValidity Mozilla HTMLTextAreaElement.checkValidity documentation> 
 checkValidity :: (MonadDOM m) => HTMLTextAreaElement -> m Bool
 checkValidity self
-  = liftDOM ((self ^. js "checkValidity") >>= valToBool)
+  = liftDOM ((self ^. jsf "checkValidity" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement.setCustomValidity Mozilla HTMLTextAreaElement.setCustomValidity documentation> 
 setCustomValidity ::
@@ -41,7 +41,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement.select Mozilla HTMLTextAreaElement.select documentation> 
 select :: (MonadDOM m) => HTMLTextAreaElement -> m ()
-select self = liftDOM (void (self ^. js "select"))
+select self = liftDOM (void (self ^. jsf "select" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement.setRangeText Mozilla HTMLTextAreaElement.setRangeText documentation> 
 setRangeText ::
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
@@ -28,22 +28,22 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.webkitEnterFullscreen Mozilla HTMLVideoElement.webkitEnterFullscreen documentation> 
 webkitEnterFullscreen :: (MonadDOM m) => HTMLVideoElement -> m ()
 webkitEnterFullscreen self
-  = liftDOM (void (self ^. js "webkitEnterFullscreen"))
+  = liftDOM (void (self ^. jsf "webkitEnterFullscreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.webkitExitFullscreen Mozilla HTMLVideoElement.webkitExitFullscreen documentation> 
 webkitExitFullscreen :: (MonadDOM m) => HTMLVideoElement -> m ()
 webkitExitFullscreen self
-  = liftDOM (void (self ^. js "webkitExitFullscreen"))
+  = liftDOM (void (self ^. jsf "webkitExitFullscreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.webkitEnterFullScreen Mozilla HTMLVideoElement.webkitEnterFullScreen documentation> 
 webkitEnterFullScreen :: (MonadDOM m) => HTMLVideoElement -> m ()
 webkitEnterFullScreen self
-  = liftDOM (void (self ^. js "webkitEnterFullScreen"))
+  = liftDOM (void (self ^. jsf "webkitEnterFullScreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.webkitExitFullScreen Mozilla HTMLVideoElement.webkitExitFullScreen documentation> 
 webkitExitFullScreen :: (MonadDOM m) => HTMLVideoElement -> m ()
 webkitExitFullScreen self
-  = liftDOM (void (self ^. js "webkitExitFullScreen"))
+  = liftDOM (void (self ^. jsf "webkitExitFullScreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.webkitSupportsPresentationMode Mozilla HTMLVideoElement.webkitSupportsPresentationMode documentation> 
 webkitSupportsPresentationMode ::
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
@@ -18,11 +18,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/History.back Mozilla History.back documentation> 
 back :: (MonadDOM m) => History -> m ()
-back self = liftDOM (void (self ^. js "back"))
+back self = liftDOM (void (self ^. jsf "back" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/History.forward Mozilla History.forward documentation> 
 forward :: (MonadDOM m) => History -> m ()
-forward self = liftDOM (void (self ^. js "forward"))
+forward self = liftDOM (void (self ^. jsf "forward" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/History.go Mozilla History.go documentation> 
 go :: (MonadDOM m) => History -> Int -> m ()
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
@@ -42,7 +42,7 @@
 delete ::
        (MonadDOM m, IsIDBCursor self) => self -> m (Maybe IDBRequest)
 delete self
-  = liftDOM (((toIDBCursor self) ^. js "delete") >>= fromJSVal)
+  = liftDOM (((toIDBCursor self) ^. jsf "delete" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBCursor.source Mozilla IDBCursor.source documentation> 
 getSource ::
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
@@ -53,7 +53,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase.close Mozilla IDBDatabase.close documentation> 
 close :: (MonadDOM m) => IDBDatabase -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase.name Mozilla IDBDatabase.name documentation> 
 getName ::
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
@@ -63,7 +63,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore.clear Mozilla IDBObjectStore.clear documentation> 
 clear :: (MonadDOM m) => IDBObjectStore -> m (Maybe IDBRequest)
-clear self = liftDOM ((self ^. js "clear") >>= fromJSVal)
+clear self = liftDOM ((self ^. jsf "clear" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore.openCursor Mozilla IDBObjectStore.openCursor documentation> 
 openCursorRange ::
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
@@ -27,7 +27,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBTransaction.abort Mozilla IDBTransaction.abort documentation> 
 abort :: (MonadDOM m) => IDBTransaction -> m ()
-abort self = liftDOM (void (self ^. js "abort"))
+abort self = liftDOM (void (self ^. jsf "abort" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/IDBTransaction.mode Mozilla IDBTransaction.mode documentation> 
 getMode ::
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
@@ -25,15 +25,15 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.loaded Mozilla InspectorFrontendHost.loaded documentation> 
 loaded :: (MonadDOM m) => InspectorFrontendHost -> m ()
-loaded self = liftDOM (void (self ^. js "loaded"))
+loaded self = liftDOM (void (self ^. jsf "loaded" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.closeWindow Mozilla InspectorFrontendHost.closeWindow documentation> 
 closeWindow :: (MonadDOM m) => InspectorFrontendHost -> m ()
-closeWindow self = liftDOM (void (self ^. js "closeWindow"))
+closeWindow self = liftDOM (void (self ^. jsf "closeWindow" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.bringToFront Mozilla InspectorFrontendHost.bringToFront documentation> 
 bringToFront :: (MonadDOM m) => InspectorFrontendHost -> m ()
-bringToFront self = liftDOM (void (self ^. js "bringToFront"))
+bringToFront self = liftDOM (void (self ^. jsf "bringToFront" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.setZoomFactor Mozilla InspectorFrontendHost.setZoomFactor documentation> 
 setZoomFactor ::
@@ -89,14 +89,15 @@
                       InspectorFrontendHost -> m result
 localizedStringsURL self
   = liftDOM
-      ((self ^. js "localizedStringsURL") >>= fromJSValUnchecked)
+      ((self ^. jsf "localizedStringsURL" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.debuggableType Mozilla InspectorFrontendHost.debuggableType documentation> 
 debuggableType ::
                (MonadDOM m, FromJSString result) =>
                  InspectorFrontendHost -> m result
 debuggableType self
-  = liftDOM ((self ^. js "debuggableType") >>= fromJSValUnchecked)
+  = liftDOM
+      ((self ^. jsf "debuggableType" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.copyText Mozilla InspectorFrontendHost.copyText documentation> 
 copyText ::
@@ -114,7 +115,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.canSave Mozilla InspectorFrontendHost.canSave documentation> 
 canSave :: (MonadDOM m) => InspectorFrontendHost -> m Bool
-canSave self = liftDOM ((self ^. js "canSave") >>= valToBool)
+canSave self = liftDOM ((self ^. jsf "canSave" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.save Mozilla InspectorFrontendHost.save documentation> 
 save ::
@@ -146,13 +147,14 @@
          (MonadDOM m, FromJSString result) =>
            InspectorFrontendHost -> m result
 platform self
-  = liftDOM ((self ^. js "platform") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "platform" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.port Mozilla InspectorFrontendHost.port documentation> 
 port ::
      (MonadDOM m, FromJSString result) =>
        InspectorFrontendHost -> m result
-port self = liftDOM ((self ^. js "port") >>= fromJSValUnchecked)
+port self
+  = liftDOM ((self ^. jsf "port" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.showContextMenu Mozilla InspectorFrontendHost.showContextMenu documentation> 
 showContextMenu ::
@@ -190,18 +192,19 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.isUnderTest Mozilla InspectorFrontendHost.isUnderTest documentation> 
 isUnderTest :: (MonadDOM m) => InspectorFrontendHost -> m Bool
 isUnderTest self
-  = liftDOM ((self ^. js "isUnderTest") >>= valToBool)
+  = liftDOM ((self ^. jsf "isUnderTest" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.beep Mozilla InspectorFrontendHost.beep documentation> 
 beep :: (MonadDOM m) => InspectorFrontendHost -> m ()
-beep self = liftDOM (void (self ^. js "beep"))
+beep self = liftDOM (void (self ^. jsf "beep" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.canInspectWorkers Mozilla InspectorFrontendHost.canInspectWorkers documentation> 
 canInspectWorkers ::
                   (MonadDOM m) => InspectorFrontendHost -> m Bool
 canInspectWorkers self
-  = liftDOM ((self ^. js "canInspectWorkers") >>= valToBool)
+  = liftDOM ((self ^. jsf "canInspectWorkers" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/InspectorFrontendHost.canSaveAs Mozilla InspectorFrontendHost.canSaveAs documentation> 
 canSaveAs :: (MonadDOM m) => InspectorFrontendHost -> m Bool
-canSaveAs self = liftDOM ((self ^. js "canSaveAs") >>= valToBool)
+canSaveAs self
+  = liftDOM ((self ^. jsf "canSaveAs" ()) >>= valToBool)
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
@@ -162,7 +162,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.clearMemoryCache Mozilla Internals.clearMemoryCache documentation> 
 clearMemoryCache :: (MonadDOM m) => Internals -> m ()
 clearMemoryCache self
-  = liftDOM (void (self ^. js "clearMemoryCache"))
+  = liftDOM (void (self ^. jsf "clearMemoryCache" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.pruneMemoryCacheToSize Mozilla Internals.pruneMemoryCacheToSize documentation> 
 pruneMemoryCacheToSize :: (MonadDOM m) => Internals -> Int -> m ()
@@ -174,17 +174,18 @@
 memoryCacheSize :: (MonadDOM m) => Internals -> m Int
 memoryCacheSize self
   = liftDOM
-      (round <$> ((self ^. js "memoryCacheSize") >>= valToNumber))
+      (round <$> ((self ^. jsf "memoryCacheSize" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.clearPageCache Mozilla Internals.clearPageCache documentation> 
 clearPageCache :: (MonadDOM m) => Internals -> m ()
-clearPageCache self = liftDOM (void (self ^. js "clearPageCache"))
+clearPageCache self
+  = liftDOM (void (self ^. jsf "clearPageCache" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.pageCacheSize Mozilla Internals.pageCacheSize documentation> 
 pageCacheSize :: (MonadDOM m) => Internals -> m Word
 pageCacheSize self
   = liftDOM
-      (round <$> ((self ^. js "pageCacheSize") >>= valToNumber))
+      (round <$> ((self ^. jsf "pageCacheSize" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.computedStyleIncludingVisitedInfo Mozilla Internals.computedStyleIncludingVisitedInfo documentation> 
 computedStyleIncludingVisitedInfo ::
@@ -275,7 +276,7 @@
 lastSpatialNavigationCandidateCount self
   = liftDOM
       (round <$>
-         ((self ^. js "lastSpatialNavigationCandidateCount") >>=
+         ((self ^. jsf "lastSpatialNavigationCandidateCount" ()) >>=
             valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.numberOfActiveAnimations Mozilla Internals.numberOfActiveAnimations documentation> 
@@ -283,22 +284,22 @@
 numberOfActiveAnimations self
   = liftDOM
       (round <$>
-         ((self ^. js "numberOfActiveAnimations") >>= valToNumber))
+         ((self ^. jsf "numberOfActiveAnimations" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.suspendAnimations Mozilla Internals.suspendAnimations documentation> 
 suspendAnimations :: (MonadDOM m) => Internals -> m ()
 suspendAnimations self
-  = liftDOM (void (self ^. js "suspendAnimations"))
+  = liftDOM (void (self ^. jsf "suspendAnimations" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.resumeAnimations Mozilla Internals.resumeAnimations documentation> 
 resumeAnimations :: (MonadDOM m) => Internals -> m ()
 resumeAnimations self
-  = liftDOM (void (self ^. js "resumeAnimations"))
+  = liftDOM (void (self ^. jsf "resumeAnimations" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.animationsAreSuspended Mozilla Internals.animationsAreSuspended documentation> 
 animationsAreSuspended :: (MonadDOM m) => Internals -> m Bool
 animationsAreSuspended self
-  = liftDOM ((self ^. js "animationsAreSuspended") >>= valToBool)
+  = liftDOM ((self ^. jsf "animationsAreSuspended" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.pauseAnimationAtTimeOnElement Mozilla Internals.pauseAnimationAtTimeOnElement documentation> 
 pauseAnimationAtTimeOnElement ::
@@ -379,7 +380,7 @@
                                       (MonadDOM m, FromJSString result) => Internals -> m [result]
 formControlStateOfPreviousHistoryItem self
   = liftDOM
-      ((self ^. js "formControlStateOfPreviousHistoryItem") >>=
+      ((self ^. jsf "formControlStateOfPreviousHistoryItem" ()) >>=
          fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setFormControlStateOfPreviousHistoryItem Mozilla Internals.setFormControlStateOfPreviousHistoryItem documentation> 
@@ -396,7 +397,7 @@
 absoluteCaretBounds ::
                     (MonadDOM m) => Internals -> m (Maybe ClientRect)
 absoluteCaretBounds self
-  = liftDOM ((self ^. js "absoluteCaretBounds") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "absoluteCaretBounds" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.boundingBox Mozilla Internals.boundingBox documentation> 
 boundingBox ::
@@ -410,14 +411,16 @@
 inspectorHighlightRects ::
                         (MonadDOM m) => Internals -> m (Maybe ClientRectList)
 inspectorHighlightRects self
-  = liftDOM ((self ^. js "inspectorHighlightRects") >>= fromJSVal)
+  = liftDOM
+      ((self ^. jsf "inspectorHighlightRects" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.inspectorHighlightObject Mozilla Internals.inspectorHighlightObject documentation> 
 inspectorHighlightObject ::
                          (MonadDOM m, FromJSString result) => Internals -> m result
 inspectorHighlightObject self
   = liftDOM
-      ((self ^. js "inspectorHighlightObject") >>= fromJSValUnchecked)
+      ((self ^. jsf "inspectorHighlightObject" ()) >>=
+         fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.markerCountForNode Mozilla Internals.markerCountForNode documentation> 
 markerCountForNode ::
@@ -471,7 +474,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.invalidateFontCache Mozilla Internals.invalidateFontCache documentation> 
 invalidateFontCache :: (MonadDOM m) => Internals -> m ()
 invalidateFontCache self
-  = liftDOM (void (self ^. js "invalidateFontCache"))
+  = liftDOM (void (self ^. jsf "invalidateFontCache" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setScrollViewPosition Mozilla Internals.setScrollViewPosition documentation> 
 setScrollViewPosition ::
@@ -555,7 +558,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.paintControlTints Mozilla Internals.paintControlTints documentation> 
 paintControlTints :: (MonadDOM m) => Internals -> m ()
 paintControlTints self
-  = liftDOM (void (self ^. js "paintControlTints"))
+  = liftDOM (void (self ^. jsf "paintControlTints" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.scrollElementToRect Mozilla Internals.scrollElementToRect documentation> 
 scrollElementToRect ::
@@ -636,7 +639,7 @@
 lastSpellCheckRequestSequence self
   = liftDOM
       (round <$>
-         ((self ^. js "lastSpellCheckRequestSequence") >>= valToNumber))
+         ((self ^. jsf "lastSpellCheckRequestSequence" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.lastSpellCheckProcessedSequence Mozilla Internals.lastSpellCheckProcessedSequence documentation> 
 lastSpellCheckProcessedSequence ::
@@ -644,14 +647,16 @@
 lastSpellCheckProcessedSequence self
   = liftDOM
       (round <$>
-         ((self ^. js "lastSpellCheckProcessedSequence") >>= valToNumber))
+         ((self ^. jsf "lastSpellCheckProcessedSequence" ()) >>=
+            valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.userPreferredLanguages Mozilla Internals.userPreferredLanguages documentation> 
 userPreferredLanguages ::
                        (MonadDOM m, FromJSString result) => Internals -> m [result]
 userPreferredLanguages self
   = liftDOM
-      ((self ^. js "userPreferredLanguages") >>= fromJSArrayUnchecked)
+      ((self ^. jsf "userPreferredLanguages" ()) >>=
+         fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setUserPreferredLanguages Mozilla Internals.setUserPreferredLanguages documentation> 
 setUserPreferredLanguages ::
@@ -667,13 +672,15 @@
 wheelEventHandlerCount :: (MonadDOM m) => Internals -> m Word
 wheelEventHandlerCount self
   = liftDOM
-      (round <$> ((self ^. js "wheelEventHandlerCount") >>= valToNumber))
+      (round <$>
+         ((self ^. jsf "wheelEventHandlerCount" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.touchEventHandlerCount Mozilla Internals.touchEventHandlerCount documentation> 
 touchEventHandlerCount :: (MonadDOM m) => Internals -> m Word
 touchEventHandlerCount self
   = liftDOM
-      (round <$> ((self ^. js "touchEventHandlerCount") >>= valToNumber))
+      (round <$>
+         ((self ^. jsf "touchEventHandlerCount" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.nodesFromRect Mozilla Internals.nodesFromRect documentation> 
 nodesFromRect ::
@@ -706,7 +713,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.updateEditorUINowIfScheduled Mozilla Internals.updateEditorUINowIfScheduled documentation> 
 updateEditorUINowIfScheduled :: (MonadDOM m) => Internals -> m ()
 updateEditorUINowIfScheduled self
-  = liftDOM (void (self ^. js "updateEditorUINowIfScheduled"))
+  = liftDOM (void (self ^. jsf "updateEditorUINowIfScheduled" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.hasSpellingMarker Mozilla Internals.hasSpellingMarker documentation> 
 hasSpellingMarker ::
@@ -789,19 +796,19 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.isOverwriteModeEnabled Mozilla Internals.isOverwriteModeEnabled documentation> 
 isOverwriteModeEnabled :: (MonadDOM m) => Internals -> m Bool
 isOverwriteModeEnabled self
-  = liftDOM ((self ^. js "isOverwriteModeEnabled") >>= valToBool)
+  = liftDOM ((self ^. jsf "isOverwriteModeEnabled" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.toggleOverwriteModeEnabled Mozilla Internals.toggleOverwriteModeEnabled documentation> 
 toggleOverwriteModeEnabled :: (MonadDOM m) => Internals -> m ()
 toggleOverwriteModeEnabled self
-  = liftDOM (void (self ^. js "toggleOverwriteModeEnabled"))
+  = liftDOM (void (self ^. jsf "toggleOverwriteModeEnabled" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.numberOfScrollableAreas Mozilla Internals.numberOfScrollableAreas documentation> 
 numberOfScrollableAreas :: (MonadDOM m) => Internals -> m Word
 numberOfScrollableAreas self
   = liftDOM
       (round <$>
-         ((self ^. js "numberOfScrollableAreas") >>= valToNumber))
+         ((self ^. jsf "numberOfScrollableAreas" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.isPageBoxVisible Mozilla Internals.isPageBoxVisible documentation> 
 isPageBoxVisible :: (MonadDOM m) => Internals -> Int -> m Bool
@@ -824,38 +831,40 @@
                          (MonadDOM m, FromJSString result) => Internals -> m result
 scrollingStateTreeAsText self
   = liftDOM
-      ((self ^. js "scrollingStateTreeAsText") >>= fromJSValUnchecked)
+      ((self ^. jsf "scrollingStateTreeAsText" ()) >>=
+         fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.mainThreadScrollingReasons Mozilla Internals.mainThreadScrollingReasons documentation> 
 mainThreadScrollingReasons ::
                            (MonadDOM m, FromJSString result) => Internals -> m result
 mainThreadScrollingReasons self
   = liftDOM
-      ((self ^. js "mainThreadScrollingReasons") >>= fromJSValUnchecked)
+      ((self ^. jsf "mainThreadScrollingReasons" ()) >>=
+         fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.nonFastScrollableRects Mozilla Internals.nonFastScrollableRects documentation> 
 nonFastScrollableRects ::
                        (MonadDOM m) => Internals -> m (Maybe ClientRectList)
 nonFastScrollableRects self
-  = liftDOM ((self ^. js "nonFastScrollableRects") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "nonFastScrollableRects" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.repaintRectsAsText Mozilla Internals.repaintRectsAsText documentation> 
 repaintRectsAsText ::
                    (MonadDOM m, FromJSString result) => Internals -> m result
 repaintRectsAsText self
   = liftDOM
-      ((self ^. js "repaintRectsAsText") >>= fromJSValUnchecked)
+      ((self ^. jsf "repaintRectsAsText" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.garbageCollectDocumentResources Mozilla Internals.garbageCollectDocumentResources documentation> 
 garbageCollectDocumentResources ::
                                 (MonadDOM m) => Internals -> m ()
 garbageCollectDocumentResources self
-  = liftDOM (void (self ^. js "garbageCollectDocumentResources"))
+  = liftDOM (void (self ^. jsf "garbageCollectDocumentResources" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.allowRoundingHacks Mozilla Internals.allowRoundingHacks documentation> 
 allowRoundingHacks :: (MonadDOM m) => Internals -> m ()
 allowRoundingHacks self
-  = liftDOM (void (self ^. js "allowRoundingHacks"))
+  = liftDOM (void (self ^. jsf "allowRoundingHacks" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.insertAuthorCSS Mozilla Internals.insertAuthorCSS documentation> 
 insertAuthorCSS ::
@@ -896,20 +905,21 @@
 numberOfLiveNodes :: (MonadDOM m) => Internals -> m Word
 numberOfLiveNodes self
   = liftDOM
-      (round <$> ((self ^. js "numberOfLiveNodes") >>= valToNumber))
+      (round <$> ((self ^. jsf "numberOfLiveNodes" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.numberOfLiveDocuments Mozilla Internals.numberOfLiveDocuments documentation> 
 numberOfLiveDocuments :: (MonadDOM m) => Internals -> m Word
 numberOfLiveDocuments self
   = liftDOM
-      (round <$> ((self ^. js "numberOfLiveDocuments") >>= valToNumber))
+      (round <$>
+         ((self ^. jsf "numberOfLiveDocuments" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.consoleMessageArgumentCounts Mozilla Internals.consoleMessageArgumentCounts documentation> 
 consoleMessageArgumentCounts ::
                              (MonadDOM m, FromJSString result) => Internals -> m [result]
 consoleMessageArgumentCounts self
   = liftDOM
-      ((self ^. js "consoleMessageArgumentCounts") >>=
+      ((self ^. jsf "consoleMessageArgumentCounts" ()) >>=
          fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.openDummyInspectorFrontend Mozilla Internals.openDummyInspectorFrontend documentation> 
@@ -924,7 +934,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.closeDummyInspectorFrontend Mozilla Internals.closeDummyInspectorFrontend documentation> 
 closeDummyInspectorFrontend :: (MonadDOM m) => Internals -> m ()
 closeDummyInspectorFrontend self
-  = liftDOM (void (self ^. js "closeDummyInspectorFrontend"))
+  = liftDOM (void (self ^. jsf "closeDummyInspectorFrontend" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setJavaScriptProfilingEnabled Mozilla Internals.setJavaScriptProfilingEnabled documentation> 
 setJavaScriptProfilingEnabled ::
@@ -967,13 +977,13 @@
                  (MonadDOM m, FromJSString result) => Internals -> m [result]
 shortcutIconURLs self
   = liftDOM
-      ((self ^. js "shortcutIconURLs") >>= fromJSArrayUnchecked)
+      ((self ^. jsf "shortcutIconURLs" ()) >>= fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.allIconURLs Mozilla Internals.allIconURLs documentation> 
 allIconURLs ::
             (MonadDOM m, FromJSString result) => Internals -> m [result]
 allIconURLs self
-  = liftDOM ((self ^. js "allIconURLs") >>= fromJSArrayUnchecked)
+  = liftDOM ((self ^. jsf "allIconURLs" ()) >>= fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.numberOfPages Mozilla Internals.numberOfPages documentation> 
 numberOfPages ::
@@ -1114,34 +1124,36 @@
 mallocStatistics ::
                  (MonadDOM m) => Internals -> m (Maybe MallocStatistics)
 mallocStatistics self
-  = liftDOM ((self ^. js "mallocStatistics") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "mallocStatistics" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.typeConversions Mozilla Internals.typeConversions documentation> 
 typeConversions ::
                 (MonadDOM m) => Internals -> m (Maybe TypeConversions)
 typeConversions self
-  = liftDOM ((self ^. js "typeConversions") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "typeConversions" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.memoryInfo Mozilla Internals.memoryInfo documentation> 
 memoryInfo :: (MonadDOM m) => Internals -> m (Maybe MemoryInfo)
-memoryInfo self = liftDOM ((self ^. js "memoryInfo") >>= fromJSVal)
+memoryInfo self
+  = liftDOM ((self ^. jsf "memoryInfo" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.getReferencedFilePaths Mozilla Internals.getReferencedFilePaths documentation> 
 getReferencedFilePaths ::
                        (MonadDOM m, FromJSString result) => Internals -> m [result]
 getReferencedFilePaths self
   = liftDOM
-      ((self ^. js "getReferencedFilePaths") >>= fromJSArrayUnchecked)
+      ((self ^. jsf "getReferencedFilePaths" ()) >>=
+         fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.startTrackingRepaints Mozilla Internals.startTrackingRepaints documentation> 
 startTrackingRepaints :: (MonadDOM m) => Internals -> m ()
 startTrackingRepaints self
-  = liftDOM (void (self ^. js "startTrackingRepaints"))
+  = liftDOM (void (self ^. jsf "startTrackingRepaints" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.stopTrackingRepaints Mozilla Internals.stopTrackingRepaints documentation> 
 stopTrackingRepaints :: (MonadDOM m) => Internals -> m ()
 stopTrackingRepaints self
-  = liftDOM (void (self ^. js "stopTrackingRepaints"))
+  = liftDOM (void (self ^. jsf "stopTrackingRepaints" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.isTimerThrottled Mozilla Internals.isTimerThrottled documentation> 
 isTimerThrottled :: (MonadDOM m) => Internals -> Int -> m Bool
@@ -1166,7 +1178,7 @@
                      (MonadDOM m, FromJSString result) => Internals -> m result
 getCurrentCursorInfo self
   = liftDOM
-      ((self ^. js "getCurrentCursorInfo") >>= fromJSValUnchecked)
+      ((self ^. jsf "getCurrentCursorInfo" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.markerTextForListItem Mozilla Internals.markerTextForListItem documentation> 
 markerTextForListItem ::
@@ -1234,12 +1246,12 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.initializeMockCDM Mozilla Internals.initializeMockCDM documentation> 
 initializeMockCDM :: (MonadDOM m) => Internals -> m ()
 initializeMockCDM self
-  = liftDOM (void (self ^. js "initializeMockCDM"))
+  = liftDOM (void (self ^. jsf "initializeMockCDM" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.enableMockSpeechSynthesizer Mozilla Internals.enableMockSpeechSynthesizer documentation> 
 enableMockSpeechSynthesizer :: (MonadDOM m) => Internals -> m ()
 enableMockSpeechSynthesizer self
-  = liftDOM (void (self ^. js "enableMockSpeechSynthesizer"))
+  = liftDOM (void (self ^. jsf "enableMockSpeechSynthesizer" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.getImageSourceURL Mozilla Internals.getImageSourceURL documentation> 
 getImageSourceURL ::
@@ -1255,7 +1267,8 @@
                            (MonadDOM m, FromJSString result) => Internals -> m result
 captionsStyleSheetOverride self
   = liftDOM
-      ((self ^. js "captionsStyleSheetOverride") >>= fromJSValUnchecked)
+      ((self ^. jsf "captionsStyleSheetOverride" ()) >>=
+         fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setCaptionsStyleSheetOverride Mozilla Internals.setCaptionsStyleSheetOverride documentation> 
 setCaptionsStyleSheetOverride ::
@@ -1312,7 +1325,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.isVibrating Mozilla Internals.isVibrating documentation> 
 isVibrating :: (MonadDOM m) => Internals -> m Bool
 isVibrating self
-  = liftDOM ((self ^. js "isVibrating") >>= valToBool)
+  = liftDOM ((self ^. jsf "isVibrating" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.isPluginUnavailabilityIndicatorObscured Mozilla Internals.isPluginUnavailabilityIndicatorObscured documentation> 
 isPluginUnavailabilityIndicatorObscured ::
@@ -1337,12 +1350,12 @@
 selectionBounds ::
                 (MonadDOM m) => Internals -> m (Maybe ClientRect)
 selectionBounds self
-  = liftDOM ((self ^. js "selectionBounds") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "selectionBounds" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.initializeMockMediaSource Mozilla Internals.initializeMockMediaSource documentation> 
 initializeMockMediaSource :: (MonadDOM m) => Internals -> m ()
 initializeMockMediaSource self
-  = liftDOM (void (self ^. js "initializeMockMediaSource"))
+  = liftDOM (void (self ^. jsf "initializeMockMediaSource" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.bufferedSamplesForTrackID Mozilla Internals.bufferedSamplesForTrackID documentation> 
 bufferedSamplesForTrackID ::
@@ -1357,7 +1370,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.beginMediaSessionInterruption Mozilla Internals.beginMediaSessionInterruption documentation> 
 beginMediaSessionInterruption :: (MonadDOM m) => Internals -> m ()
 beginMediaSessionInterruption self
-  = liftDOM (void (self ^. js "beginMediaSessionInterruption"))
+  = liftDOM (void (self ^. jsf "beginMediaSessionInterruption" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.endMediaSessionInterruption Mozilla Internals.endMediaSessionInterruption documentation> 
 endMediaSessionInterruption ::
@@ -1369,12 +1382,12 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.applicationWillEnterForeground Mozilla Internals.applicationWillEnterForeground documentation> 
 applicationWillEnterForeground :: (MonadDOM m) => Internals -> m ()
 applicationWillEnterForeground self
-  = liftDOM (void (self ^. js "applicationWillEnterForeground"))
+  = liftDOM (void (self ^. jsf "applicationWillEnterForeground" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.applicationWillEnterBackground Mozilla Internals.applicationWillEnterBackground documentation> 
 applicationWillEnterBackground :: (MonadDOM m) => Internals -> m ()
 applicationWillEnterBackground self
-  = liftDOM (void (self ^. js "applicationWillEnterBackground"))
+  = liftDOM (void (self ^. jsf "applicationWillEnterBackground" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setMediaSessionRestrictions Mozilla Internals.setMediaSessionRestrictions documentation> 
 setMediaSessionRestrictions ::
@@ -1396,12 +1409,12 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.simulateSystemSleep Mozilla Internals.simulateSystemSleep documentation> 
 simulateSystemSleep :: (MonadDOM m) => Internals -> m ()
 simulateSystemSleep self
-  = liftDOM (void (self ^. js "simulateSystemSleep"))
+  = liftDOM (void (self ^. jsf "simulateSystemSleep" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.simulateSystemWake Mozilla Internals.simulateSystemWake documentation> 
 simulateSystemWake :: (MonadDOM m) => Internals -> m ()
 simulateSystemWake self
-  = liftDOM (void (self ^. js "simulateSystemWake"))
+  = liftDOM (void (self ^. jsf "simulateSystemWake" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.elementIsBlockingDisplaySleep Mozilla Internals.elementIsBlockingDisplaySleep documentation> 
 elementIsBlockingDisplaySleep ::
@@ -1424,7 +1437,8 @@
                            (MonadDOM m, FromJSString result) => Internals -> m result
 pageOverlayLayerTreeAsText self
   = liftDOM
-      ((self ^. js "pageOverlayLayerTreeAsText") >>= fromJSValUnchecked)
+      ((self ^. jsf "pageOverlayLayerTreeAsText" ()) >>=
+         fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.setPageMuted Mozilla Internals.setPageMuted documentation> 
 setPageMuted :: (MonadDOM m) => Internals -> Bool -> m ()
@@ -1434,7 +1448,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Internals.isPagePlayingAudio Mozilla Internals.isPagePlayingAudio documentation> 
 isPagePlayingAudio :: (MonadDOM m) => Internals -> m Bool
 isPagePlayingAudio self
-  = liftDOM ((self ^. js "isPagePlayingAudio") >>= valToBool)
+  = liftDOM ((self ^. jsf "isPagePlayingAudio" ()) >>= valToBool)
 pattern LAYER_TREE_INCLUDES_VISIBLE_RECTS = 1
 pattern LAYER_TREE_INCLUDES_TILE_CACHES = 2
 pattern LAYER_TREE_INCLUDES_REPAINT_RECTS = 4
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
@@ -31,13 +31,13 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Location.reload Mozilla Location.reload documentation> 
 reload :: (MonadDOM m) => Location -> m ()
-reload self = liftDOM (void (self ^. js "reload"))
+reload self = liftDOM (void (self ^. jsf "reload" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Location.toString Mozilla Location.toString documentation> 
 toString ::
          (MonadDOM m, FromJSString result) => Location -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Location.href Mozilla Location.href documentation> 
 setHref :: (MonadDOM m, ToJSString val) => Location -> val -> m ()
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
@@ -27,15 +27,15 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaController.play Mozilla MediaController.play documentation> 
 play :: (MonadDOM m) => MediaController -> m ()
-play self = liftDOM (void (self ^. js "play"))
+play self = liftDOM (void (self ^. jsf "play" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaController.pause Mozilla MediaController.pause documentation> 
 pause :: (MonadDOM m) => MediaController -> m ()
-pause self = liftDOM (void (self ^. js "pause"))
+pause self = liftDOM (void (self ^. jsf "pause" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaController.unpause Mozilla MediaController.unpause documentation> 
 unpause :: (MonadDOM m) => MediaController -> m ()
-unpause self = liftDOM (void (self ^. js "unpause"))
+unpause self = liftDOM (void (self ^. jsf "unpause" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaController.buffered Mozilla MediaController.buffered documentation> 
 getBuffered ::
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
@@ -72,23 +72,23 @@
 updateTextTrackContainer ::
                          (MonadDOM m) => MediaControlsHost -> m ()
 updateTextTrackContainer self
-  = liftDOM (void (self ^. js "updateTextTrackContainer"))
+  = liftDOM (void (self ^. jsf "updateTextTrackContainer" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaControlsHost.enteredFullscreen Mozilla MediaControlsHost.enteredFullscreen documentation> 
 enteredFullscreen :: (MonadDOM m) => MediaControlsHost -> m ()
 enteredFullscreen self
-  = liftDOM (void (self ^. js "enteredFullscreen"))
+  = liftDOM (void (self ^. jsf "enteredFullscreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaControlsHost.exitedFullscreen Mozilla MediaControlsHost.exitedFullscreen documentation> 
 exitedFullscreen :: (MonadDOM m) => MediaControlsHost -> m ()
 exitedFullscreen self
-  = liftDOM (void (self ^. js "exitedFullscreen"))
+  = liftDOM (void (self ^. jsf "exitedFullscreen" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaControlsHost.enterFullscreenOptimized Mozilla MediaControlsHost.enterFullscreenOptimized documentation> 
 enterFullscreenOptimized ::
                          (MonadDOM m) => MediaControlsHost -> m ()
 enterFullscreenOptimized self
-  = liftDOM (void (self ^. js "enterFullscreenOptimized"))
+  = liftDOM (void (self ^. jsf "enterFullscreenOptimized" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaControlsHost.mediaUIImageData Mozilla MediaControlsHost.mediaUIImageData documentation> 
 mediaUIImageData ::
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
@@ -26,7 +26,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitMediaKeySession.close Mozilla WebKitMediaKeySession.close documentation> 
 close :: (MonadDOM m) => MediaKeySession -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitMediaKeySession.error Mozilla WebKitMediaKeySession.error documentation> 
 getError ::
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
@@ -42,18 +42,19 @@
 getAudioTracks ::
                (MonadDOM m) => MediaStream -> m [Maybe MediaStreamTrack]
 getAudioTracks self
-  = liftDOM ((self ^. js "getAudioTracks") >>= fromJSArray)
+  = liftDOM ((self ^. jsf "getAudioTracks" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitMediaStream.getVideoTracks Mozilla webkitMediaStream.getVideoTracks documentation> 
 getVideoTracks ::
                (MonadDOM m) => MediaStream -> m [Maybe MediaStreamTrack]
 getVideoTracks self
-  = liftDOM ((self ^. js "getVideoTracks") >>= fromJSArray)
+  = liftDOM ((self ^. jsf "getVideoTracks" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitMediaStream.getTracks Mozilla webkitMediaStream.getTracks documentation> 
 getTracks ::
           (MonadDOM m) => MediaStream -> m [Maybe MediaStreamTrack]
-getTracks self = liftDOM ((self ^. js "getTracks") >>= fromJSArray)
+getTracks self
+  = liftDOM ((self ^. jsf "getTracks" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitMediaStream.addTrack Mozilla webkitMediaStream.addTrack documentation> 
 addTrack ::
@@ -79,7 +80,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitMediaStream.clone Mozilla webkitMediaStream.clone documentation> 
 clone :: (MonadDOM m) => MediaStream -> m (Maybe MediaStream)
-clone self = liftDOM ((self ^. js "clone") >>= fromJSVal)
+clone self = liftDOM ((self ^. jsf "clone" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitMediaStream.id Mozilla webkitMediaStream.id documentation> 
 getId ::
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
@@ -35,7 +35,8 @@
                  self -> m (Maybe MediaTrackConstraints)
 getConstraints self
   = liftDOM
-      (((toMediaStreamTrack self) ^. js "getConstraints") >>= fromJSVal)
+      (((toMediaStreamTrack self) ^. jsf "getConstraints" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.states Mozilla MediaStreamTrack.states documentation> 
 states ::
@@ -43,7 +44,7 @@
          self -> m (Maybe MediaSourceStates)
 states self
   = liftDOM
-      (((toMediaStreamTrack self) ^. js "states") >>= fromJSVal)
+      (((toMediaStreamTrack self) ^. jsf "states" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getCapabilities Mozilla MediaStreamTrack.getCapabilities documentation> 
 getCapabilities ::
@@ -51,7 +52,8 @@
                   self -> m (Maybe MediaStreamCapabilities)
 getCapabilities self
   = liftDOM
-      (((toMediaStreamTrack self) ^. js "getCapabilities") >>= fromJSVal)
+      (((toMediaStreamTrack self) ^. jsf "getCapabilities" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.applyConstraints Mozilla MediaStreamTrack.applyConstraints documentation> 
 applyConstraints ::
@@ -68,11 +70,13 @@
       (MonadDOM m, IsMediaStreamTrack self) =>
         self -> m (Maybe MediaStreamTrack)
 clone self
-  = liftDOM (((toMediaStreamTrack self) ^. js "clone") >>= fromJSVal)
+  = liftDOM
+      (((toMediaStreamTrack self) ^. jsf "clone" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.stop Mozilla MediaStreamTrack.stop documentation> 
 stop :: (MonadDOM m, IsMediaStreamTrack self) => self -> m ()
-stop self = liftDOM (void ((toMediaStreamTrack self) ^. js "stop"))
+stop self
+  = liftDOM (void ((toMediaStreamTrack self) ^. jsf "stop" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.kind Mozilla MediaStreamTrack.kind documentation> 
 getKind ::
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
@@ -28,11 +28,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MessagePort.start Mozilla MessagePort.start documentation> 
 start :: (MonadDOM m) => MessagePort -> m ()
-start self = liftDOM (void (self ^. js "start"))
+start self = liftDOM (void (self ^. jsf "start" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MessagePort.close Mozilla MessagePort.close documentation> 
 close :: (MonadDOM m) => MessagePort -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MessagePort.onmessage Mozilla MessagePort.onmessage documentation> 
 message :: EventName MessagePort MessageEvent
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
@@ -37,8 +37,8 @@
 takeRecords ::
             (MonadDOM m) => MutationObserver -> m [Maybe MutationRecord]
 takeRecords self
-  = liftDOM ((self ^. js "takeRecords") >>= fromJSArray)
+  = liftDOM ((self ^. jsf "takeRecords" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver.disconnect Mozilla MutationObserver.disconnect documentation> 
 disconnect :: (MonadDOM m) => MutationObserver -> m ()
-disconnect self = liftDOM (void (self ^. js "disconnect"))
+disconnect self = liftDOM (void (self ^. jsf "disconnect" ()))
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
@@ -26,7 +26,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Navigator.getGamepads Mozilla Navigator.getGamepads documentation> 
 getGamepads :: (MonadDOM m) => Navigator -> m [Maybe Gamepad]
 getGamepads self
-  = liftDOM ((self ^. js "getGamepads") >>= fromJSArray)
+  = liftDOM ((self ^. jsf "getGamepads" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Navigator.webkitGetUserMedia Mozilla Navigator.webkitGetUserMedia documentation> 
 webkitGetUserMedia ::
@@ -87,12 +87,12 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Navigator.javaEnabled Mozilla Navigator.javaEnabled documentation> 
 javaEnabled :: (MonadDOM m) => Navigator -> m Bool
 javaEnabled self
-  = liftDOM ((self ^. js "javaEnabled") >>= valToBool)
+  = liftDOM ((self ^. jsf "javaEnabled" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Navigator.getStorageUpdates Mozilla Navigator.getStorageUpdates documentation> 
 getStorageUpdates :: (MonadDOM m) => Navigator -> m ()
 getStorageUpdates self
-  = liftDOM (void (self ^. js "getStorageUpdates"))
+  = liftDOM (void (self ^. jsf "getStorageUpdates" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Navigator.webkitBattery Mozilla Navigator.webkitBattery documentation> 
 getWebkitBattery ::
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
@@ -76,7 +76,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Node.hasChildNodes Mozilla Node.hasChildNodes documentation> 
 hasChildNodes :: (MonadDOM m, IsNode self) => self -> m Bool
 hasChildNodes self
-  = liftDOM (((toNode self) ^. js "hasChildNodes") >>= valToBool)
+  = liftDOM (((toNode self) ^. jsf "hasChildNodes" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Node.cloneNode Mozilla Node.cloneNode documentation> 
 cloneNode ::
@@ -87,7 +87,8 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize Mozilla Node.normalize documentation> 
 normalize :: (MonadDOM m, IsNode self) => self -> m ()
-normalize self = liftDOM (void ((toNode self) ^. js "normalize"))
+normalize self
+  = liftDOM (void ((toNode self) ^. jsf "normalize" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Node.isSupported Mozilla Node.isSupported documentation> 
 isSupported ::
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
@@ -20,16 +20,16 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator.nextNode Mozilla NodeIterator.nextNode documentation> 
 nextNode :: (MonadDOM m) => NodeIterator -> m (Maybe Node)
-nextNode self = liftDOM ((self ^. js "nextNode") >>= fromJSVal)
+nextNode self = liftDOM ((self ^. jsf "nextNode" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator.previousNode Mozilla NodeIterator.previousNode documentation> 
 previousNode :: (MonadDOM m) => NodeIterator -> m (Maybe Node)
 previousNode self
-  = liftDOM ((self ^. js "previousNode") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "previousNode" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator.detach Mozilla NodeIterator.detach documentation> 
 detach :: (MonadDOM m) => NodeIterator -> m ()
-detach self = liftDOM (void (self ^. js "detach"))
+detach self = liftDOM (void (self ^. jsf "detach" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NodeIterator.root Mozilla NodeIterator.root documentation> 
 getRoot :: (MonadDOM m) => NodeIterator -> m (Maybe Node)
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
@@ -18,7 +18,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Notification.show Mozilla Notification.show documentation> 
 show :: (MonadDOM m) => Notification -> m ()
-show self = liftDOM (void (self ^. js "show"))
+show self = liftDOM (void (self ^. jsf "show" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Notification.onshow Mozilla Notification.onshow documentation> 
 showEvent :: EventName Notification MouseEvent
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
@@ -33,7 +33,7 @@
 checkPermission :: (MonadDOM m) => NotificationCenter -> m Int
 checkPermission self
   = liftDOM
-      (round <$> ((self ^. js "checkPermission") >>= valToNumber))
+      (round <$> ((self ^. jsf "checkPermission" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/NotificationCenter.requestPermission Mozilla NotificationCenter.requestPermission documentation> 
 requestPermission ::
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
@@ -23,7 +23,7 @@
                      (MonadDOM m) =>
                        OESVertexArrayObject -> m (Maybe WebGLVertexArrayObjectOES)
 createVertexArrayOES self
-  = liftDOM ((self ^. js "createVertexArrayOES") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createVertexArrayOES" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/OESVertexArrayObject.deleteVertexArrayOES Mozilla OESVertexArrayObject.deleteVertexArrayOES documentation> 
 deleteVertexArrayOES ::
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
@@ -40,7 +40,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Path2D.closePath Mozilla Path2D.closePath documentation> 
 closePath :: (MonadDOM m) => Path2D -> m ()
-closePath self = liftDOM (void (self ^. js "closePath"))
+closePath self = liftDOM (void (self ^. jsf "closePath" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Path2D.moveTo Mozilla Path2D.moveTo documentation> 
 moveTo :: (MonadDOM m) => Path2D -> Float -> Float -> m ()
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
@@ -23,7 +23,7 @@
 webkitGetEntries ::
                  (MonadDOM m) => Performance -> m (Maybe PerformanceEntryList)
 webkitGetEntries self
-  = liftDOM ((self ^. js "webkitGetEntries") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "webkitGetEntries" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Performance.webkitGetEntriesByType Mozilla Performance.webkitGetEntriesByType documentation> 
 webkitGetEntriesByType ::
@@ -47,7 +47,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Performance.webkitClearResourceTimings Mozilla Performance.webkitClearResourceTimings documentation> 
 webkitClearResourceTimings :: (MonadDOM m) => Performance -> m ()
 webkitClearResourceTimings self
-  = liftDOM (void (self ^. js "webkitClearResourceTimings"))
+  = liftDOM (void (self ^. jsf "webkitClearResourceTimings" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Performance.webkitSetResourceTimingBufferSize Mozilla Performance.webkitSetResourceTimingBufferSize documentation> 
 webkitSetResourceTimingBufferSize ::
@@ -94,7 +94,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Performance.now Mozilla Performance.now documentation> 
 now :: (MonadDOM m) => Performance -> m Double
-now self = liftDOM ((self ^. js "now") >>= valToNumber)
+now self = liftDOM ((self ^. jsf "now" ()) >>= valToNumber)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Performance.navigation Mozilla Performance.navigation documentation> 
 getNavigation ::
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
@@ -47,7 +47,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel.close Mozilla RTCDataChannel.close documentation> 
 close :: (MonadDOM m) => RTCDataChannel -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel.label Mozilla RTCDataChannel.label documentation> 
 getLabel ::
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
@@ -111,13 +111,13 @@
 getLocalStreams ::
                 (MonadDOM m) => RTCPeerConnection -> m [Maybe MediaStream]
 getLocalStreams self
-  = liftDOM ((self ^. js "getLocalStreams") >>= fromJSArray)
+  = liftDOM ((self ^. jsf "getLocalStreams" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitRTCPeerConnection.getRemoteStreams Mozilla webkitRTCPeerConnection.getRemoteStreams documentation> 
 getRemoteStreams ::
                  (MonadDOM m) => RTCPeerConnection -> m [Maybe MediaStream]
 getRemoteStreams self
-  = liftDOM ((self ^. js "getRemoteStreams") >>= fromJSArray)
+  = liftDOM ((self ^. jsf "getRemoteStreams" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitRTCPeerConnection.getStreamById Mozilla webkitRTCPeerConnection.getStreamById documentation> 
 getStreamById ::
@@ -131,7 +131,7 @@
 getConfiguration ::
                  (MonadDOM m) => RTCPeerConnection -> m (Maybe RTCConfiguration)
 getConfiguration self
-  = liftDOM ((self ^. js "getConfiguration") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getConfiguration" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitRTCPeerConnection.addStream Mozilla webkitRTCPeerConnection.addStream documentation> 
 addStream ::
@@ -178,7 +178,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitRTCPeerConnection.close Mozilla webkitRTCPeerConnection.close documentation> 
 close :: (MonadDOM m) => RTCPeerConnection -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/webkitRTCPeerConnection.localDescription Mozilla webkitRTCPeerConnection.localDescription documentation> 
 getLocalDescription ::
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
@@ -28,7 +28,7 @@
 names ::
       (MonadDOM m, FromJSString result) => RTCStatsReport -> m [result]
 names self
-  = liftDOM ((self ^. js "names") >>= fromJSArrayUnchecked)
+  = liftDOM ((self ^. jsf "names" ()) >>= fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport.timestamp Mozilla RTCStatsReport.timestamp documentation> 
 getTimestamp :: (MonadDOM m) => RTCStatsReport -> m (Maybe Date)
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
@@ -19,7 +19,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsResponse.result Mozilla RTCStatsResponse.result documentation> 
 result ::
        (MonadDOM m) => RTCStatsResponse -> m [Maybe RTCStatsReport]
-result self = liftDOM ((self ^. js "result") >>= fromJSArray)
+result self = liftDOM ((self ^. jsf "result" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsResponse.namedItem Mozilla RTCStatsResponse.namedItem documentation> 
 namedItem ::
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
@@ -101,19 +101,20 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.deleteContents Mozilla Range.deleteContents documentation> 
 deleteContents :: (MonadDOM m) => Range -> m ()
-deleteContents self = liftDOM (void (self ^. js "deleteContents"))
+deleteContents self
+  = liftDOM (void (self ^. jsf "deleteContents" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.extractContents Mozilla Range.extractContents documentation> 
 extractContents ::
                 (MonadDOM m) => Range -> m (Maybe DocumentFragment)
 extractContents self
-  = liftDOM ((self ^. js "extractContents") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "extractContents" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.cloneContents Mozilla Range.cloneContents documentation> 
 cloneContents ::
               (MonadDOM m) => Range -> m (Maybe DocumentFragment)
 cloneContents self
-  = liftDOM ((self ^. js "cloneContents") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "cloneContents" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.insertNode Mozilla Range.insertNode documentation> 
 insertNode ::
@@ -130,27 +131,28 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.cloneRange Mozilla Range.cloneRange documentation> 
 cloneRange :: (MonadDOM m) => Range -> m (Maybe Range)
-cloneRange self = liftDOM ((self ^. js "cloneRange") >>= fromJSVal)
+cloneRange self
+  = liftDOM ((self ^. jsf "cloneRange" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.toString Mozilla Range.toString documentation> 
 toString :: (MonadDOM m, FromJSString result) => Range -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.detach Mozilla Range.detach documentation> 
 detach :: (MonadDOM m) => Range -> m ()
-detach self = liftDOM (void (self ^. js "detach"))
+detach self = liftDOM (void (self ^. jsf "detach" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.getClientRects Mozilla Range.getClientRects documentation> 
 getClientRects :: (MonadDOM m) => Range -> m (Maybe ClientRectList)
 getClientRects self
-  = liftDOM ((self ^. js "getClientRects") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getClientRects" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.getBoundingClientRect Mozilla Range.getBoundingClientRect documentation> 
 getBoundingClientRect ::
                       (MonadDOM m) => Range -> m (Maybe ClientRect)
 getBoundingClientRect self
-  = liftDOM ((self ^. js "getBoundingClientRect") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getBoundingClientRect" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Range.createContextualFragment Mozilla Range.createContextualFragment documentation> 
 createContextualFragment ::
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
@@ -26,7 +26,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream.read Mozilla ReadableStream.read documentation> 
 read :: (MonadDOM m) => ReadableStream -> m (Maybe GObject)
-read self = liftDOM ((self ^. js "read") >>= fromJSVal)
+read self = liftDOM ((self ^. jsf "read" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream.cancel Mozilla ReadableStream.cancel documentation> 
 cancel ::
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
@@ -25,7 +25,7 @@
 getStartTime self
   = liftDOM
       (realToFrac <$>
-         (((toSVGAnimationElement self) ^. js "getStartTime") >>=
+         (((toSVGAnimationElement self) ^. jsf "getStartTime" ()) >>=
             valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement.getCurrentTime Mozilla SVGAnimationElement.getCurrentTime documentation> 
@@ -34,7 +34,7 @@
 getCurrentTime self
   = liftDOM
       (realToFrac <$>
-         (((toSVGAnimationElement self) ^. js "getCurrentTime") >>=
+         (((toSVGAnimationElement self) ^. jsf "getCurrentTime" ()) >>=
             valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement.getSimpleDuration Mozilla SVGAnimationElement.getSimpleDuration documentation> 
@@ -43,7 +43,7 @@
 getSimpleDuration self
   = liftDOM
       (realToFrac <$>
-         (((toSVGAnimationElement self) ^. js "getSimpleDuration") >>=
+         (((toSVGAnimationElement self) ^. jsf "getSimpleDuration" ()) >>=
             valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement.beginElement Mozilla SVGAnimationElement.beginElement documentation> 
@@ -51,7 +51,7 @@
              (MonadDOM m, IsSVGAnimationElement self) => self -> m ()
 beginElement self
   = liftDOM
-      (void ((toSVGAnimationElement self) ^. js "beginElement"))
+      (void ((toSVGAnimationElement self) ^. jsf "beginElement" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement.beginElementAt Mozilla SVGAnimationElement.beginElementAt documentation> 
 beginElementAt ::
@@ -66,7 +66,8 @@
 endElement ::
            (MonadDOM m, IsSVGAnimationElement self) => self -> m ()
 endElement self
-  = liftDOM (void ((toSVGAnimationElement self) ^. js "endElement"))
+  = liftDOM
+      (void ((toSVGAnimationElement self) ^. jsf "endElement" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement.endElementAt Mozilla SVGAnimationElement.endElementAt documentation> 
 endElementAt ::
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
@@ -25,7 +25,7 @@
           self -> m (Maybe SVGRect)
 getBBox self
   = liftDOM
-      (((toSVGGraphicsElement self) ^. js "getBBox") >>= fromJSVal)
+      (((toSVGGraphicsElement self) ^. jsf "getBBox" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGGraphicsElement.getCTM Mozilla SVGGraphicsElement.getCTM documentation> 
 getCTM ::
@@ -33,7 +33,7 @@
          self -> m (Maybe SVGMatrix)
 getCTM self
   = liftDOM
-      (((toSVGGraphicsElement self) ^. js "getCTM") >>= fromJSVal)
+      (((toSVGGraphicsElement self) ^. jsf "getCTM" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGGraphicsElement.getScreenCTM Mozilla SVGGraphicsElement.getScreenCTM documentation> 
 getScreenCTM ::
@@ -41,7 +41,8 @@
                self -> m (Maybe SVGMatrix)
 getScreenCTM self
   = liftDOM
-      (((toSVGGraphicsElement self) ^. js "getScreenCTM") >>= fromJSVal)
+      (((toSVGGraphicsElement self) ^. jsf "getScreenCTM" ()) >>=
+         fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGGraphicsElement.getTransformToElement Mozilla SVGGraphicsElement.getTransformToElement documentation> 
 getTransformToElement ::
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
@@ -19,7 +19,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGLengthList.clear Mozilla SVGLengthList.clear documentation> 
 clear :: (MonadDOM m) => SVGLengthList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGLengthList.initialize Mozilla SVGLengthList.initialize documentation> 
 initialize ::
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
@@ -25,7 +25,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMarkerElement.setOrientToAuto Mozilla SVGMarkerElement.setOrientToAuto documentation> 
 setOrientToAuto :: (MonadDOM m) => SVGMarkerElement -> m ()
 setOrientToAuto self
-  = liftDOM (void (self ^. js "setOrientToAuto"))
+  = liftDOM (void (self ^. jsf "setOrientToAuto" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMarkerElement.setOrientToAngle Mozilla SVGMarkerElement.setOrientToAngle documentation> 
 setOrientToAngle ::
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
@@ -27,7 +27,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.inverse Mozilla SVGMatrix.inverse documentation> 
 inverse :: (MonadDOM m) => SVGMatrix -> m (Maybe SVGMatrix)
-inverse self = liftDOM ((self ^. js "inverse") >>= fromJSVal)
+inverse self = liftDOM ((self ^. jsf "inverse" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.translate Mozilla SVGMatrix.translate documentation> 
 translate ::
@@ -66,11 +66,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.flipX Mozilla SVGMatrix.flipX documentation> 
 flipX :: (MonadDOM m) => SVGMatrix -> m (Maybe SVGMatrix)
-flipX self = liftDOM ((self ^. js "flipX") >>= fromJSVal)
+flipX self = liftDOM ((self ^. jsf "flipX" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.flipY Mozilla SVGMatrix.flipY documentation> 
 flipY :: (MonadDOM m) => SVGMatrix -> m (Maybe SVGMatrix)
-flipY self = liftDOM ((self ^. js "flipY") >>= fromJSVal)
+flipY self = liftDOM ((self ^. jsf "flipY" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.skewX Mozilla SVGMatrix.skewX documentation> 
 skewX :: (MonadDOM m) => SVGMatrix -> Float -> m (Maybe SVGMatrix)
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
@@ -19,7 +19,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGNumberList.clear Mozilla SVGNumberList.clear documentation> 
 clear :: (MonadDOM m) => SVGNumberList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGNumberList.initialize Mozilla SVGNumberList.initialize documentation> 
 initialize ::
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
@@ -36,7 +36,8 @@
 getTotalLength :: (MonadDOM m) => SVGPathElement -> m Float
 getTotalLength self
   = liftDOM
-      (realToFrac <$> ((self ^. js "getTotalLength") >>= valToNumber))
+      (realToFrac <$>
+         ((self ^. jsf "getTotalLength" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGPathElement.getPointAtLength Mozilla SVGPathElement.getPointAtLength documentation> 
 getPointAtLength ::
@@ -58,7 +59,8 @@
 createSVGPathSegClosePath ::
                           (MonadDOM m) => SVGPathElement -> m (Maybe SVGPathSegClosePath)
 createSVGPathSegClosePath self
-  = liftDOM ((self ^. js "createSVGPathSegClosePath") >>= fromJSVal)
+  = liftDOM
+      ((self ^. jsf "createSVGPathSegClosePath" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGPathElement.createSVGPathSegMovetoAbs Mozilla SVGPathElement.createSVGPathSegMovetoAbs documentation> 
 createSVGPathSegMovetoAbs ::
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
@@ -19,7 +19,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGPathSegList.clear Mozilla SVGPathSegList.clear documentation> 
 clear :: (MonadDOM m) => SVGPathSegList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGPathSegList.initialize Mozilla SVGPathSegList.initialize documentation> 
 initialize ::
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
@@ -19,7 +19,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGPointList.clear Mozilla SVGPointList.clear documentation> 
 clear :: (MonadDOM m) => SVGPointList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGPointList.initialize Mozilla SVGPointList.initialize documentation> 
 initialize ::
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
@@ -45,32 +45,33 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.unsuspendRedrawAll Mozilla SVGSVGElement.unsuspendRedrawAll documentation> 
 unsuspendRedrawAll :: (MonadDOM m) => SVGSVGElement -> m ()
 unsuspendRedrawAll self
-  = liftDOM (void (self ^. js "unsuspendRedrawAll"))
+  = liftDOM (void (self ^. jsf "unsuspendRedrawAll" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.forceRedraw Mozilla SVGSVGElement.forceRedraw documentation> 
 forceRedraw :: (MonadDOM m) => SVGSVGElement -> m ()
-forceRedraw self = liftDOM (void (self ^. js "forceRedraw"))
+forceRedraw self = liftDOM (void (self ^. jsf "forceRedraw" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.pauseAnimations Mozilla SVGSVGElement.pauseAnimations documentation> 
 pauseAnimations :: (MonadDOM m) => SVGSVGElement -> m ()
 pauseAnimations self
-  = liftDOM (void (self ^. js "pauseAnimations"))
+  = liftDOM (void (self ^. jsf "pauseAnimations" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.unpauseAnimations Mozilla SVGSVGElement.unpauseAnimations documentation> 
 unpauseAnimations :: (MonadDOM m) => SVGSVGElement -> m ()
 unpauseAnimations self
-  = liftDOM (void (self ^. js "unpauseAnimations"))
+  = liftDOM (void (self ^. jsf "unpauseAnimations" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.animationsPaused Mozilla SVGSVGElement.animationsPaused documentation> 
 animationsPaused :: (MonadDOM m) => SVGSVGElement -> m Bool
 animationsPaused self
-  = liftDOM ((self ^. js "animationsPaused") >>= valToBool)
+  = liftDOM ((self ^. jsf "animationsPaused" ()) >>= valToBool)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.getCurrentTime Mozilla SVGSVGElement.getCurrentTime documentation> 
 getCurrentTime :: (MonadDOM m) => SVGSVGElement -> m Float
 getCurrentTime self
   = liftDOM
-      (realToFrac <$> ((self ^. js "getCurrentTime") >>= valToNumber))
+      (realToFrac <$>
+         ((self ^. jsf "getCurrentTime" ()) >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.setCurrentTime Mozilla SVGSVGElement.setCurrentTime documentation> 
 setCurrentTime :: (MonadDOM m) => SVGSVGElement -> Float -> m ()
@@ -119,48 +120,48 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.deselectAll Mozilla SVGSVGElement.deselectAll documentation> 
 deselectAll :: (MonadDOM m) => SVGSVGElement -> m ()
-deselectAll self = liftDOM (void (self ^. js "deselectAll"))
+deselectAll self = liftDOM (void (self ^. jsf "deselectAll" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGNumber Mozilla SVGSVGElement.createSVGNumber documentation> 
 createSVGNumber ::
                 (MonadDOM m) => SVGSVGElement -> m (Maybe SVGNumber)
 createSVGNumber self
-  = liftDOM ((self ^. js "createSVGNumber") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGNumber" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGLength Mozilla SVGSVGElement.createSVGLength documentation> 
 createSVGLength ::
                 (MonadDOM m) => SVGSVGElement -> m (Maybe SVGLength)
 createSVGLength self
-  = liftDOM ((self ^. js "createSVGLength") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGLength" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGAngle Mozilla SVGSVGElement.createSVGAngle documentation> 
 createSVGAngle ::
                (MonadDOM m) => SVGSVGElement -> m (Maybe SVGAngle)
 createSVGAngle self
-  = liftDOM ((self ^. js "createSVGAngle") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGAngle" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGPoint Mozilla SVGSVGElement.createSVGPoint documentation> 
 createSVGPoint ::
                (MonadDOM m) => SVGSVGElement -> m (Maybe SVGPoint)
 createSVGPoint self
-  = liftDOM ((self ^. js "createSVGPoint") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGPoint" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGMatrix Mozilla SVGSVGElement.createSVGMatrix documentation> 
 createSVGMatrix ::
                 (MonadDOM m) => SVGSVGElement -> m (Maybe SVGMatrix)
 createSVGMatrix self
-  = liftDOM ((self ^. js "createSVGMatrix") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGMatrix" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGRect Mozilla SVGSVGElement.createSVGRect documentation> 
 createSVGRect :: (MonadDOM m) => SVGSVGElement -> m (Maybe SVGRect)
 createSVGRect self
-  = liftDOM ((self ^. js "createSVGRect") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGRect" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGTransform Mozilla SVGSVGElement.createSVGTransform documentation> 
 createSVGTransform ::
                    (MonadDOM m) => SVGSVGElement -> m (Maybe SVGTransform)
 createSVGTransform self
-  = liftDOM ((self ^. js "createSVGTransform") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSVGTransform" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement.createSVGTransformFromMatrix Mozilla SVGSVGElement.createSVGTransformFromMatrix documentation> 
 createSVGTransformFromMatrix ::
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
@@ -19,7 +19,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGStringList.clear Mozilla SVGStringList.clear documentation> 
 clear :: (MonadDOM m) => SVGStringList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGStringList.initialize Mozilla SVGStringList.initialize documentation> 
 initialize ::
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
@@ -28,7 +28,7 @@
 getNumberOfChars self
   = liftDOM
       (round <$>
-         (((toSVGTextContentElement self) ^. js "getNumberOfChars") >>=
+         (((toSVGTextContentElement self) ^. jsf "getNumberOfChars" ()) >>=
             valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement.getComputedTextLength Mozilla SVGTextContentElement.getComputedTextLength documentation> 
@@ -37,8 +37,8 @@
 getComputedTextLength self
   = liftDOM
       (realToFrac <$>
-         (((toSVGTextContentElement self) ^. js "getComputedTextLength") >>=
-            valToNumber))
+         (((toSVGTextContentElement self) ^. jsf "getComputedTextLength" ())
+            >>= valToNumber))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement.getSubStringLength Mozilla SVGTextContentElement.getSubStringLength documentation> 
 getSubStringLength ::
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
@@ -20,7 +20,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGTransformList.clear Mozilla SVGTransformList.clear documentation> 
 clear :: (MonadDOM m) => SVGTransformList -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGTransformList.initialize Mozilla SVGTransformList.initialize documentation> 
 initialize ::
@@ -82,7 +82,7 @@
 consolidate ::
             (MonadDOM m) => SVGTransformList -> m (Maybe SVGTransform)
 consolidate self
-  = liftDOM ((self ^. js "consolidate") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "consolidate" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGTransformList.numberOfItems Mozilla SVGTransformList.numberOfItems documentation> 
 getNumberOfItems :: (MonadDOM m) => SVGTransformList -> m Word
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
@@ -20,7 +20,8 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.children Mozilla ScriptProfileNode.children documentation> 
 children ::
          (MonadDOM m) => ScriptProfileNode -> m [Maybe ScriptProfileNode]
-children self = liftDOM ((self ^. js "children") >>= fromJSArray)
+children self
+  = liftDOM ((self ^. jsf "children" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/ScriptProfileNode.id Mozilla ScriptProfileNode.id documentation> 
 getId :: (MonadDOM m) => ScriptProfileNode -> m Word
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
@@ -30,17 +30,18 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.collapseToEnd Mozilla Selection.collapseToEnd documentation> 
 collapseToEnd :: (MonadDOM m) => Selection -> m ()
-collapseToEnd self = liftDOM (void (self ^. js "collapseToEnd"))
+collapseToEnd self
+  = liftDOM (void (self ^. jsf "collapseToEnd" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.collapseToStart Mozilla Selection.collapseToStart documentation> 
 collapseToStart :: (MonadDOM m) => Selection -> m ()
 collapseToStart self
-  = liftDOM (void (self ^. js "collapseToStart"))
+  = liftDOM (void (self ^. jsf "collapseToStart" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.deleteFromDocument Mozilla Selection.deleteFromDocument documentation> 
 deleteFromDocument :: (MonadDOM m) => Selection -> m ()
 deleteFromDocument self
-  = liftDOM (void (self ^. js "deleteFromDocument"))
+  = liftDOM (void (self ^. jsf "deleteFromDocument" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.containsNode Mozilla Selection.containsNode documentation> 
 containsNode ::
@@ -73,7 +74,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.removeAllRanges Mozilla Selection.removeAllRanges documentation> 
 removeAllRanges :: (MonadDOM m) => Selection -> m ()
 removeAllRanges self
-  = liftDOM (void (self ^. js "removeAllRanges"))
+  = liftDOM (void (self ^. jsf "removeAllRanges" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.addRange Mozilla Selection.addRange documentation> 
 addRange :: (MonadDOM m) => Selection -> Maybe Range -> m ()
@@ -84,7 +85,7 @@
 toString ::
          (MonadDOM m, FromJSString result) => Selection -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.modify Mozilla Selection.modify documentation> 
 modify ::
@@ -118,7 +119,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.empty Mozilla Selection.empty documentation> 
 empty :: (MonadDOM m) => Selection -> m ()
-empty self = liftDOM (void (self ^. js "empty"))
+empty self = liftDOM (void (self ^. jsf "empty" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Selection.anchorNode Mozilla Selection.anchorNode documentation> 
 getAnchorNode :: (MonadDOM m) => Selection -> m (Maybe Node)
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
@@ -36,7 +36,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer.abort Mozilla SourceBuffer.abort documentation> 
 abort :: (MonadDOM m) => SourceBuffer -> m ()
-abort self = liftDOM (void (self ^. js "abort"))
+abort self = liftDOM (void (self ^. jsf "abort" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer.remove Mozilla SourceBuffer.remove documentation> 
 remove :: (MonadDOM m) => SourceBuffer -> Double -> Double -> m ()
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
@@ -26,20 +26,21 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis.cancel Mozilla SpeechSynthesis.cancel documentation> 
 cancel :: (MonadDOM m) => SpeechSynthesis -> m ()
-cancel self = liftDOM (void (self ^. js "cancel"))
+cancel self = liftDOM (void (self ^. jsf "cancel" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis.pause Mozilla SpeechSynthesis.pause documentation> 
 pause :: (MonadDOM m) => SpeechSynthesis -> m ()
-pause self = liftDOM (void (self ^. js "pause"))
+pause self = liftDOM (void (self ^. jsf "pause" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis.resume Mozilla SpeechSynthesis.resume documentation> 
 resume :: (MonadDOM m) => SpeechSynthesis -> m ()
-resume self = liftDOM (void (self ^. js "resume"))
+resume self = liftDOM (void (self ^. jsf "resume" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis.getVoices Mozilla SpeechSynthesis.getVoices documentation> 
 getVoices ::
           (MonadDOM m) => SpeechSynthesis -> m [Maybe SpeechSynthesisVoice]
-getVoices self = liftDOM ((self ^. js "getVoices") >>= fromJSArray)
+getVoices self
+  = liftDOM ((self ^. jsf "getVoices" ()) >>= fromJSArray)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis.pending Mozilla SpeechSynthesis.pending documentation> 
 getPending :: (MonadDOM m) => SpeechSynthesis -> m Bool
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
@@ -48,7 +48,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Storage.clear Mozilla Storage.clear documentation> 
 clear :: (MonadDOM m) => Storage -> m ()
-clear self = liftDOM (void (self ^. js "clear"))
+clear self = liftDOM (void (self ^. jsf "clear" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Storage.length Mozilla Storage.length documentation> 
 getLength :: (MonadDOM m) => Storage -> m Word
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
@@ -20,34 +20,37 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.parentNode Mozilla TreeWalker.parentNode documentation> 
 parentNode :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
-parentNode self = liftDOM ((self ^. js "parentNode") >>= fromJSVal)
+parentNode self
+  = liftDOM ((self ^. jsf "parentNode" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.firstChild Mozilla TreeWalker.firstChild documentation> 
 firstChild :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
-firstChild self = liftDOM ((self ^. js "firstChild") >>= fromJSVal)
+firstChild self
+  = liftDOM ((self ^. jsf "firstChild" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.lastChild Mozilla TreeWalker.lastChild documentation> 
 lastChild :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
-lastChild self = liftDOM ((self ^. js "lastChild") >>= fromJSVal)
+lastChild self
+  = liftDOM ((self ^. jsf "lastChild" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.previousSibling Mozilla TreeWalker.previousSibling documentation> 
 previousSibling :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
 previousSibling self
-  = liftDOM ((self ^. js "previousSibling") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "previousSibling" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.nextSibling Mozilla TreeWalker.nextSibling documentation> 
 nextSibling :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
 nextSibling self
-  = liftDOM ((self ^. js "nextSibling") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "nextSibling" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.previousNode Mozilla TreeWalker.previousNode documentation> 
 previousNode :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
 previousNode self
-  = liftDOM ((self ^. js "previousNode") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "previousNode" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.nextNode Mozilla TreeWalker.nextNode documentation> 
 nextNode :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
-nextNode self = liftDOM ((self ^. js "nextNode") >>= fromJSVal)
+nextNode self = liftDOM ((self ^. jsf "nextNode" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker.root Mozilla TreeWalker.root documentation> 
 getRoot :: (MonadDOM m) => TreeWalker -> m (Maybe Node)
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
@@ -23,7 +23,7 @@
 toString ::
          (MonadDOM m, FromJSString result) => URLUtils -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/URLUtils.href Mozilla URLUtils.href documentation> 
 setHref :: (MonadDOM m, ToJSString val) => URLUtils -> val -> m ()
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
@@ -32,7 +32,7 @@
 getCueAsHTML ::
              (MonadDOM m) => VTTCue -> m (Maybe DocumentFragment)
 getCueAsHTML self
-  = liftDOM ((self ^. js "getCueAsHTML") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getCueAsHTML" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/VTTCue.vertical Mozilla VTTCue.vertical documentation> 
 setVertical ::
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
@@ -813,7 +813,7 @@
 createQuery ::
             (MonadDOM m) => WebGL2RenderingContext -> m (Maybe WebGLQuery)
 createQuery self
-  = liftDOM ((self ^. js "createQuery") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createQuery" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.deleteQuery Mozilla WebGL2RenderingContext.deleteQuery documentation> 
 deleteQuery ::
@@ -865,7 +865,7 @@
 createSampler ::
               (MonadDOM m) => WebGL2RenderingContext -> m (Maybe WebGLSampler)
 createSampler self
-  = liftDOM ((self ^. js "createSampler") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createSampler" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.deleteSampler Mozilla WebGL2RenderingContext.deleteSampler documentation> 
 deleteSampler ::
@@ -983,7 +983,8 @@
                         (MonadDOM m) =>
                           WebGL2RenderingContext -> m (Maybe WebGLTransformFeedback)
 createTransformFeedback self
-  = liftDOM ((self ^. js "createTransformFeedback") >>= fromJSVal)
+  = liftDOM
+      ((self ^. jsf "createTransformFeedback" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.deleteTransformFeedback Mozilla WebGL2RenderingContext.deleteTransformFeedback documentation> 
 deleteTransformFeedback ::
@@ -1025,7 +1026,7 @@
 endTransformFeedback ::
                      (MonadDOM m) => WebGL2RenderingContext -> m ()
 endTransformFeedback self
-  = liftDOM (void (self ^. js "endTransformFeedback"))
+  = liftDOM (void (self ^. jsf "endTransformFeedback" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.transformFeedbackVaryings Mozilla WebGL2RenderingContext.transformFeedbackVaryings documentation> 
 transformFeedbackVaryings ::
@@ -1053,13 +1054,13 @@
 pauseTransformFeedback ::
                        (MonadDOM m) => WebGL2RenderingContext -> m ()
 pauseTransformFeedback self
-  = liftDOM (void (self ^. js "pauseTransformFeedback"))
+  = liftDOM (void (self ^. jsf "pauseTransformFeedback" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.resumeTransformFeedback Mozilla WebGL2RenderingContext.resumeTransformFeedback documentation> 
 resumeTransformFeedback ::
                         (MonadDOM m) => WebGL2RenderingContext -> m ()
 resumeTransformFeedback self
-  = liftDOM (void (self ^. js "resumeTransformFeedback"))
+  = liftDOM (void (self ^. jsf "resumeTransformFeedback" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.bindBufferBase Mozilla WebGL2RenderingContext.bindBufferBase documentation> 
 bindBufferBase ::
@@ -1168,7 +1169,7 @@
                   (MonadDOM m) =>
                     WebGL2RenderingContext -> m (Maybe WebGLVertexArrayObject)
 createVertexArray self
-  = liftDOM ((self ^. js "createVertexArray") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "createVertexArray" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext.deleteVertexArray Mozilla WebGL2RenderingContext.deleteVertexArray documentation> 
 deleteVertexArray ::
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
@@ -18,8 +18,9 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLLoseContext.loseContext Mozilla WebGLLoseContext.loseContext documentation> 
 loseContext :: (MonadDOM m) => WebGLLoseContext -> m ()
-loseContext self = liftDOM (void (self ^. js "loseContext"))
+loseContext self = liftDOM (void (self ^. jsf "loseContext" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLLoseContext.restoreContext Mozilla WebGLLoseContext.restoreContext documentation> 
 restoreContext :: (MonadDOM m) => WebGLLoseContext -> m ()
-restoreContext self = liftDOM (void (self ^. js "restoreContext"))
+restoreContext self
+  = liftDOM (void (self ^. jsf "restoreContext" ()))
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
@@ -507,7 +507,7 @@
                self -> m (Maybe WebGLBuffer)
 createBuffer self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "createBuffer") >>=
+      (((toWebGLRenderingContextBase self) ^. jsf "createBuffer" ()) >>=
          fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.createFramebuffer Mozilla WebGLRenderingContextBase.createFramebuffer documentation> 
@@ -516,8 +516,8 @@
                     self -> m (Maybe WebGLFramebuffer)
 createFramebuffer self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "createFramebuffer") >>=
-         fromJSVal)
+      (((toWebGLRenderingContextBase self) ^. jsf "createFramebuffer" ())
+         >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.createProgram Mozilla WebGLRenderingContextBase.createProgram documentation> 
 createProgram ::
@@ -525,7 +525,7 @@
                 self -> m (Maybe WebGLProgram)
 createProgram self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "createProgram") >>=
+      (((toWebGLRenderingContextBase self) ^. jsf "createProgram" ()) >>=
          fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.createRenderbuffer Mozilla WebGLRenderingContextBase.createRenderbuffer documentation> 
@@ -534,7 +534,8 @@
                      self -> m (Maybe WebGLRenderbuffer)
 createRenderbuffer self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "createRenderbuffer")
+      (((toWebGLRenderingContextBase self) ^. jsf "createRenderbuffer"
+          ())
          >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.createShader Mozilla WebGLRenderingContextBase.createShader documentation> 
@@ -553,7 +554,7 @@
                 self -> m (Maybe WebGLTexture)
 createTexture self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "createTexture") >>=
+      (((toWebGLRenderingContextBase self) ^. jsf "createTexture" ()) >>=
          fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.cullFace Mozilla WebGLRenderingContextBase.cullFace documentation> 
@@ -732,13 +733,14 @@
        (MonadDOM m, IsWebGLRenderingContextBase self) => self -> m ()
 finish self
   = liftDOM
-      (void ((toWebGLRenderingContextBase self) ^. js "finish"))
+      (void ((toWebGLRenderingContextBase self) ^. jsf "finish" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.flush Mozilla WebGLRenderingContextBase.flush documentation> 
 flush ::
       (MonadDOM m, IsWebGLRenderingContextBase self) => self -> m ()
 flush self
-  = liftDOM (void ((toWebGLRenderingContextBase self) ^. js "flush"))
+  = liftDOM
+      (void ((toWebGLRenderingContextBase self) ^. jsf "flush" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.framebufferRenderbuffer Mozilla WebGLRenderingContextBase.framebufferRenderbuffer documentation> 
 framebufferRenderbuffer ::
@@ -842,7 +844,8 @@
                        self -> m (Maybe WebGLContextAttributes)
 getContextAttributes self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "getContextAttributes")
+      (((toWebGLRenderingContextBase self) ^. jsf "getContextAttributes"
+          ())
          >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.getError Mozilla WebGLRenderingContextBase.getError documentation> 
@@ -850,7 +853,7 @@
          (MonadDOM m, IsWebGLRenderingContextBase self) => self -> m GLenum
 getError self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "getError") >>=
+      (((toWebGLRenderingContextBase self) ^. jsf "getError" ()) >>=
          fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.getExtension Mozilla WebGLRenderingContextBase.getExtension documentation> 
@@ -967,7 +970,8 @@
 getSupportedExtensions self
   = liftDOM
       (((toWebGLRenderingContextBase self) ^.
-          js "getSupportedExtensions")
+          jsf "getSupportedExtensions"
+          ())
          >>= fromJSArrayUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.getTexParameter Mozilla WebGLRenderingContextBase.getTexParameter documentation> 
@@ -1047,7 +1051,7 @@
                 self -> m GLboolean
 isContextLost self
   = liftDOM
-      (((toWebGLRenderingContextBase self) ^. js "isContextLost") >>=
+      (((toWebGLRenderingContextBase self) ^. jsf "isContextLost" ()) >>=
          fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.isEnabled Mozilla WebGLRenderingContextBase.isEnabled documentation> 
@@ -1171,7 +1175,8 @@
 releaseShaderCompiler self
   = liftDOM
       (void
-         ((toWebGLRenderingContextBase self) ^. js "releaseShaderCompiler"))
+         ((toWebGLRenderingContextBase self) ^. jsf "releaseShaderCompiler"
+            ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContextBase.renderbufferStorage Mozilla WebGLRenderingContextBase.renderbufferStorage documentation> 
 renderbufferStorage ::
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
@@ -49,7 +49,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitCSSMatrix.inverse Mozilla WebKitCSSMatrix.inverse documentation> 
 inverse ::
         (MonadDOM m) => WebKitCSSMatrix -> m (Maybe WebKitCSSMatrix)
-inverse self = liftDOM ((self ^. js "inverse") >>= fromJSVal)
+inverse self = liftDOM ((self ^. jsf "inverse" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitCSSMatrix.translate Mozilla WebKitCSSMatrix.translate documentation> 
 translate ::
@@ -111,7 +111,7 @@
 toString ::
          (MonadDOM m, FromJSString result) => WebKitCSSMatrix -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitCSSMatrix.a Mozilla WebKitCSSMatrix.a documentation> 
 setA :: (MonadDOM m) => WebKitCSSMatrix -> Double -> m ()
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
@@ -28,11 +28,13 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitNamedFlow.getRegions Mozilla WebKitNamedFlow.getRegions documentation> 
 getRegions :: (MonadDOM m) => WebKitNamedFlow -> m (Maybe NodeList)
-getRegions self = liftDOM ((self ^. js "getRegions") >>= fromJSVal)
+getRegions self
+  = liftDOM ((self ^. jsf "getRegions" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitNamedFlow.getContent Mozilla WebKitNamedFlow.getContent documentation> 
 getContent :: (MonadDOM m) => WebKitNamedFlow -> m (Maybe NodeList)
-getContent self = liftDOM ((self ^. js "getContent") >>= fromJSVal)
+getContent self
+  = liftDOM ((self ^. jsf "getContent" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WebKitNamedFlow.name Mozilla WebKitNamedFlow.name documentation> 
 getName ::
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
@@ -73,27 +73,27 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection Mozilla Window.getSelection documentation> 
 getSelection :: (MonadDOM m) => Window -> m (Maybe Selection)
 getSelection self
-  = liftDOM ((self ^. js "getSelection") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "getSelection" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.focus Mozilla Window.focus documentation> 
 focus :: (MonadDOM m) => Window -> m ()
-focus self = liftDOM (void (self ^. js "focus"))
+focus self = liftDOM (void (self ^. jsf "focus" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.blur Mozilla Window.blur documentation> 
 blur :: (MonadDOM m) => Window -> m ()
-blur self = liftDOM (void (self ^. js "blur"))
+blur self = liftDOM (void (self ^. jsf "blur" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.close Mozilla Window.close documentation> 
 close :: (MonadDOM m) => Window -> m ()
-close self = liftDOM (void (self ^. js "close"))
+close self = liftDOM (void (self ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.print Mozilla Window.print documentation> 
 print :: (MonadDOM m) => Window -> m ()
-print self = liftDOM (void (self ^. js "print"))
+print self = liftDOM (void (self ^. jsf "print" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.stop Mozilla Window.stop documentation> 
 stop :: (MonadDOM m) => Window -> m ()
-stop self = liftDOM (void (self ^. js "stop"))
+stop self = liftDOM (void (self ^. jsf "stop" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.open Mozilla Window.open documentation> 
 open ::
@@ -293,11 +293,13 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.captureEvents Mozilla Window.captureEvents documentation> 
 captureEvents :: (MonadDOM m) => Window -> m ()
-captureEvents self = liftDOM (void (self ^. js "captureEvents"))
+captureEvents self
+  = liftDOM (void (self ^. jsf "captureEvents" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.releaseEvents Mozilla Window.releaseEvents documentation> 
 releaseEvents :: (MonadDOM m) => Window -> m ()
-releaseEvents self = liftDOM (void (self ^. js "releaseEvents"))
+releaseEvents self
+  = liftDOM (void (self ^. jsf "releaseEvents" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Window.webkitIndexedDB Mozilla Window.webkitIndexedDB documentation> 
 getWebkitIndexedDB ::
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
@@ -35,7 +35,7 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Worker.terminate Mozilla Worker.terminate documentation> 
 terminate :: (MonadDOM m) => Worker -> m ()
-terminate self = liftDOM (void (self ^. js "terminate"))
+terminate self = liftDOM (void (self ^. jsf "terminate" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/Worker.onmessage Mozilla Worker.onmessage documentation> 
 message :: EventName Worker MessageEvent
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
@@ -20,13 +20,14 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope.close Mozilla WorkerGlobalScope.close documentation> 
 close :: (MonadDOM m, IsWorkerGlobalScope self) => self -> m ()
 close self
-  = liftDOM (void ((toWorkerGlobalScope self) ^. js "close"))
+  = liftDOM (void ((toWorkerGlobalScope self) ^. jsf "close" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope.importScripts Mozilla WorkerGlobalScope.importScripts documentation> 
 importScripts ::
               (MonadDOM m, IsWorkerGlobalScope self) => self -> m ()
 importScripts self
-  = liftDOM (void ((toWorkerGlobalScope self) ^. js "importScripts"))
+  = liftDOM
+      (void ((toWorkerGlobalScope self) ^. jsf "importScripts" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope.self Mozilla WorkerGlobalScope.self documentation> 
 getSelf ::
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
@@ -21,7 +21,7 @@
 toString ::
          (MonadDOM m, FromJSString result) => WorkerLocation -> m result
 toString self
-  = liftDOM ((self ^. js "toString") >>= fromJSValUnchecked)
+  = liftDOM ((self ^. jsf "toString" ()) >>= fromJSValUnchecked)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation.href Mozilla WorkerLocation.href documentation> 
 getHref ::
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
@@ -52,11 +52,11 @@
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest.send Mozilla XMLHttpRequest.send documentation> 
 send :: (MonadDOM m) => XMLHttpRequest -> m ()
-send self = liftDOM (void (self ^. js "send"))
+send self = liftDOM (void (self ^. jsf "send" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest.abort Mozilla XMLHttpRequest.abort documentation> 
 abort :: (MonadDOM m) => XMLHttpRequest -> m ()
-abort self = liftDOM (void (self ^. js "abort"))
+abort self = liftDOM (void (self ^. jsf "abort" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest.getAllResponseHeaders Mozilla XMLHttpRequest.getAllResponseHeaders documentation> 
 getAllResponseHeaders ::
@@ -64,7 +64,7 @@
                         XMLHttpRequest -> m (Maybe result)
 getAllResponseHeaders self
   = liftDOM
-      ((self ^. js "getAllResponseHeaders") >>= fromMaybeJSString)
+      ((self ^. jsf "getAllResponseHeaders" ()) >>= fromMaybeJSString)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest.getResponseHeader Mozilla XMLHttpRequest.getResponseHeader documentation> 
 getResponseHeader ::
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
@@ -27,7 +27,7 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XPathResult.iterateNext Mozilla XPathResult.iterateNext documentation> 
 iterateNext :: (MonadDOM m) => XPathResult -> m (Maybe Node)
 iterateNext self
-  = liftDOM ((self ^. js "iterateNext") >>= fromJSVal)
+  = liftDOM ((self ^. jsf "iterateNext" ()) >>= fromJSVal)
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XPathResult.snapshotItem Mozilla XPathResult.snapshotItem documentation> 
 snapshotItem ::
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
@@ -86,8 +86,8 @@
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XSLTProcessor.clearParameters Mozilla XSLTProcessor.clearParameters documentation> 
 clearParameters :: (MonadDOM m) => XSLTProcessor -> m ()
 clearParameters self
-  = liftDOM (void (self ^. js "clearParameters"))
+  = liftDOM (void (self ^. jsf "clearParameters" ()))
 
 -- | <https://developer.mozilla.org/en-US/docs/Web/API/XSLTProcessor.reset Mozilla XSLTProcessor.reset documentation> 
 reset :: (MonadDOM m) => XSLTProcessor -> m ()
-reset self = liftDOM (void (self ^. js "reset"))
+reset self = liftDOM (void (self ^. jsf "reset" ()))
