--- GObject-2.0-master.gir	2015-09-02 15:19:39.548930359 +0100
+++ GObject-2.0-nullability.gir	2015-09-02 15:22:58.955225503 +0100
@@ -43,15 +43,15 @@
       <doc xml:space="preserve">A callback function used by the type system to finalize those portions
 of a derived types class structure that were setup from the corresponding
 GBaseInitFunc() function. Class finalization basically works the inverse
-way in which class intialization is performed.
-See GClassInitFunc() for a discussion of the class intialization process.</doc>
+way in which class initialization is performed.
+See GClassInitFunc() for a discussion of the class initialization process.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="g_class" transfer-ownership="none">
           <doc xml:space="preserve">The #GTypeClass structure to finalize</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeClass" c:type="gpointer"/>
         </parameter>
       </parameters>
     </callback>
@@ -63,14 +63,14 @@
 For example, class members (such as strings) that are not sufficiently
 handled by a plain memory copy of the parent class into the derived class
 have to be altered. See GClassInitFunc() for a discussion of the class
-intialization process.</doc>
+initialization process.</doc>
       <return-value transfer-ownership="none">
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
         <parameter name="g_class" transfer-ownership="none">
           <doc xml:space="preserve">The #GTypeClass structure to initialize</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeClass" c:type="gpointer"/>
         </parameter>
       </parameters>
     </callback>
@@ -366,7 +366,11 @@
           <doc xml:space="preserve">the #GValue in which to store the transformed value</doc>
           <type name="Value" c:type="GValue*"/>
         </parameter>
-        <parameter name="user_data" transfer-ownership="none" closure="3">
+        <parameter name="user_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="3">
           <doc xml:space="preserve">data passed to the transform function</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -437,12 +441,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -473,7 +483,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -529,12 +539,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -565,7 +581,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -620,12 +636,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -656,7 +678,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -710,12 +732,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -746,7 +774,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -800,12 +828,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -836,7 +870,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -890,12 +924,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -926,7 +966,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -980,12 +1020,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1016,7 +1062,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1070,12 +1116,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1106,7 +1158,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1160,12 +1212,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1196,7 +1254,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1250,12 +1308,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1286,7 +1350,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1340,12 +1404,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1376,7 +1446,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1430,12 +1500,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1466,7 +1542,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1520,12 +1596,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1556,7 +1638,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1610,12 +1692,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1646,7 +1734,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1704,12 +1792,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1740,7 +1834,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1794,12 +1888,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1830,7 +1930,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1884,12 +1984,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -1920,7 +2026,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -1974,12 +2080,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -2013,12 +2125,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -2049,7 +2167,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -2100,7 +2218,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -2154,12 +2272,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -2190,7 +2314,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -2244,12 +2368,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -2280,7 +2410,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -2333,12 +2463,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -2369,7 +2505,7 @@
           </parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -2427,12 +2563,18 @@
   on which to invoke the callback of closure.</doc>
             <type name="Value" c:type="const GValue*"/>
           </parameter>
-          <parameter name="invocation_hint" transfer-ownership="none">
+          <parameter name="invocation_hint"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -2464,8 +2606,9 @@
             <type name="Value" c:type="GValue*"/>
           </parameter>
           <parameter name="instance" transfer-ownership="none">
-            <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <doc xml:space="preserve">the instance on which the closure is
+ invoked.</doc>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
           <parameter name="args_list" transfer-ownership="none">
             <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -2507,7 +2650,11 @@
             <doc xml:space="preserve">the function to invoke</doc>
             <type name="Callback" c:type="GCallback"/>
           </parameter>
-          <parameter name="user_data" transfer-ownership="none">
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">user data to pass to @callback_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -2579,7 +2726,11 @@
             <doc xml:space="preserve">the function to invoke</doc>
             <type name="Callback" c:type="GCallback"/>
           </parameter>
-          <parameter name="user_data" transfer-ownership="none">
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">user data to pass to @callback_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -2614,9 +2765,12 @@
       <parameters>
         <parameter name="g_class" transfer-ownership="none">
           <doc xml:space="preserve">The #GTypeClass structure to finalize</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeClass" c:type="gpointer"/>
         </parameter>
-        <parameter name="class_data" transfer-ownership="none">
+        <parameter name="class_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The @class_data member supplied via the #GTypeInfo structure</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -2724,9 +2878,12 @@
       <parameters>
         <parameter name="g_class" transfer-ownership="none">
           <doc xml:space="preserve">The #GTypeClass structure to initialize.</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeClass" c:type="gpointer"/>
         </parameter>
-        <parameter name="class_data" transfer-ownership="none">
+        <parameter name="class_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The @class_data member supplied via the #GTypeInfo structure.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -2914,7 +3071,10 @@
                  `sizeof (GClosure)`</doc>
             <type name="guint" c:type="guint"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">data to store in the @data field of the newly allocated #GClosure</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -2937,7 +3097,11 @@
             <doc xml:space="preserve">a #GClosure</doc>
             <type name="Closure" c:type="GClosure*"/>
           </instance-parameter>
-          <parameter name="notify_data" transfer-ownership="none">
+          <parameter name="notify_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">data to pass to @notify_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -2962,7 +3126,11 @@
             <doc xml:space="preserve">a #GClosure</doc>
             <type name="Closure" c:type="GClosure*"/>
           </instance-parameter>
-          <parameter name="notify_data" transfer-ownership="none">
+          <parameter name="notify_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">data to pass to @notify_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -2987,8 +3155,13 @@
             <doc xml:space="preserve">a #GClosure</doc>
             <type name="Closure" c:type="GClosure*"/>
           </instance-parameter>
-          <parameter name="pre_marshal_data" transfer-ownership="none">
-            <doc xml:space="preserve">data to pass to @pre_marshal_notify</doc>
+          <parameter name="pre_marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
+            <doc xml:space="preserve">data to pass
+ to @pre_marshal_notify</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="pre_marshal_notify"
@@ -2997,8 +3170,13 @@
             <doc xml:space="preserve">a function to call before the closure callback</doc>
             <type name="ClosureNotify" c:type="GClosureNotify"/>
           </parameter>
-          <parameter name="post_marshal_data" transfer-ownership="none">
-            <doc xml:space="preserve">data to pass to @post_marshal_notify</doc>
+          <parameter name="post_marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="2">
+            <doc xml:space="preserve">data to pass
+ to @post_marshal_notify</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="post_marshal_notify" transfer-ownership="none">
@@ -3099,9 +3277,12 @@
             <doc xml:space="preserve">a #GClosure</doc>
             <type name="Closure" c:type="GClosure*"/>
           </instance-parameter>
-          <parameter name="notify_data" transfer-ownership="none">
-            <doc xml:space="preserve">data which was passed to g_closure_add_finalize_notifier()
- when registering @notify_func</doc>
+          <parameter name="notify_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve">data which was passed to g_closure_add_finalize_notifier()
+ when registering @notify_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="notify_func" transfer-ownership="none">
@@ -3124,7 +3305,10 @@
             <doc xml:space="preserve">a #GClosure</doc>
             <type name="Closure" c:type="GClosure*"/>
           </instance-parameter>
-          <parameter name="notify_data" transfer-ownership="none">
+          <parameter name="notify_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">data which was passed to g_closure_add_invalidate_notifier()
               when registering @notify_func</doc>
             <type name="gpointer" c:type="gpointer"/>
@@ -3183,8 +3367,13 @@
             <doc xml:space="preserve">a #GClosure</doc>
             <type name="Closure" c:type="GClosure*"/>
           </instance-parameter>
-          <parameter name="marshal_data" transfer-ownership="none">
-            <doc xml:space="preserve">context-dependent data to pass to @meta_marshal</doc>
+          <parameter name="marshal_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
+            <doc xml:space="preserve">context-dependent data to pass
+ to @meta_marshal</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
           <parameter name="meta_marshal" transfer-ownership="none">
@@ -3317,7 +3506,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data specified when registering the notification callback</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -3619,8 +3811,9 @@
           <type name="TypeInstance" c:type="GTypeInstance*"/>
         </parameter>
         <parameter name="g_class" transfer-ownership="none">
-          <doc xml:space="preserve">The class of the type the instance is created for</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <doc xml:space="preserve">The class of the type the instance is
+   created for</doc>
+          <type name="TypeClass" c:type="gpointer"/>
         </parameter>
       </parameters>
     </callback>
@@ -3634,9 +3827,12 @@
       <parameters>
         <parameter name="g_iface" transfer-ownership="none">
           <doc xml:space="preserve">The interface structure to finalize</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeInterface" c:type="gpointer"/>
         </parameter>
-        <parameter name="iface_data" transfer-ownership="none">
+        <parameter name="iface_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The @interface_data supplied via the #GInterfaceInfo structure</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -3671,9 +3867,12 @@
       <parameters>
         <parameter name="g_iface" transfer-ownership="none">
           <doc xml:space="preserve">The interface structure to initialize</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeInterface" c:type="gpointer"/>
         </parameter>
-        <parameter name="iface_data" transfer-ownership="none">
+        <parameter name="iface_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The @interface_data supplied via the #GInterfaceInfo structure</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -3687,6 +3886,35 @@
            glib:type-struct="ObjectClass">
       <doc xml:space="preserve">All the fields in the GObject structure are private
 to the #GObject implementation and should never be accessed directly.</doc>
+      <constructor name="new"
+                   c:identifier="g_object_new"
+                   shadowed-by="newv"
+                   introspectable="0">
+        <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
+
+Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
+which are not explicitly specified are set to their default values.</doc>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve">a new instance of
+  @object_type</doc>
+          <type name="Object" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="object_type" transfer-ownership="none">
+            <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
+            <type name="GType" c:type="GType"/>
+          </parameter>
+          <parameter name="first_property_name" transfer-ownership="none">
+            <doc xml:space="preserve">the name of the first property</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">the value of the first property, followed optionally by more
+ name/value pairs, followed by %NULL</doc>
+            <varargs/>
+          </parameter>
+        </parameters>
+      </constructor>
       <constructor name="new_valist"
                    c:identifier="g_object_new_valist"
                    introspectable="0">
@@ -3749,129 +3977,12 @@
           <parameter name="what" transfer-ownership="none">
             <type name="gsize" c:type="gsize"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="connect"
-                c:identifier="g_object_connect"
-                introspectable="0">
-        <doc xml:space="preserve">A convenience function to connect multiple signals at once.
-
-The signal specs expected by this function have the form
-"modifier::signal_name", where modifier can be one of the following:
-* - signal: equivalent to g_signal_connect_data (..., NULL, 0)
-- object-signal, object_signal: equivalent to g_signal_connect_object (..., 0)
-- swapped-signal, swapped_signal: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)
-- swapped_object_signal, swapped-object-signal: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED)
-- signal_after, signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_AFTER)
-- object_signal_after, object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_AFTER)
-- swapped_signal_after, swapped-signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)
-- swapped_object_signal_after, swapped-object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)
-
-|[&lt;!-- language="C" --&gt;
-  menu-&gt;toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
-						   "type", GTK_WINDOW_POPUP,
-						   "child", menu,
-						   NULL),
-				     "signal::event", gtk_menu_window_event, menu,
-				     "signal::size_request", gtk_menu_window_size_request, menu,
-				     "signal::destroy", gtk_widget_destroyed, &amp;menu-&gt;toplevel,
-				     NULL);
-]|</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:space="preserve">@object</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve">a #GObject</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="signal_spec" transfer-ownership="none">
-            <doc xml:space="preserve">the spec for the first signal</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-          <parameter name="..." transfer-ownership="none">
-            <doc xml:space="preserve">#GCallback for the first signal, followed by data for the
-      first signal, followed optionally by more signal
-      spec/callback/data triples, followed by %NULL</doc>
-            <varargs/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="disconnect"
-                c:identifier="g_object_disconnect"
-                introspectable="0">
-        <doc xml:space="preserve">A convenience function to disconnect multiple signals at once.
-
-The signal specs expected by this function have the form
-"any_signal", which means to disconnect any signal with matching
-callback and data, or "any_signal::signal_name", which only
-disconnects the signal named "signal_name".</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve">a #GObject</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="signal_spec" transfer-ownership="none">
-            <doc xml:space="preserve">the spec for the first signal</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-          <parameter name="..." transfer-ownership="none">
-            <doc xml:space="preserve">#GCallback for the first signal, followed by data for the first signal,
- followed optionally by more signal spec/callback/data triples,
- followed by %NULL</doc>
-            <varargs/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="get" c:identifier="g_object_get" introspectable="0">
-        <doc xml:space="preserve">Gets properties of an object.
-
-In general, a copy is made of the property contents and the caller
-is responsible for freeing the memory in the appropriate manner for
-the type, for instance by calling g_free() or g_object_unref().
-
-Here is an example of using g_object_get() to get the contents
-of three properties: an integer, a string and an object:
-|[&lt;!-- language="C" --&gt;
- gint intval;
- gchar *strval;
- GObject *objval;
-
- g_object_get (my_object,
-               "int-property", &amp;intval,
-               "str-property", &amp;strval,
-               "obj-property", &amp;objval,
-               NULL);
-
- // Do something with intval, strval, objval
-
- g_free (strval);
- g_object_unref (objval);
- ]|</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve">a #GObject</doc>
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:space="preserve">name of the first property to get</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-          <parameter name="..." transfer-ownership="none">
-            <doc xml:space="preserve">return location for the first property, followed optionally by more
- name/return location pairs, followed by %NULL</doc>
-            <varargs/>
-          </parameter>
         </parameters>
       </function>
       <function name="interface_find_property"
@@ -3890,9 +4001,9 @@
         </return-value>
         <parameters>
           <parameter name="g_iface" transfer-ownership="none">
-            <doc xml:space="preserve">any interface vtable for the interface, or the default
- vtable for the interface</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <doc xml:space="preserve">any interface vtable for the
+ interface, or the default vtable for the interface</doc>
+            <type name="TypeInterface" c:type="gpointer"/>
           </parameter>
           <parameter name="property_name" transfer-ownership="none">
             <doc xml:space="preserve">name of a property to lookup.</doc>
@@ -3922,9 +4033,10 @@
         </return-value>
         <parameters>
           <parameter name="g_iface" transfer-ownership="none">
-            <doc xml:space="preserve">any interface vtable for the interface, or the default
+            <doc xml:space="preserve">any interface vtable for the
+   interface, or the default
  vtable for the interface.</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInterface" c:type="gpointer"/>
           </parameter>
           <parameter name="pspec" transfer-ownership="none">
             <doc xml:space="preserve">the #GParamSpec for the new property</doc>
@@ -3951,9 +4063,9 @@
         </return-value>
         <parameters>
           <parameter name="g_iface" transfer-ownership="none">
-            <doc xml:space="preserve">any interface vtable for the interface, or the default
- vtable for the interface</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <doc xml:space="preserve">any interface vtable for the
+ interface, or the default vtable for the interface</doc>
+            <type name="TypeInterface" c:type="gpointer"/>
           </parameter>
           <parameter name="n_properties_p"
                      direction="out"
@@ -3964,59 +4076,6 @@
           </parameter>
         </parameters>
       </function>
-      <function name="new"
-                c:identifier="g_object_new"
-                shadowed-by="newv"
-                introspectable="0">
-        <doc xml:space="preserve">Creates a new instance of a #GObject subtype and sets its properties.
-
-Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
-which are not explicitly specified are set to their default values.</doc>
-        <return-value transfer-ownership="full">
-          <doc xml:space="preserve">a new instance of @object_type</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </return-value>
-        <parameters>
-          <parameter name="object_type" transfer-ownership="none">
-            <doc xml:space="preserve">the type id of the #GObject subtype to instantiate</doc>
-            <type name="GType" c:type="GType"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:space="preserve">the name of the first property</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-          <parameter name="..." transfer-ownership="none">
-            <doc xml:space="preserve">the value of the first property, followed optionally by more
- name/value pairs, followed by %NULL</doc>
-            <varargs/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="set" c:identifier="g_object_set" introspectable="0">
-        <doc xml:space="preserve">Sets properties on an object.
-
-Note that the "notify" signals are queued and only emitted (in
-reverse order) after all properties have been set. See
-g_object_freeze_notify().</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="object" transfer-ownership="none">
-            <doc xml:space="preserve">a #GObject</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="first_property_name" transfer-ownership="none">
-            <doc xml:space="preserve">name of the first property to set</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-          <parameter name="..." transfer-ownership="none">
-            <doc xml:space="preserve">value for the first property, followed optionally by more
- name/value pairs, followed by %NULL</doc>
-            <varargs/>
-          </parameter>
-        </parameters>
-      </function>
       <virtual-method name="constructed">
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -4171,7 +4230,11 @@
  the last reference.</doc>
             <type name="ToggleNotify" c:type="GToggleNotify"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">data to pass to @notify</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -4201,7 +4264,8 @@
                      direction="inout"
                      caller-allocates="0"
                      transfer-ownership="full">
-            <doc xml:space="preserve">The memory address of a pointer.</doc>
+            <doc xml:space="preserve">The memory address
+   of a pointer.</doc>
             <type name="gpointer" c:type="gpointer*"/>
           </parameter>
         </parameters>
@@ -4334,7 +4398,11 @@
     from the @target to the @source, or %NULL to use the default</doc>
             <type name="BindingTransformFunc" c:type="GBindingTransformFunc"/>
           </parameter>
-          <parameter name="user_data" transfer-ownership="none">
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="6">
             <doc xml:space="preserve">custom data to be passed to the transformation functions,
     or %NULL</doc>
             <type name="gpointer" c:type="gpointer"/>
@@ -4346,53 +4414,129 @@
           </parameter>
         </parameters>
       </method>
-      <method name="bind_property_with_closures"
-              c:identifier="g_object_bind_property_with_closures"
-              shadows="bind_property_full"
-              version="2.26">
-        <doc xml:space="preserve">Creates a binding between @source_property on @source and @target_property
-on @target, allowing you to set the transformation functions to be used by
-the binding.
+      <method name="bind_property_with_closures"
+              c:identifier="g_object_bind_property_with_closures"
+              shadows="bind_property_full"
+              version="2.26">
+        <doc xml:space="preserve">Creates a binding between @source_property on @source and @target_property
+on @target, allowing you to set the transformation functions to be used by
+the binding.
+
+This function is the language bindings friendly version of
+g_object_bind_property_full(), using #GClosures instead of
+function pointers.</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve">the #GBinding instance representing the
+    binding between the two #GObject instances. The binding is released
+    whenever the #GBinding reference count reaches zero.</doc>
+          <type name="Binding" c:type="GBinding*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="source" transfer-ownership="none">
+            <doc xml:space="preserve">the source #GObject</doc>
+            <type name="Object" c:type="gpointer"/>
+          </instance-parameter>
+          <parameter name="source_property" transfer-ownership="none">
+            <doc xml:space="preserve">the property on @source to bind</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="target" transfer-ownership="none">
+            <doc xml:space="preserve">the target #GObject</doc>
+            <type name="Object" c:type="gpointer"/>
+          </parameter>
+          <parameter name="target_property" transfer-ownership="none">
+            <doc xml:space="preserve">the property on @target to bind</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="flags" transfer-ownership="none">
+            <doc xml:space="preserve">flags to pass to #GBinding</doc>
+            <type name="BindingFlags" c:type="GBindingFlags"/>
+          </parameter>
+          <parameter name="transform_to" transfer-ownership="none">
+            <doc xml:space="preserve">a #GClosure wrapping the transformation function
+    from the @source to the @target, or %NULL to use the default</doc>
+            <type name="Closure" c:type="GClosure*"/>
+          </parameter>
+          <parameter name="transform_from" transfer-ownership="none">
+            <doc xml:space="preserve">a #GClosure wrapping the transformation function
+    from the @target to the @source, or %NULL to use the default</doc>
+            <type name="Closure" c:type="GClosure*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="connect"
+              c:identifier="g_object_connect"
+              introspectable="0">
+        <doc xml:space="preserve">A convenience function to connect multiple signals at once.
+
+The signal specs expected by this function have the form
+"modifier::signal_name", where modifier can be one of the following:
+* - signal: equivalent to g_signal_connect_data (..., NULL, 0)
+- object-signal, object_signal: equivalent to g_signal_connect_object (..., 0)
+- swapped-signal, swapped_signal: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)
+- swapped_object_signal, swapped-object-signal: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED)
+- signal_after, signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_AFTER)
+- object_signal_after, object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_AFTER)
+- swapped_signal_after, swapped-signal-after: equivalent to g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)
+- swapped_object_signal_after, swapped-object-signal-after: equivalent to g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)
+
+|[&lt;!-- language="C" --&gt;
+  menu-&gt;toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
+						   "type", GTK_WINDOW_POPUP,
+						   "child", menu,
+						   NULL),
+				     "signal::event", gtk_menu_window_event, menu,
+				     "signal::size_request", gtk_menu_window_size_request, menu,
+				     "signal::destroy", gtk_widget_destroyed, &amp;menu-&gt;toplevel,
+				     NULL);
+]|</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve">@object</doc>
+          <type name="Object" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="object" transfer-ownership="none">
+            <doc xml:space="preserve">a #GObject</doc>
+            <type name="Object" c:type="gpointer"/>
+          </instance-parameter>
+          <parameter name="signal_spec" transfer-ownership="none">
+            <doc xml:space="preserve">the spec for the first signal</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">#GCallback for the first signal, followed by data for the
+      first signal, followed optionally by more signal
+      spec/callback/data triples, followed by %NULL</doc>
+            <varargs/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="disconnect"
+              c:identifier="g_object_disconnect"
+              introspectable="0">
+        <doc xml:space="preserve">A convenience function to disconnect multiple signals at once.
 
-This function is the language bindings friendly version of
-g_object_bind_property_full(), using #GClosures instead of
-function pointers.</doc>
+The signal specs expected by this function have the form
+"any_signal", which means to disconnect any signal with matching
+callback and data, or "any_signal::signal_name", which only
+disconnects the signal named "signal_name".</doc>
         <return-value transfer-ownership="none">
-          <doc xml:space="preserve">the #GBinding instance representing the
-    binding between the two #GObject instances. The binding is released
-    whenever the #GBinding reference count reaches zero.</doc>
-          <type name="Binding" c:type="GBinding*"/>
+          <type name="none" c:type="void"/>
         </return-value>
         <parameters>
-          <instance-parameter name="source" transfer-ownership="none">
-            <doc xml:space="preserve">the source #GObject</doc>
+          <instance-parameter name="object" transfer-ownership="none">
+            <doc xml:space="preserve">a #GObject</doc>
             <type name="Object" c:type="gpointer"/>
           </instance-parameter>
-          <parameter name="source_property" transfer-ownership="none">
-            <doc xml:space="preserve">the property on @source to bind</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-          <parameter name="target" transfer-ownership="none">
-            <doc xml:space="preserve">the target #GObject</doc>
-            <type name="Object" c:type="gpointer"/>
-          </parameter>
-          <parameter name="target_property" transfer-ownership="none">
-            <doc xml:space="preserve">the property on @target to bind</doc>
+          <parameter name="signal_spec" transfer-ownership="none">
+            <doc xml:space="preserve">the spec for the first signal</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="flags" transfer-ownership="none">
-            <doc xml:space="preserve">flags to pass to #GBinding</doc>
-            <type name="BindingFlags" c:type="GBindingFlags"/>
-          </parameter>
-          <parameter name="transform_to" transfer-ownership="none">
-            <doc xml:space="preserve">a #GClosure wrapping the transformation function
-    from the @source to the @target, or %NULL to use the default</doc>
-            <type name="Closure" c:type="GClosure*"/>
-          </parameter>
-          <parameter name="transform_from" transfer-ownership="none">
-            <doc xml:space="preserve">a #GClosure wrapping the transformation function
-    from the @target to the @source, or %NULL to use the default</doc>
-            <type name="Closure" c:type="GClosure*"/>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">#GCallback for the first signal, followed by data for the first signal,
+ followed optionally by more signal spec/callback/data triples,
+ followed by %NULL</doc>
+            <varargs/>
           </parameter>
         </parameters>
       </method>
@@ -4414,7 +4558,7 @@
 This function can be useful to avoid races when multiple
 threads are using object data on the same key on the same
 object.</doc>
-        <return-value>
+        <return-value nullable="1">
           <doc xml:space="preserve">the result of calling @dup_func on the value
     associated with @key on @object, or %NULL if not set.
     If @dup_func is %NULL, the value is returned
@@ -4441,7 +4585,8 @@
           <parameter name="user_data"
                      transfer-ownership="none"
                      nullable="1"
-                     allow-none="1">
+                     allow-none="1"
+                     closure="2">
             <doc xml:space="preserve">passed as user_data to @dup_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -4465,7 +4610,7 @@
 This function can be useful to avoid races when multiple
 threads are using object data on the same key on the same
 object.</doc>
-        <return-value>
+        <return-value nullable="1">
           <doc xml:space="preserve">the result of calling @dup_func on the value
     associated with @quark on @object, or %NULL if not set.
     If @dup_func is %NULL, the value is returned
@@ -4492,7 +4637,8 @@
           <parameter name="user_data"
                      transfer-ownership="none"
                      nullable="1"
-                     allow-none="1">
+                     allow-none="1"
+                     closure="2">
             <doc xml:space="preserve">passed as user_data to @dup_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -4535,9 +4681,53 @@
           </instance-parameter>
         </parameters>
       </method>
+      <method name="get" c:identifier="g_object_get" introspectable="0">
+        <doc xml:space="preserve">Gets properties of an object.
+
+In general, a copy is made of the property contents and the caller
+is responsible for freeing the memory in the appropriate manner for
+the type, for instance by calling g_free() or g_object_unref().
+
+Here is an example of using g_object_get() to get the contents
+of three properties: an integer, a string and an object:
+|[&lt;!-- language="C" --&gt;
+ gint intval;
+ gchar *strval;
+ GObject *objval;
+
+ g_object_get (my_object,
+               "int-property", &amp;intval,
+               "str-property", &amp;strval,
+               "obj-property", &amp;objval,
+               NULL);
+
+ // Do something with intval, strval, objval
+
+ g_free (strval);
+ g_object_unref (objval);
+ ]|</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="object" transfer-ownership="none">
+            <doc xml:space="preserve">a #GObject</doc>
+            <type name="Object" c:type="gpointer"/>
+          </instance-parameter>
+          <parameter name="first_property_name" transfer-ownership="none">
+            <doc xml:space="preserve">name of the first property to get</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">return location for the first property, followed optionally by more
+ name/return location pairs, followed by %NULL</doc>
+            <varargs/>
+          </parameter>
+        </parameters>
+      </method>
       <method name="get_data" c:identifier="g_object_get_data">
         <doc xml:space="preserve">Gets a named field from the objects table of associations (see g_object_set_data()).</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">the data if found, or %NULL if no such data exists.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -4583,7 +4773,7 @@
       <method name="get_qdata" c:identifier="g_object_get_qdata">
         <doc xml:space="preserve">This function gets back user data pointers stored via
 g_object_set_qdata().</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">The user data pointer set, or %NULL</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -4775,7 +4965,11 @@
  the last reference.</doc>
             <type name="ToggleNotify" c:type="GToggleNotify"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">data to pass to @notify</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -4799,7 +4993,8 @@
                      direction="inout"
                      caller-allocates="0"
                      transfer-ownership="full">
-            <doc xml:space="preserve">The memory address of a pointer.</doc>
+            <doc xml:space="preserve">The memory address
+   of a pointer.</doc>
             <type name="gpointer" c:type="gpointer*"/>
           </parameter>
         </parameters>
@@ -4943,6 +5138,31 @@
           </instance-parameter>
         </parameters>
       </method>
+      <method name="set" c:identifier="g_object_set" introspectable="0">
+        <doc xml:space="preserve">Sets properties on an object.
+
+Note that the "notify" signals are queued and only emitted (in
+reverse order) after all properties have been set. See
+g_object_freeze_notify().</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="object" transfer-ownership="none">
+            <doc xml:space="preserve">a #GObject</doc>
+            <type name="Object" c:type="gpointer"/>
+          </instance-parameter>
+          <parameter name="first_property_name" transfer-ownership="none">
+            <doc xml:space="preserve">name of the first property to set</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="..." transfer-ownership="none">
+            <doc xml:space="preserve">value for the first property, followed optionally by more
+ name/value pairs, followed by %NULL</doc>
+            <varargs/>
+          </parameter>
+        </parameters>
+      </method>
       <method name="set_data" c:identifier="g_object_set_data">
         <doc xml:space="preserve">Each object carries around a table of associations from
 strings to pointers.  This function lets you set an association.
@@ -4961,7 +5181,10 @@
             <doc xml:space="preserve">name of the key</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">data to associate with that key</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -4987,7 +5210,10 @@
             <doc xml:space="preserve">name of the key</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">data to associate with that key</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -5040,7 +5266,10 @@
             <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
             <type name="GLib.Quark" c:type="GQuark"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">An opaque user data pointer</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -5066,7 +5295,10 @@
             <doc xml:space="preserve">A #GQuark, naming the user data pointer</doc>
             <type name="GLib.Quark" c:type="GQuark"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">An opaque user data pointer</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -5103,7 +5335,7 @@
       <method name="steal_data" c:identifier="g_object_steal_data">
         <doc xml:space="preserve">Remove a specified datum from the object's data associations,
 without invoking the association's destroy handler.</doc>
-        <return-value transfer-ownership="full">
+        <return-value transfer-ownership="full" nullable="1">
           <doc xml:space="preserve">the data if found, or %NULL if no such data exists.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -5154,7 +5386,7 @@
 g_object_steal_qdata() would have left the destroy function set,
 and thus the partial string list would have been freed upon
 g_object_set_qdata_full().</doc>
-        <return-value transfer-ownership="full">
+        <return-value transfer-ownership="full" nullable="1">
           <doc xml:space="preserve">The user data pointer set, or %NULL</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -5256,7 +5488,11 @@
             <doc xml:space="preserve">callback to invoke before the object is freed</doc>
             <type name="WeakNotify" c:type="GWeakNotify"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">extra data to pass to notify</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -5278,7 +5514,11 @@
             <doc xml:space="preserve">callback to search for</doc>
             <type name="WeakNotify" c:type="GWeakNotify"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">data to search for</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -5899,7 +6139,7 @@
 e.g. a tooltip. The @nick and @blurb should ideally be localized.</doc>
         <return-value>
           <doc xml:space="preserve">a newly allocated #GParamSpec instance</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="ParamSpec" c:type="gpointer"/>
         </return-value>
         <parameters>
           <parameter name="param_type" transfer-ownership="none">
@@ -6037,7 +6277,7 @@
       </method>
       <method name="get_qdata" c:identifier="g_param_spec_get_qdata">
         <doc xml:space="preserve">Gets back user data pointers stored via g_param_spec_set_qdata().</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">the user data pointer set, or %NULL</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -6122,7 +6362,10 @@
             <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
             <type name="GLib.Quark" c:type="GQuark"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">an opaque user data pointer</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -6148,7 +6391,10 @@
             <doc xml:space="preserve">a #GQuark, naming the user data pointer</doc>
             <type name="GLib.Quark" c:type="GQuark"/>
           </parameter>
-          <parameter name="data" transfer-ownership="none">
+          <parameter name="data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">an opaque user data pointer</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -6182,7 +6428,7 @@
 and removes the @data from @pspec without invoking its destroy()
 function (if any was set).  Usually, calling this function is only
 required to update user data pointers with a destroy notifier.</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">the user data pointer set, or %NULL</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -7125,7 +7371,10 @@
           <doc xml:space="preserve">A #GValue holding the return value of the signal handler.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Callback data that was specified when creating the signal.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -7159,7 +7408,10 @@
             <type name="Value" c:type="GValue"/>
           </array>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">user data associated with the hook.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -7353,7 +7605,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Callback data passed to g_object_add_toggle_ref()</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -7398,78 +7653,9 @@
       <field name="g_type" readable="0" private="1">
         <type name="GType" c:type="GType"/>
       </field>
-      <method name="get_private"
-              c:identifier="g_type_class_get_private"
-              introspectable="0">
-        <return-value>
-          <type name="gpointer" c:type="gpointer"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="klass" transfer-ownership="none">
-            <type name="TypeClass" c:type="GTypeClass*"/>
-          </instance-parameter>
-          <parameter name="private_type" transfer-ownership="none">
-            <type name="GType" c:type="GType"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="peek_parent" c:identifier="g_type_class_peek_parent">
-        <doc xml:space="preserve">This is a convenience function often needed in class initializers.
-It returns the class structure of the immediate parent type of the
-class passed in.  Since derived classes hold a reference count on
-their parent classes as long as they are instantiated, the returned
-class will always exist.
-
-This function is essentially equivalent to:
-g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (g_class)))</doc>
-        <return-value transfer-ownership="none">
-          <doc xml:space="preserve">the parent class
-    of @g_class</doc>
-          <type name="TypeClass" c:type="gpointer"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="g_class" transfer-ownership="none">
-            <doc xml:space="preserve">the #GTypeClass structure to
-    retrieve the parent class for</doc>
-            <type name="TypeClass" c:type="gpointer"/>
-          </instance-parameter>
-        </parameters>
-      </method>
-      <method name="unref" c:identifier="g_type_class_unref">
-        <doc xml:space="preserve">Decrements the reference count of the class structure being passed in.
-Once the last reference count of a class has been released, classes
-may be finalized by the type system, so further dereferencing of a
-class pointer after g_type_class_unref() are invalid.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="g_class" transfer-ownership="none">
-            <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
-            <type name="TypeClass" c:type="gpointer"/>
-          </instance-parameter>
-        </parameters>
-      </method>
-      <method name="unref_uncached"
-              c:identifier="g_type_class_unref_uncached"
-              introspectable="0">
-        <doc xml:space="preserve">A variant of g_type_class_unref() for use in #GTypeClassCacheFunc
-implementations. It unreferences a class without consulting the chain
-of #GTypeClassCacheFuncs, avoiding the recursion which would occur
-otherwise.</doc>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="g_class" transfer-ownership="none">
-            <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
-            <type name="TypeClass" c:type="gpointer"/>
-          </instance-parameter>
-        </parameters>
-      </method>
-      <function name="add_private"
-                c:identifier="g_type_class_add_private"
-                version="2.4">
+      <method name="add_private"
+              c:identifier="g_type_class_add_private"
+              version="2.4">
         <doc xml:space="preserve">Registers a private structure for an instantiatable type.
 
 When an object is allocated, the private structures for
@@ -7536,34 +7722,21 @@
           <type name="none" c:type="void"/>
         </return-value>
         <parameters>
-          <parameter name="g_class" transfer-ownership="none">
-            <doc xml:space="preserve">class structure for an instantiatable type</doc>
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
+          <instance-parameter name="g_class" transfer-ownership="none">
+            <doc xml:space="preserve">class structure for an instantiatable
+   type</doc>
+            <type name="TypeClass" c:type="gpointer"/>
+          </instance-parameter>
           <parameter name="private_size" transfer-ownership="none">
             <doc xml:space="preserve">size of private structure</doc>
             <type name="gsize" c:type="gsize"/>
           </parameter>
         </parameters>
-      </function>
-      <function name="adjust_private_offset"
-                c:identifier="g_type_class_adjust_private_offset">
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <parameter name="g_class" transfer-ownership="none">
-            <type name="gpointer" c:type="gpointer"/>
-          </parameter>
-          <parameter name="private_size_or_offset" transfer-ownership="none">
-            <type name="gint" c:type="gint*"/>
-          </parameter>
-        </parameters>
-      </function>
-      <function name="get_instance_private_offset"
-                c:identifier="g_type_class_get_instance_private_offset"
-                version="2.38"
-                introspectable="0">
+      </method>
+      <method name="get_instance_private_offset"
+              c:identifier="g_type_class_get_instance_private_offset"
+              version="2.38"
+              introspectable="0">
         <doc xml:space="preserve">Gets the offset of the private data for instances of @g_class.
 
 This is how many bytes you should add to the instance pointer of a
@@ -7577,10 +7750,96 @@
           <type name="gint" c:type="gint"/>
         </return-value>
         <parameters>
-          <parameter name="g_class" transfer-ownership="none">
+          <instance-parameter name="g_class" transfer-ownership="none">
             <doc xml:space="preserve">a #GTypeClass</doc>
+            <type name="TypeClass" c:type="gpointer"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_private"
+              c:identifier="g_type_class_get_private"
+              introspectable="0">
+        <return-value nullable="1">
+          <type name="gpointer" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="klass" transfer-ownership="none">
+            <type name="TypeClass" c:type="GTypeClass*"/>
+          </instance-parameter>
+          <parameter name="private_type" transfer-ownership="none">
+            <type name="GType" c:type="GType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="peek_parent" c:identifier="g_type_class_peek_parent">
+        <doc xml:space="preserve">This is a convenience function often needed in class initializers.
+It returns the class structure of the immediate parent type of the
+class passed in.  Since derived classes hold a reference count on
+their parent classes as long as they are instantiated, the returned
+class will always exist.
+
+This function is essentially equivalent to:
+g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (g_class)))</doc>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve">the parent class
+    of @g_class</doc>
+          <type name="TypeClass" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="g_class" transfer-ownership="none">
+            <doc xml:space="preserve">the #GTypeClass structure to
+    retrieve the parent class for</doc>
+            <type name="TypeClass" c:type="gpointer"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="unref" c:identifier="g_type_class_unref">
+        <doc xml:space="preserve">Decrements the reference count of the class structure being passed in.
+Once the last reference count of a class has been released, classes
+may be finalized by the type system, so further dereferencing of a
+class pointer after g_type_class_unref() are invalid.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="g_class" transfer-ownership="none">
+            <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
+            <type name="TypeClass" c:type="gpointer"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="unref_uncached"
+              c:identifier="g_type_class_unref_uncached"
+              introspectable="0">
+        <doc xml:space="preserve">A variant of g_type_class_unref() for use in #GTypeClassCacheFunc
+implementations. It unreferences a class without consulting the chain
+of #GTypeClassCacheFuncs, avoiding the recursion which would occur
+otherwise.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="g_class" transfer-ownership="none">
+            <doc xml:space="preserve">a #GTypeClass structure to unref</doc>
+            <type name="TypeClass" c:type="gpointer"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <function name="adjust_private_offset"
+                c:identifier="g_type_class_adjust_private_offset">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="g_class"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
+          <parameter name="private_size_or_offset" transfer-ownership="none">
+            <type name="gint" c:type="gint*"/>
+          </parameter>
         </parameters>
       </function>
       <function name="peek" c:identifier="g_type_class_peek">
@@ -7653,12 +7912,16 @@
         <type name="gboolean" c:type="gboolean"/>
       </return-value>
       <parameters>
-        <parameter name="cache_data" transfer-ownership="none">
+        <parameter name="cache_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data that was given to the g_type_add_class_cache_func() call</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
         <parameter name="g_class" transfer-ownership="none">
-          <doc xml:space="preserve">The #GTypeClass structure which is unreferenced</doc>
+          <doc xml:space="preserve">The #GTypeClass structure which is
+   unreferenced</doc>
           <type name="TypeClass" c:type="GTypeClass*"/>
         </parameter>
       </parameters>
@@ -7800,7 +8063,7 @@
       <method name="get_private"
               c:identifier="g_type_instance_get_private"
               introspectable="0">
-        <return-value>
+        <return-value nullable="1">
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
         <parameters>
@@ -7941,13 +8204,17 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="check_data" transfer-ownership="none">
+        <parameter name="check_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data passed to g_type_add_interface_check()</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
         <parameter name="g_iface" transfer-ownership="none">
-          <doc xml:space="preserve">the interface that has been initialized</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <doc xml:space="preserve">the interface that has been
+   initialized</doc>
+          <type name="TypeInterface" c:type="gpointer"/>
         </parameter>
       </parameters>
     </callback>
@@ -8708,8 +8975,9 @@
           <type name="Value" c:type="GValue*"/>
         </parameter>
         <parameter name="instance" transfer-ownership="none">
-          <doc xml:space="preserve">the instance on which the closure is invoked.</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <doc xml:space="preserve">the instance on which the closure is
+ invoked.</doc>
+          <type name="TypeInstance" c:type="gpointer"/>
         </parameter>
         <parameter name="args" transfer-ownership="none">
           <doc xml:space="preserve">va_list of arguments to be passed to the closure.</doc>
@@ -8781,7 +9049,7 @@
 the boxed value is duplicated and needs to be later freed with
 g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (@value),
 return_value);</doc>
-        <return-value>
+        <return-value nullable="1">
           <doc xml:space="preserve">boxed contents of @value</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -8883,7 +9151,7 @@
       </method>
       <method name="get_boxed" c:identifier="g_value_get_boxed">
         <doc xml:space="preserve">Get the contents of a %G_TYPE_BOXED derived #GValue.</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">boxed contents of @value</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -9046,7 +9314,7 @@
       </method>
       <method name="get_pointer" c:identifier="g_value_get_pointer">
         <doc xml:space="preserve">Get the contents of a pointer #GValue.</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">pointer contents of @value</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -9187,7 +9455,7 @@
           </instance-parameter>
           <parameter name="instance" transfer-ownership="none">
             <doc xml:space="preserve">the instance</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="TypeInstance" c:type="gpointer"/>
           </parameter>
         </parameters>
       </method>
@@ -9195,7 +9463,7 @@
         <doc xml:space="preserve">Returns the value contents as pointer. This function asserts that
 g_value_fits_pointer() returned %TRUE for the passed in value.
 This is an internal function introduced mainly for C marshallers.</doc>
-        <return-value transfer-ownership="none">
+        <return-value transfer-ownership="none" nullable="1">
           <doc xml:space="preserve">the value contents as pointer</doc>
           <type name="gpointer" c:type="gpointer"/>
         </return-value>
@@ -9552,7 +9820,10 @@
             <doc xml:space="preserve">a valid #GValue of %G_TYPE_POINTER</doc>
             <type name="Value" c:type="GValue*"/>
           </instance-parameter>
-          <parameter name="v_pointer" transfer-ownership="none">
+          <parameter name="v_pointer"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
             <doc xml:space="preserve">pointer value to be set</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -10224,7 +10495,11 @@
             <doc xml:space="preserve">function to compare elements</doc>
             <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
           </parameter>
-          <parameter name="user_data" transfer-ownership="none">
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="1">
             <doc xml:space="preserve">extra data argument provided for @compare_func</doc>
             <type name="gpointer" c:type="gpointer"/>
           </parameter>
@@ -10257,7 +10532,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data that was provided when the weak reference was established</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -10374,7 +10652,7 @@
                      nullable="1"
                      allow-none="1">
             <doc xml:space="preserve">a #GObject or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="Object" c:type="gpointer"/>
           </parameter>
         </parameters>
       </method>
@@ -10400,7 +10678,7 @@
                      nullable="1"
                      allow-none="1">
             <doc xml:space="preserve">a #GObject or %NULL</doc>
-            <type name="gpointer" c:type="gpointer"/>
+            <type name="Object" c:type="gpointer"/>
           </parameter>
         </parameters>
       </method>
@@ -10437,7 +10715,8 @@
     <function name="boxed_copy" c:identifier="g_boxed_copy">
       <doc xml:space="preserve">Provide a copy of a boxed structure @src_boxed which is of type @boxed_type.</doc>
       <return-value transfer-ownership="full">
-        <doc xml:space="preserve">The newly created copy of the boxed structure.</doc>
+        <doc xml:space="preserve">The newly created copy of the boxed
+   structure.</doc>
         <type name="gpointer" c:type="gpointer"/>
       </return-value>
       <parameters>
@@ -10521,12 +10800,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10563,12 +10848,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10604,12 +10895,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10644,12 +10941,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10684,12 +10987,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10724,12 +11033,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10764,12 +11079,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10804,12 +11125,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10844,12 +11171,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10884,12 +11217,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10924,12 +11263,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -10964,12 +11309,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11004,12 +11355,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11044,12 +11401,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11088,12 +11451,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11128,12 +11497,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11168,12 +11543,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11208,12 +11589,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11248,12 +11635,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11288,12 +11681,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11328,12 +11727,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11367,12 +11772,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11411,12 +11822,18 @@
   on which to invoke the callback of closure.</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="invocation_hint" transfer-ownership="none">
+        <parameter name="invocation_hint"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The invocation hint given as the last argument to
   g_closure_invoke().</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="marshal_data" transfer-ownership="none">
+        <parameter name="marshal_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">Additional data specified when registering the
   marshaller, see g_closure_set_marshal() and
   g_closure_set_meta_marshal()</doc>
@@ -11439,7 +11856,11 @@
           <doc xml:space="preserve">the function to invoke</doc>
           <type name="Callback" c:type="GCallback"/>
         </parameter>
-        <parameter name="user_data" transfer-ownership="none">
+        <parameter name="user_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="1">
           <doc xml:space="preserve">user data to pass to @callback_func</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -11512,7 +11933,11 @@
           <doc xml:space="preserve">the function to invoke</doc>
           <type name="Callback" c:type="GCallback"/>
         </parameter>
-        <parameter name="user_data" transfer-ownership="none">
+        <parameter name="user_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="1">
           <doc xml:space="preserve">user data to pass to @callback_func</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -12351,7 +12776,10 @@
           <doc xml:space="preserve">description of the property specified</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
-        <parameter name="default_value" transfer-ownership="none">
+        <parameter name="default_value"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">default value for the property specified</doc>
           <type name="utf8" c:type="const gchar*"/>
         </parameter>
@@ -12811,7 +13239,10 @@
           <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="dummy" transfer-ownership="none">
+        <parameter name="dummy"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -12844,7 +13275,10 @@
           <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
           <type name="Value" c:type="const GValue*"/>
         </parameter>
-        <parameter name="dummy" transfer-ownership="none">
+        <parameter name="dummy"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">standard #GSignalAccumulator parameter</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -12876,7 +13310,11 @@
           <doc xml:space="preserve">a #GSignalEmissionHook function.</doc>
           <type name="SignalEmissionHook" c:type="GSignalEmissionHook"/>
         </parameter>
-        <parameter name="hook_data" transfer-ownership="none">
+        <parameter name="hook_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="3">
           <doc xml:space="preserve">user data for @hook_func.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -12923,8 +13361,9 @@
       </return-value>
       <parameters>
         <parameter name="instance" transfer-ownership="none">
-          <doc xml:space="preserve">the instance the signal is being emitted on.</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <doc xml:space="preserve">the instance the signal is being
+   emitted on.</doc>
+          <type name="TypeInstance" c:type="gpointer"/>
         </parameter>
         <parameter name="..." transfer-ownership="none">
           <doc xml:space="preserve">parameters to be passed to the parent class closure, followed by a
@@ -13017,7 +13456,11 @@
           <doc xml:space="preserve">the #GCallback to connect.</doc>
           <type name="Callback" c:type="GCallback"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="3">
           <doc xml:space="preserve">data to pass to @c_handler calls.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13049,7 +13492,7 @@
       <parameters>
         <parameter name="instance" transfer-ownership="none">
           <doc xml:space="preserve">the instance to connect to.</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <type name="TypeInstance" c:type="gpointer"/>
         </parameter>
         <parameter name="detailed_signal" transfer-ownership="none">
           <doc xml:space="preserve">a string of the form "signal-name::detail".</doc>
@@ -13059,9 +13502,13 @@
           <doc xml:space="preserve">the #GCallback to connect.</doc>
           <type name="Callback" c:type="GCallback"/>
         </parameter>
-        <parameter name="gobject" transfer-ownership="none">
-          <doc xml:space="preserve">the object to pass as data to @c_handler.</doc>
-          <type name="gpointer" c:type="gpointer"/>
+        <parameter name="gobject"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve">the object to pass as data
+   to @c_handler.</doc>
+          <type name="Object" c:type="gpointer"/>
         </parameter>
         <parameter name="connect_flags" transfer-ownership="none">
           <doc xml:space="preserve">a combination of #GConnectFlags.</doc>
@@ -13139,8 +13586,9 @@
       </return-value>
       <parameters>
         <parameter name="instance" transfer-ownership="none">
-          <doc xml:space="preserve">the instance the signal is being emitted on.</doc>
-          <type name="gpointer" c:type="gpointer"/>
+          <doc xml:space="preserve">the instance the signal is being
+   emitted on.</doc>
+          <type name="TypeInstance" c:type="gpointer"/>
         </parameter>
         <parameter name="signal_id" transfer-ownership="none">
           <doc xml:space="preserve">the signal id</doc>
@@ -13290,11 +13738,17 @@
           <doc xml:space="preserve">The closure the handler will invoke.</doc>
           <type name="Closure" c:type="GClosure*"/>
         </parameter>
-        <parameter name="func" transfer-ownership="none">
+        <parameter name="func"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The C closure callback of the handler (useless for non-C closures).</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The closure data of the handler's closure.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13385,11 +13839,17 @@
           <doc xml:space="preserve">The closure the handlers will invoke.</doc>
           <type name="Closure" c:type="GClosure*"/>
         </parameter>
-        <parameter name="func" transfer-ownership="none">
+        <parameter name="func"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13449,11 +13909,17 @@
           <doc xml:space="preserve">The closure the handlers will invoke.</doc>
           <type name="Closure" c:type="GClosure*"/>
         </parameter>
-        <parameter name="func" transfer-ownership="none">
+        <parameter name="func"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13498,11 +13964,17 @@
           <doc xml:space="preserve">The closure the handlers will invoke.</doc>
           <type name="Closure" c:type="GClosure*"/>
         </parameter>
-        <parameter name="func" transfer-ownership="none">
+        <parameter name="func"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The C closure callback of the handlers (useless for non-C closures).</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">The closure data of the handlers' closures.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13656,7 +14128,11 @@
           <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
         </parameter>
-        <parameter name="accu_data" transfer-ownership="none">
+        <parameter name="accu_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="5">
           <doc xml:space="preserve">user data for the @accumulator.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13733,7 +14209,11 @@
           <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
         </parameter>
-        <parameter name="accu_data" transfer-ownership="none">
+        <parameter name="accu_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="5">
           <doc xml:space="preserve">user data for the @accumulator.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13797,7 +14277,11 @@
           <doc xml:space="preserve">the accumulator for this signal; may be %NULL.</doc>
           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
         </parameter>
-        <parameter name="accu_data" transfer-ownership="none">
+        <parameter name="accu_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="5">
           <doc xml:space="preserve">user data for the @accumulator.</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -13869,7 +14353,11 @@
           <doc xml:space="preserve">the accumulator for this signal; may be %NULL</doc>
           <type name="SignalAccumulator" c:type="GSignalAccumulator"/>
         </parameter>
-        <parameter name="accu_data" transfer-ownership="none">
+        <parameter name="accu_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="5">
           <doc xml:space="preserve">user data for the @accumulator</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -14204,7 +14692,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="cache_data" transfer-ownership="none">
+        <parameter name="cache_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data to be passed to @cache_func</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -14272,7 +14763,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="check_data" transfer-ownership="none">
+        <parameter name="check_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data to pass to @check_func</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -14479,86 +14973,6 @@
         </parameter>
       </parameters>
     </function>
-    <function name="type_class_add_private"
-              c:identifier="g_type_class_add_private"
-              moved-to="TypeClass.add_private"
-              version="2.4">
-      <doc xml:space="preserve">Registers a private structure for an instantiatable type.
-
-When an object is allocated, the private structures for
-the type and all of its parent types are allocated
-sequentially in the same memory block as the public
-structures, and are zero-filled.
-
-Note that the accumulated size of the private structures of
-a type and all its parent types cannot exceed 64 KiB.
-
-This function should be called in the type's class_init() function.
-The private structure can be retrieved using the
-G_TYPE_INSTANCE_GET_PRIVATE() macro.
-
-The following example shows attaching a private structure
-MyObjectPrivate to an object MyObject defined in the standard
-GObject fashion in the type's class_init() function.
-
-Note the use of a structure member "priv" to avoid the overhead
-of repeatedly calling MY_OBJECT_GET_PRIVATE().
-
-|[&lt;!-- language="C" --&gt;
-typedef struct _MyObject        MyObject;
-typedef struct _MyObjectPrivate MyObjectPrivate;
-
-struct _MyObject {
- GObject parent;
-
- MyObjectPrivate *priv;
-};
-
-struct _MyObjectPrivate {
-  int some_field;
-};
-
-static void
-my_object_class_init (MyObjectClass *klass)
-{
-  g_type_class_add_private (klass, sizeof (MyObjectPrivate));
-}
-
-static void
-my_object_init (MyObject *my_object)
-{
-  my_object-&gt;priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object,
-                                                 MY_TYPE_OBJECT,
-                                                 MyObjectPrivate);
-  // my_object-&gt;priv-&gt;some_field will be automatically initialised to 0
-}
-
-static int
-my_object_get_some_field (MyObject *my_object)
-{
-  MyObjectPrivate *priv;
-
-  g_return_val_if_fail (MY_IS_OBJECT (my_object), 0);
-
-  priv = my_object-&gt;priv;
-
-  return priv-&gt;some_field;
-}
-]|</doc>
-      <return-value transfer-ownership="none">
-        <type name="none" c:type="void"/>
-      </return-value>
-      <parameters>
-        <parameter name="g_class" transfer-ownership="none">
-          <doc xml:space="preserve">class structure for an instantiatable type</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-        <parameter name="private_size" transfer-ownership="none">
-          <doc xml:space="preserve">size of private structure</doc>
-          <type name="gsize" c:type="gsize"/>
-        </parameter>
-      </parameters>
-    </function>
     <function name="type_class_adjust_private_offset"
               c:identifier="g_type_class_adjust_private_offset"
               moved-to="TypeClass.adjust_private_offset">
@@ -14566,7 +14980,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="g_class" transfer-ownership="none">
+        <parameter name="g_class"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
         <parameter name="private_size_or_offset" transfer-ownership="none">
@@ -14574,30 +14991,6 @@
         </parameter>
       </parameters>
     </function>
-    <function name="type_class_get_instance_private_offset"
-              c:identifier="g_type_class_get_instance_private_offset"
-              moved-to="TypeClass.get_instance_private_offset"
-              version="2.38"
-              introspectable="0">
-      <doc xml:space="preserve">Gets the offset of the private data for instances of @g_class.
-
-This is how many bytes you should add to the instance pointer of a
-class in order to get the private data for the type represented by
-@g_class.
-
-You can only call this function after you have registered a private
-data area for @g_class using g_type_class_add_private().</doc>
-      <return-value transfer-ownership="none">
-        <doc xml:space="preserve">the offset, in bytes</doc>
-        <type name="gint" c:type="gint"/>
-      </return-value>
-      <parameters>
-        <parameter name="g_class" transfer-ownership="none">
-          <doc xml:space="preserve">a #GTypeClass</doc>
-          <type name="gpointer" c:type="gpointer"/>
-        </parameter>
-      </parameters>
-    </function>
     <function name="type_class_peek"
               c:identifier="g_type_class_peek"
               moved-to="TypeClass.peek">
@@ -14885,7 +15278,7 @@
 Note that this does not take subtyping into account; data
 attached to one type with g_type_set_qdata() cannot
 be retrieved from a subtype using g_type_get_qdata().</doc>
-      <return-value transfer-ownership="none">
+      <return-value transfer-ownership="none" nullable="1">
         <doc xml:space="preserve">the data, or %NULL if no data was found</doc>
         <type name="gpointer" c:type="gpointer"/>
       </return-value>
@@ -15355,7 +15748,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="cache_data" transfer-ownership="none">
+        <parameter name="cache_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">data that was given when adding @cache_func</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -15375,7 +15771,10 @@
         <type name="none" c:type="void"/>
       </return-value>
       <parameters>
-        <parameter name="check_data" transfer-ownership="none">
+        <parameter name="check_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">callback data passed to g_type_add_interface_check()</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
@@ -15400,7 +15799,10 @@
           <doc xml:space="preserve">a #GQuark id to identify the data</doc>
           <type name="GLib.Quark" c:type="GQuark"/>
         </parameter>
-        <parameter name="data" transfer-ownership="none">
+        <parameter name="data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
           <doc xml:space="preserve">the data</doc>
           <type name="gpointer" c:type="gpointer"/>
         </parameter>
