diff --git a/GI/WebKit/Objects/WebFrame.hs b/GI/WebKit/Objects/WebFrame.hs
--- a/GI/WebKit/Objects/WebFrame.hs
+++ b/GI/WebKit/Objects/WebFrame.hs
@@ -1230,8 +1230,7 @@
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- webkit_web_frame_get_global_context _obj'
     checkUnexpectedReturnNULL "webkit_web_frame_get_global_context" result
-    -- XXX Wrapping a foreign struct/union with no known destructor, leak?
-    result' <- (\x -> JavaScriptCore.GlobalContext <$> newForeignPtr_ x) result
+    result' <- (newPtr JavaScriptCore.GlobalContext) result
     touchManagedPtr _obj
     return result'
 
diff --git a/GI/WebKit/Structs/DOMEventTargetClass.hs b/GI/WebKit/Structs/DOMEventTargetClass.hs
--- a/GI/WebKit/Structs/DOMEventTargetClass.hs
+++ b/GI/WebKit/Structs/DOMEventTargetClass.hs
@@ -27,6 +27,12 @@
 import GI.WebKit.Callbacks
 
 newtype DOMEventTargetClass = DOMEventTargetClass (ForeignPtr DOMEventTargetClass)
+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
+instance WrappedPtr DOMEventTargetClass where
+    wrappedPtrCalloc = return nullPtr
+    wrappedPtrCopy = return
+    wrappedPtrFree = Nothing
+
 noDOMEventTargetClass :: Maybe DOMEventTargetClass
 noDOMEventTargetClass = Nothing
 
diff --git a/GI/WebKit/Structs/DOMEventTargetClass.hs-boot b/GI/WebKit/Structs/DOMEventTargetClass.hs-boot
--- a/GI/WebKit/Structs/DOMEventTargetClass.hs-boot
+++ b/GI/WebKit/Structs/DOMEventTargetClass.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype DOMEventTargetClass = DOMEventTargetClass (ForeignPtr DOMEventTargetClass)
+instance WrappedPtr DOMEventTargetClass where
diff --git a/GI/WebKit/Structs/WebPluginMIMEType.hs b/GI/WebKit/Structs/WebPluginMIMEType.hs
--- a/GI/WebKit/Structs/WebPluginMIMEType.hs
+++ b/GI/WebKit/Structs/WebPluginMIMEType.hs
@@ -57,9 +57,14 @@
 import GI.WebKit.Callbacks
 
 newtype WebPluginMIMEType = WebPluginMIMEType (ForeignPtr WebPluginMIMEType)
+instance WrappedPtr WebPluginMIMEType where
+    wrappedPtrCalloc = callocBytes 24
+    wrappedPtrCopy = copyPtr 24
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `WebPluginMIMEType` struct initialized to zero.
 newZeroWebPluginMIMEType :: MonadIO m => m WebPluginMIMEType
-newZeroWebPluginMIMEType = liftIO $ callocBytes 24 >>= wrapPtr WebPluginMIMEType
+newZeroWebPluginMIMEType = liftIO $ wrappedPtrCalloc >>= wrapPtr WebPluginMIMEType
 
 instance tag ~ 'AttrSet => Constructible WebPluginMIMEType tag where
     new _ attrs = do
diff --git a/GI/WebKit/Structs/WebPluginMIMEType.hs-boot b/GI/WebKit/Structs/WebPluginMIMEType.hs-boot
--- a/GI/WebKit/Structs/WebPluginMIMEType.hs-boot
+++ b/GI/WebKit/Structs/WebPluginMIMEType.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype WebPluginMIMEType = WebPluginMIMEType (ForeignPtr WebPluginMIMEType)
+instance WrappedPtr WebPluginMIMEType where
diff --git a/gi-webkit.cabal b/gi-webkit.cabal
--- a/gi-webkit.cabal
+++ b/gi-webkit.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-webkit
-version:            0.2.4.14
+version:            0.2.4.15
 synopsis:           WebKit bindings
 description:        Bindings for WebKit, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -219,17 +219,17 @@
                         GI.WebKit.Structs.WebPluginMIMEType
     pkgconfig-depends:  webkitgtk-3.0 >= 2.4
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.14 && < 1,
-        gi-atk >= 0.2.18.14 && < 0.2.19,
-        gi-glib >= 0.2.46.14 && < 0.2.47,
-        gi-gobject >= 0.2.46.14 && < 0.2.47,
-        gi-gdk >= 0.3.18.14 && < 0.3.19,
-        gi-gdkpixbuf >= 0.2.32.14 && < 0.2.33,
-        gi-gio >= 0.2.46.14 && < 0.2.47,
-        gi-gtk >= 0.3.18.14 && < 0.3.19,
-        gi-javascriptcore >= 0.2.4.14 && < 0.2.5,
-        gi-soup >= 0.2.52.14 && < 0.2.53,
-        gi-cairo >= 0.1.14.14 && < 0.1.15,
+        haskell-gi-base >= 0.15 && < 1,
+        gi-atk >= 0.2.18.15 && < 0.2.19,
+        gi-glib >= 0.2.46.15 && < 0.2.47,
+        gi-gobject >= 0.2.46.15 && < 0.2.47,
+        gi-gdk >= 0.3.18.15 && < 0.3.19,
+        gi-gdkpixbuf >= 0.2.32.15 && < 0.2.33,
+        gi-gio >= 0.2.46.15 && < 0.2.47,
+        gi-gtk >= 0.3.18.15 && < 0.3.19,
+        gi-javascriptcore >= 0.2.4.15 && < 0.2.5,
+        gi-soup >= 0.2.52.15 && < 0.2.53,
+        gi-cairo >= 0.1.14.15 && < 0.1.15,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
