diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+### 2.0.19
+
++ List autogenerated modules in .cabal file
+
 ### 2.0.18
 
 + Update to haskell-gi(-base) 0.22
diff --git a/GI/GObject.hs b/GI/GObject.hs
deleted file mode 100644
--- a/GI/GObject.hs
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject
-    (     module GI.GObject.Callbacks             ,
-    module GI.GObject.Constants             ,
-    module GI.GObject.Flags                 ,
-    module GI.GObject.Functions             ,
-    module GI.GObject.Interfaces            ,
-    module GI.GObject.Objects               ,
-    module GI.GObject.Structs               ,
-    module GI.GObject.Unions                ,
-
-
-
-    module Data.GI.Base                     ,
-
-
-    ) where
-
-import GI.GObject.Callbacks
-import GI.GObject.Constants
-import GI.GObject.Flags
-import GI.GObject.Functions
-import GI.GObject.Interfaces
-import GI.GObject.Objects
-import GI.GObject.Structs
-import GI.GObject.Unions
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
-import Data.GI.Base
-
diff --git a/GI/GObject/Callbacks.hs b/GI/GObject/Callbacks.hs
deleted file mode 100644
--- a/GI/GObject/Callbacks.hs
+++ /dev/null
@@ -1,3354 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Callbacks
-    ( 
-
- -- * Signals
--- ** BaseFinalizeFunc #signal:BaseFinalizeFunc#
-
-    BaseFinalizeFunc                        ,
-    C_BaseFinalizeFunc                      ,
-    dynamic_BaseFinalizeFunc                ,
-    genClosure_BaseFinalizeFunc             ,
-    mk_BaseFinalizeFunc                     ,
-    noBaseFinalizeFunc                      ,
-    wrap_BaseFinalizeFunc                   ,
-
-
--- ** BaseInitFunc #signal:BaseInitFunc#
-
-    BaseInitFunc                            ,
-    C_BaseInitFunc                          ,
-    dynamic_BaseInitFunc                    ,
-    genClosure_BaseInitFunc                 ,
-    mk_BaseInitFunc                         ,
-    noBaseInitFunc                          ,
-    wrap_BaseInitFunc                       ,
-
-
--- ** BindingTransformFunc #signal:BindingTransformFunc#
-
-    BindingTransformFunc                    ,
-    BindingTransformFunc_WithClosures       ,
-    C_BindingTransformFunc                  ,
-    drop_closures_BindingTransformFunc      ,
-    dynamic_BindingTransformFunc            ,
-    genClosure_BindingTransformFunc         ,
-    mk_BindingTransformFunc                 ,
-    noBindingTransformFunc                  ,
-    noBindingTransformFunc_WithClosures     ,
-    wrap_BindingTransformFunc               ,
-
-
--- ** BoxedCopyFunc #signal:BoxedCopyFunc#
-
-    BoxedCopyFunc                           ,
-    C_BoxedCopyFunc                         ,
-    dynamic_BoxedCopyFunc                   ,
-    genClosure_BoxedCopyFunc                ,
-    mk_BoxedCopyFunc                        ,
-    noBoxedCopyFunc                         ,
-    wrap_BoxedCopyFunc                      ,
-
-
--- ** BoxedFreeFunc #signal:BoxedFreeFunc#
-
-    BoxedFreeFunc                           ,
-    C_BoxedFreeFunc                         ,
-    dynamic_BoxedFreeFunc                   ,
-    genClosure_BoxedFreeFunc                ,
-    mk_BoxedFreeFunc                        ,
-    noBoxedFreeFunc                         ,
-    wrap_BoxedFreeFunc                      ,
-
-
--- ** Callback #signal:Callback#
-
-    C_Callback                              ,
-    Callback                                ,
-    dynamic_Callback                        ,
-    genClosure_Callback                     ,
-    mk_Callback                             ,
-    noCallback                              ,
-    wrap_Callback                           ,
-
-
--- ** ClassFinalizeFunc #signal:ClassFinalizeFunc#
-
-    C_ClassFinalizeFunc                     ,
-    ClassFinalizeFunc                       ,
-    dynamic_ClassFinalizeFunc               ,
-    genClosure_ClassFinalizeFunc            ,
-    mk_ClassFinalizeFunc                    ,
-    noClassFinalizeFunc                     ,
-    wrap_ClassFinalizeFunc                  ,
-
-
--- ** ClassInitFunc #signal:ClassInitFunc#
-
-    C_ClassInitFunc                         ,
-    ClassInitFunc                           ,
-    dynamic_ClassInitFunc                   ,
-    genClosure_ClassInitFunc                ,
-    mk_ClassInitFunc                        ,
-    noClassInitFunc                         ,
-    wrap_ClassInitFunc                      ,
-
-
--- ** ClosureMarshalFieldCallback #signal:ClosureMarshalFieldCallback#
-
-    C_ClosureMarshalFieldCallback           ,
-    ClosureMarshalFieldCallback             ,
-    dynamic_ClosureMarshalFieldCallback     ,
-    genClosure_ClosureMarshalFieldCallback  ,
-    mk_ClosureMarshalFieldCallback          ,
-    noClosureMarshalFieldCallback           ,
-    wrap_ClosureMarshalFieldCallback        ,
-
-
--- ** ClosureNotify #signal:ClosureNotify#
-
-    C_ClosureNotify                         ,
-    ClosureNotify                           ,
-    dynamic_ClosureNotify                   ,
-    genClosure_ClosureNotify                ,
-    mk_ClosureNotify                        ,
-    noClosureNotify                         ,
-    wrap_ClosureNotify                      ,
-
-
--- ** InstanceInitFunc #signal:InstanceInitFunc#
-
-    C_InstanceInitFunc                      ,
-    InstanceInitFunc                        ,
-    dynamic_InstanceInitFunc                ,
-    genClosure_InstanceInitFunc             ,
-    mk_InstanceInitFunc                     ,
-    noInstanceInitFunc                      ,
-    wrap_InstanceInitFunc                   ,
-
-
--- ** InterfaceFinalizeFunc #signal:InterfaceFinalizeFunc#
-
-    C_InterfaceFinalizeFunc                 ,
-    InterfaceFinalizeFunc                   ,
-    dynamic_InterfaceFinalizeFunc           ,
-    genClosure_InterfaceFinalizeFunc        ,
-    mk_InterfaceFinalizeFunc                ,
-    noInterfaceFinalizeFunc                 ,
-    wrap_InterfaceFinalizeFunc              ,
-
-
--- ** InterfaceInitFunc #signal:InterfaceInitFunc#
-
-    C_InterfaceInitFunc                     ,
-    InterfaceInitFunc                       ,
-    dynamic_InterfaceInitFunc               ,
-    genClosure_InterfaceInitFunc            ,
-    mk_InterfaceInitFunc                    ,
-    noInterfaceInitFunc                     ,
-    wrap_InterfaceInitFunc                  ,
-
-
--- ** ObjectFinalizeFunc #signal:ObjectFinalizeFunc#
-
-    C_ObjectFinalizeFunc                    ,
-    ObjectFinalizeFunc                      ,
-    dynamic_ObjectFinalizeFunc              ,
-    genClosure_ObjectFinalizeFunc           ,
-    mk_ObjectFinalizeFunc                   ,
-    noObjectFinalizeFunc                    ,
-    wrap_ObjectFinalizeFunc                 ,
-
-
--- ** ObjectGetPropertyFunc #signal:ObjectGetPropertyFunc#
-
-    C_ObjectGetPropertyFunc                 ,
-    ObjectGetPropertyFunc                   ,
-    dynamic_ObjectGetPropertyFunc           ,
-    genClosure_ObjectGetPropertyFunc        ,
-    mk_ObjectGetPropertyFunc                ,
-    noObjectGetPropertyFunc                 ,
-    wrap_ObjectGetPropertyFunc              ,
-
-
--- ** ObjectSetPropertyFunc #signal:ObjectSetPropertyFunc#
-
-    C_ObjectSetPropertyFunc                 ,
-    ObjectSetPropertyFunc                   ,
-    dynamic_ObjectSetPropertyFunc           ,
-    genClosure_ObjectSetPropertyFunc        ,
-    mk_ObjectSetPropertyFunc                ,
-    noObjectSetPropertyFunc                 ,
-    wrap_ObjectSetPropertyFunc              ,
-
-
--- ** ParamSpecTypeInfoFinalizeFieldCallback #signal:ParamSpecTypeInfoFinalizeFieldCallback#
-
-    C_ParamSpecTypeInfoFinalizeFieldCallback,
-    ParamSpecTypeInfoFinalizeFieldCallback  ,
-    dynamic_ParamSpecTypeInfoFinalizeFieldCallback,
-    genClosure_ParamSpecTypeInfoFinalizeFieldCallback,
-    mk_ParamSpecTypeInfoFinalizeFieldCallback,
-    noParamSpecTypeInfoFinalizeFieldCallback,
-    wrap_ParamSpecTypeInfoFinalizeFieldCallback,
-
-
--- ** ParamSpecTypeInfoInstanceInitFieldCallback #signal:ParamSpecTypeInfoInstanceInitFieldCallback#
-
-    C_ParamSpecTypeInfoInstanceInitFieldCallback,
-    ParamSpecTypeInfoInstanceInitFieldCallback,
-    dynamic_ParamSpecTypeInfoInstanceInitFieldCallback,
-    genClosure_ParamSpecTypeInfoInstanceInitFieldCallback,
-    mk_ParamSpecTypeInfoInstanceInitFieldCallback,
-    noParamSpecTypeInfoInstanceInitFieldCallback,
-    wrap_ParamSpecTypeInfoInstanceInitFieldCallback,
-
-
--- ** ParamSpecTypeInfoValueSetDefaultFieldCallback #signal:ParamSpecTypeInfoValueSetDefaultFieldCallback#
-
-    C_ParamSpecTypeInfoValueSetDefaultFieldCallback,
-    ParamSpecTypeInfoValueSetDefaultFieldCallback,
-    dynamic_ParamSpecTypeInfoValueSetDefaultFieldCallback,
-    genClosure_ParamSpecTypeInfoValueSetDefaultFieldCallback,
-    mk_ParamSpecTypeInfoValueSetDefaultFieldCallback,
-    noParamSpecTypeInfoValueSetDefaultFieldCallback,
-    wrap_ParamSpecTypeInfoValueSetDefaultFieldCallback,
-
-
--- ** ParamSpecTypeInfoValueValidateFieldCallback #signal:ParamSpecTypeInfoValueValidateFieldCallback#
-
-    C_ParamSpecTypeInfoValueValidateFieldCallback,
-    ParamSpecTypeInfoValueValidateFieldCallback,
-    dynamic_ParamSpecTypeInfoValueValidateFieldCallback,
-    genClosure_ParamSpecTypeInfoValueValidateFieldCallback,
-    mk_ParamSpecTypeInfoValueValidateFieldCallback,
-    noParamSpecTypeInfoValueValidateFieldCallback,
-    wrap_ParamSpecTypeInfoValueValidateFieldCallback,
-
-
--- ** ParamSpecTypeInfoValuesCmpFieldCallback #signal:ParamSpecTypeInfoValuesCmpFieldCallback#
-
-    C_ParamSpecTypeInfoValuesCmpFieldCallback,
-    ParamSpecTypeInfoValuesCmpFieldCallback ,
-    dynamic_ParamSpecTypeInfoValuesCmpFieldCallback,
-    genClosure_ParamSpecTypeInfoValuesCmpFieldCallback,
-    mk_ParamSpecTypeInfoValuesCmpFieldCallback,
-    noParamSpecTypeInfoValuesCmpFieldCallback,
-    wrap_ParamSpecTypeInfoValuesCmpFieldCallback,
-
-
--- ** SignalAccumulator #signal:SignalAccumulator#
-
-    C_SignalAccumulator                     ,
-    SignalAccumulator                       ,
-    dynamic_SignalAccumulator               ,
-    genClosure_SignalAccumulator            ,
-    mk_SignalAccumulator                    ,
-    noSignalAccumulator                     ,
-    wrap_SignalAccumulator                  ,
-
-
--- ** SignalEmissionHook #signal:SignalEmissionHook#
-
-    C_SignalEmissionHook                    ,
-    SignalEmissionHook                      ,
-    dynamic_SignalEmissionHook              ,
-    genClosure_SignalEmissionHook           ,
-    mk_SignalEmissionHook                   ,
-    noSignalEmissionHook                    ,
-    wrap_SignalEmissionHook                 ,
-
-
--- ** ToggleNotify #signal:ToggleNotify#
-
-    C_ToggleNotify                          ,
-    ToggleNotify                            ,
-    dynamic_ToggleNotify                    ,
-    genClosure_ToggleNotify                 ,
-    mk_ToggleNotify                         ,
-    noToggleNotify                          ,
-    wrap_ToggleNotify                       ,
-
-
--- ** TypeClassCacheFunc #signal:TypeClassCacheFunc#
-
-    C_TypeClassCacheFunc                    ,
-    TypeClassCacheFunc                      ,
-    dynamic_TypeClassCacheFunc              ,
-    genClosure_TypeClassCacheFunc           ,
-    mk_TypeClassCacheFunc                   ,
-    noTypeClassCacheFunc                    ,
-    wrap_TypeClassCacheFunc                 ,
-
-
--- ** TypeInterfaceCheckFunc #signal:TypeInterfaceCheckFunc#
-
-    C_TypeInterfaceCheckFunc                ,
-    TypeInterfaceCheckFunc                  ,
-    dynamic_TypeInterfaceCheckFunc          ,
-    genClosure_TypeInterfaceCheckFunc       ,
-    mk_TypeInterfaceCheckFunc               ,
-    noTypeInterfaceCheckFunc                ,
-    wrap_TypeInterfaceCheckFunc             ,
-
-
--- ** TypePluginCompleteInterfaceInfo #signal:TypePluginCompleteInterfaceInfo#
-
-    C_TypePluginCompleteInterfaceInfo       ,
-    TypePluginCompleteInterfaceInfo         ,
-    dynamic_TypePluginCompleteInterfaceInfo ,
-    genClosure_TypePluginCompleteInterfaceInfo,
-    mk_TypePluginCompleteInterfaceInfo      ,
-    noTypePluginCompleteInterfaceInfo       ,
-    wrap_TypePluginCompleteInterfaceInfo    ,
-
-
--- ** TypePluginCompleteTypeInfo #signal:TypePluginCompleteTypeInfo#
-
-    C_TypePluginCompleteTypeInfo            ,
-    TypePluginCompleteTypeInfo              ,
-    dynamic_TypePluginCompleteTypeInfo      ,
-    genClosure_TypePluginCompleteTypeInfo   ,
-    mk_TypePluginCompleteTypeInfo           ,
-    noTypePluginCompleteTypeInfo            ,
-    wrap_TypePluginCompleteTypeInfo         ,
-
-
--- ** TypePluginUnuse #signal:TypePluginUnuse#
-
-    C_TypePluginUnuse                       ,
-    TypePluginUnuse                         ,
-    dynamic_TypePluginUnuse                 ,
-    genClosure_TypePluginUnuse              ,
-    mk_TypePluginUnuse                      ,
-    noTypePluginUnuse                       ,
-    wrap_TypePluginUnuse                    ,
-
-
--- ** TypePluginUse #signal:TypePluginUse#
-
-    C_TypePluginUse                         ,
-    TypePluginUse                           ,
-    dynamic_TypePluginUse                   ,
-    genClosure_TypePluginUse                ,
-    mk_TypePluginUse                        ,
-    noTypePluginUse                         ,
-    wrap_TypePluginUse                      ,
-
-
--- ** TypeValueTableCollectValueFieldCallback #signal:TypeValueTableCollectValueFieldCallback#
-
-    C_TypeValueTableCollectValueFieldCallback,
-    TypeValueTableCollectValueFieldCallback ,
-    dynamic_TypeValueTableCollectValueFieldCallback,
-    genClosure_TypeValueTableCollectValueFieldCallback,
-    mk_TypeValueTableCollectValueFieldCallback,
-    noTypeValueTableCollectValueFieldCallback,
-    wrap_TypeValueTableCollectValueFieldCallback,
-
-
--- ** TypeValueTableLcopyValueFieldCallback #signal:TypeValueTableLcopyValueFieldCallback#
-
-    C_TypeValueTableLcopyValueFieldCallback ,
-    TypeValueTableLcopyValueFieldCallback   ,
-    dynamic_TypeValueTableLcopyValueFieldCallback,
-    genClosure_TypeValueTableLcopyValueFieldCallback,
-    mk_TypeValueTableLcopyValueFieldCallback,
-    noTypeValueTableLcopyValueFieldCallback ,
-    wrap_TypeValueTableLcopyValueFieldCallback,
-
-
--- ** TypeValueTableValueCopyFieldCallback #signal:TypeValueTableValueCopyFieldCallback#
-
-    C_TypeValueTableValueCopyFieldCallback  ,
-    TypeValueTableValueCopyFieldCallback    ,
-    dynamic_TypeValueTableValueCopyFieldCallback,
-    genClosure_TypeValueTableValueCopyFieldCallback,
-    mk_TypeValueTableValueCopyFieldCallback ,
-    noTypeValueTableValueCopyFieldCallback  ,
-    wrap_TypeValueTableValueCopyFieldCallback,
-
-
--- ** TypeValueTableValueFreeFieldCallback #signal:TypeValueTableValueFreeFieldCallback#
-
-    C_TypeValueTableValueFreeFieldCallback  ,
-    TypeValueTableValueFreeFieldCallback    ,
-    dynamic_TypeValueTableValueFreeFieldCallback,
-    genClosure_TypeValueTableValueFreeFieldCallback,
-    mk_TypeValueTableValueFreeFieldCallback ,
-    noTypeValueTableValueFreeFieldCallback  ,
-    wrap_TypeValueTableValueFreeFieldCallback,
-
-
--- ** TypeValueTableValueInitFieldCallback #signal:TypeValueTableValueInitFieldCallback#
-
-    C_TypeValueTableValueInitFieldCallback  ,
-    TypeValueTableValueInitFieldCallback    ,
-    dynamic_TypeValueTableValueInitFieldCallback,
-    genClosure_TypeValueTableValueInitFieldCallback,
-    mk_TypeValueTableValueInitFieldCallback ,
-    noTypeValueTableValueInitFieldCallback  ,
-    wrap_TypeValueTableValueInitFieldCallback,
-
-
--- ** TypeValueTableValuePeekPointerFieldCallback #signal:TypeValueTableValuePeekPointerFieldCallback#
-
-    C_TypeValueTableValuePeekPointerFieldCallback,
-    TypeValueTableValuePeekPointerFieldCallback,
-    dynamic_TypeValueTableValuePeekPointerFieldCallback,
-    genClosure_TypeValueTableValuePeekPointerFieldCallback,
-    mk_TypeValueTableValuePeekPointerFieldCallback,
-    noTypeValueTableValuePeekPointerFieldCallback,
-    wrap_TypeValueTableValuePeekPointerFieldCallback,
-
-
--- ** ValueTransform #signal:ValueTransform#
-
-    C_ValueTransform                        ,
-    ValueTransform                          ,
-    dynamic_ValueTransform                  ,
-    genClosure_ValueTransform               ,
-    mk_ValueTransform                       ,
-    noValueTransform                        ,
-    wrap_ValueTransform                     ,
-
-
--- ** WeakNotify #signal:WeakNotify#
-
-    C_WeakNotify                            ,
-    WeakNotify                              ,
-    dynamic_WeakNotify                      ,
-    genClosure_WeakNotify                   ,
-    mk_WeakNotify                           ,
-    noWeakNotify                            ,
-    wrap_WeakNotify                         ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Interfaces.TypePlugin as GObject.TypePlugin
-import {-# SOURCE #-} qualified GI.GObject.Objects.Binding as GObject.Binding
-import {-# SOURCE #-} qualified GI.GObject.Objects.Object as GObject.Object
-import {-# SOURCE #-} qualified GI.GObject.Structs.InterfaceInfo as GObject.InterfaceInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.SignalInvocationHint as GObject.SignalInvocationHint
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeClass as GObject.TypeClass
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInfo as GObject.TypeInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInstance as GObject.TypeInstance
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInterface as GObject.TypeInterface
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeValueTable as GObject.TypeValueTable
-import {-# SOURCE #-} qualified GI.GObject.Unions.TypeCValue as GObject.TypeCValue
-
--- callback WeakNotify
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data that was provided when the weak reference was established", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where_the_object_was", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object being finalized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A #GWeakNotify function can be added to an object as a callback that gets\ntriggered when the object is finalized. Since the object is already being\nfinalized when the #GWeakNotify is called, there's not much you could do\nwith the object, apart from e.g. using its address as hash-index or the like.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_WeakNotify =
-    Ptr () ->
-    Ptr GObject.Object.Object ->
-    IO ()
-
--- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data that was provided when the weak reference was established", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "where_the_object_was", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object being finalized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_WeakNotify :: FunPtr C_WeakNotify -> C_WeakNotify
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_WeakNotify ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    FunPtr C_WeakNotify
-    -> Ptr ()
-    {- ^ /@data@/: data that was provided when the weak reference was established -}
-    -> a
-    {- ^ /@whereTheObjectWas@/: the object being finalized -}
-    -> m ()
-dynamic_WeakNotify __funPtr data_ whereTheObjectWas = liftIO $ do
-    whereTheObjectWas' <- unsafeManagedPtrCastPtr whereTheObjectWas
-    (__dynamic_C_WeakNotify __funPtr) data_ whereTheObjectWas'
-    touchManagedPtr whereTheObjectWas
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_WeakNotify`.
-foreign import ccall "wrapper"
-    mk_WeakNotify :: C_WeakNotify -> IO (FunPtr C_WeakNotify)
-
-{- |
-A 'GI.GObject.Callbacks.WeakNotify' function can be added to an object as a callback that gets
-triggered when the object is finalized. Since the object is already being
-finalized when the 'GI.GObject.Callbacks.WeakNotify' is called, there\'s not much you could do
-with the object, apart from e.g. using its address as hash-index or the like.
--}
-type WeakNotify =
-    Ptr ()
-    {- ^ /@data@/: data that was provided when the weak reference was established -}
-    -> GObject.Object.Object
-    {- ^ /@whereTheObjectWas@/: the object being finalized -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `WeakNotify`@.
-noWeakNotify :: Maybe WeakNotify
-noWeakNotify = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_WeakNotify :: MonadIO m => WeakNotify -> m (GClosure C_WeakNotify)
-genClosure_WeakNotify cb = liftIO $ do
-    let cb' = wrap_WeakNotify Nothing cb
-    mk_WeakNotify cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `WeakNotify` into a `C_WeakNotify`.
-wrap_WeakNotify ::
-    Maybe (Ptr (FunPtr C_WeakNotify)) ->
-    WeakNotify ->
-    C_WeakNotify
-wrap_WeakNotify funptrptr _cb data_ whereTheObjectWas = do
-    whereTheObjectWas' <- (newObject GObject.Object.Object) whereTheObjectWas
-    _cb  data_ whereTheObjectWas'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback ValueTransform
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "src_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Target value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of value transformation functions which can be registered with\ng_value_register_transform_func().\n\n@dest_value will be initialized to the correct destination type.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ValueTransform =
-    Ptr GValue ->
-    Ptr GValue ->
-    IO ()
-
--- Args : [Arg {argCName = "src_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Target value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ValueTransform :: FunPtr C_ValueTransform -> C_ValueTransform
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ValueTransform ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ValueTransform
-    -> GValue
-    {- ^ /@srcValue@/: Source value. -}
-    -> GValue
-    {- ^ /@destValue@/: Target value. -}
-    -> m ()
-dynamic_ValueTransform __funPtr srcValue destValue = liftIO $ do
-    srcValue' <- unsafeManagedPtrGetPtr srcValue
-    destValue' <- unsafeManagedPtrGetPtr destValue
-    (__dynamic_C_ValueTransform __funPtr) srcValue' destValue'
-    touchManagedPtr srcValue
-    touchManagedPtr destValue
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ValueTransform`.
-foreign import ccall "wrapper"
-    mk_ValueTransform :: C_ValueTransform -> IO (FunPtr C_ValueTransform)
-
-{- |
-The type of value transformation functions which can be registered with
-@/g_value_register_transform_func()/@.
-
-/@destValue@/ will be initialized to the correct destination type.
--}
-type ValueTransform =
-    GValue
-    {- ^ /@srcValue@/: Source value. -}
-    -> GValue
-    {- ^ /@destValue@/: Target value. -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ValueTransform`@.
-noValueTransform :: Maybe ValueTransform
-noValueTransform = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ValueTransform :: MonadIO m => ValueTransform -> m (GClosure C_ValueTransform)
-genClosure_ValueTransform cb = liftIO $ do
-    let cb' = wrap_ValueTransform Nothing cb
-    mk_ValueTransform cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ValueTransform` into a `C_ValueTransform`.
-wrap_ValueTransform ::
-    Maybe (Ptr (FunPtr C_ValueTransform)) ->
-    ValueTransform ->
-    C_ValueTransform
-wrap_ValueTransform funptrptr _cb srcValue destValue = do
-    B.ManagedPtr.withTransient GValue srcValue $ \srcValue' -> do
-        B.ManagedPtr.withTransient GValue destValue $ \destValue' -> do
-            _cb  srcValue' destValue'
-            maybeReleaseFunPtr funptrptr
-
-
--- callback TypeValueTableValuePeekPointerFieldCallback
---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeValueTableValuePeekPointerFieldCallback =
-    Ptr GValue ->
-    IO (Ptr ())
-
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeValueTableValuePeekPointerFieldCallback :: FunPtr C_TypeValueTableValuePeekPointerFieldCallback -> C_TypeValueTableValuePeekPointerFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeValueTableValuePeekPointerFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeValueTableValuePeekPointerFieldCallback
-    -> GValue
-    -> m (Ptr ())
-dynamic_TypeValueTableValuePeekPointerFieldCallback __funPtr value = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    result <- (__dynamic_C_TypeValueTableValuePeekPointerFieldCallback __funPtr) value'
-    touchManagedPtr value
-    return result
-
--- | Generate a function pointer callable from C code, from a `C_TypeValueTableValuePeekPointerFieldCallback`.
-foreign import ccall "wrapper"
-    mk_TypeValueTableValuePeekPointerFieldCallback :: C_TypeValueTableValuePeekPointerFieldCallback -> IO (FunPtr C_TypeValueTableValuePeekPointerFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type TypeValueTableValuePeekPointerFieldCallback =
-    GValue
-    -> IO (Ptr ())
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeValueTableValuePeekPointerFieldCallback`@.
-noTypeValueTableValuePeekPointerFieldCallback :: Maybe TypeValueTableValuePeekPointerFieldCallback
-noTypeValueTableValuePeekPointerFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeValueTableValuePeekPointerFieldCallback :: MonadIO m => TypeValueTableValuePeekPointerFieldCallback -> m (GClosure C_TypeValueTableValuePeekPointerFieldCallback)
-genClosure_TypeValueTableValuePeekPointerFieldCallback cb = liftIO $ do
-    let cb' = wrap_TypeValueTableValuePeekPointerFieldCallback Nothing cb
-    mk_TypeValueTableValuePeekPointerFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeValueTableValuePeekPointerFieldCallback` into a `C_TypeValueTableValuePeekPointerFieldCallback`.
-wrap_TypeValueTableValuePeekPointerFieldCallback ::
-    Maybe (Ptr (FunPtr C_TypeValueTableValuePeekPointerFieldCallback)) ->
-    TypeValueTableValuePeekPointerFieldCallback ->
-    C_TypeValueTableValuePeekPointerFieldCallback
-wrap_TypeValueTableValuePeekPointerFieldCallback funptrptr _cb value = do
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        result <- _cb  value'
-        maybeReleaseFunPtr funptrptr
-        return result
-
-
--- callback TypeValueTableValueInitFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeValueTableValueInitFieldCallback =
-    Ptr GValue ->
-    IO ()
-
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeValueTableValueInitFieldCallback :: FunPtr C_TypeValueTableValueInitFieldCallback -> C_TypeValueTableValueInitFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeValueTableValueInitFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeValueTableValueInitFieldCallback
-    -> GValue
-    -> m ()
-dynamic_TypeValueTableValueInitFieldCallback __funPtr value = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    (__dynamic_C_TypeValueTableValueInitFieldCallback __funPtr) value'
-    touchManagedPtr value
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypeValueTableValueInitFieldCallback`.
-foreign import ccall "wrapper"
-    mk_TypeValueTableValueInitFieldCallback :: C_TypeValueTableValueInitFieldCallback -> IO (FunPtr C_TypeValueTableValueInitFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type TypeValueTableValueInitFieldCallback =
-    GValue
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeValueTableValueInitFieldCallback`@.
-noTypeValueTableValueInitFieldCallback :: Maybe TypeValueTableValueInitFieldCallback
-noTypeValueTableValueInitFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeValueTableValueInitFieldCallback :: MonadIO m => TypeValueTableValueInitFieldCallback -> m (GClosure C_TypeValueTableValueInitFieldCallback)
-genClosure_TypeValueTableValueInitFieldCallback cb = liftIO $ do
-    let cb' = wrap_TypeValueTableValueInitFieldCallback Nothing cb
-    mk_TypeValueTableValueInitFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeValueTableValueInitFieldCallback` into a `C_TypeValueTableValueInitFieldCallback`.
-wrap_TypeValueTableValueInitFieldCallback ::
-    Maybe (Ptr (FunPtr C_TypeValueTableValueInitFieldCallback)) ->
-    TypeValueTableValueInitFieldCallback ->
-    C_TypeValueTableValueInitFieldCallback
-wrap_TypeValueTableValueInitFieldCallback funptrptr _cb value = do
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        _cb  value'
-        maybeReleaseFunPtr funptrptr
-
-
--- callback TypeValueTableValueFreeFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeValueTableValueFreeFieldCallback =
-    Ptr GValue ->
-    IO ()
-
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeValueTableValueFreeFieldCallback :: FunPtr C_TypeValueTableValueFreeFieldCallback -> C_TypeValueTableValueFreeFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeValueTableValueFreeFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeValueTableValueFreeFieldCallback
-    -> GValue
-    -> m ()
-dynamic_TypeValueTableValueFreeFieldCallback __funPtr value = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    (__dynamic_C_TypeValueTableValueFreeFieldCallback __funPtr) value'
-    touchManagedPtr value
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypeValueTableValueFreeFieldCallback`.
-foreign import ccall "wrapper"
-    mk_TypeValueTableValueFreeFieldCallback :: C_TypeValueTableValueFreeFieldCallback -> IO (FunPtr C_TypeValueTableValueFreeFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type TypeValueTableValueFreeFieldCallback =
-    GValue
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeValueTableValueFreeFieldCallback`@.
-noTypeValueTableValueFreeFieldCallback :: Maybe TypeValueTableValueFreeFieldCallback
-noTypeValueTableValueFreeFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeValueTableValueFreeFieldCallback :: MonadIO m => TypeValueTableValueFreeFieldCallback -> m (GClosure C_TypeValueTableValueFreeFieldCallback)
-genClosure_TypeValueTableValueFreeFieldCallback cb = liftIO $ do
-    let cb' = wrap_TypeValueTableValueFreeFieldCallback Nothing cb
-    mk_TypeValueTableValueFreeFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeValueTableValueFreeFieldCallback` into a `C_TypeValueTableValueFreeFieldCallback`.
-wrap_TypeValueTableValueFreeFieldCallback ::
-    Maybe (Ptr (FunPtr C_TypeValueTableValueFreeFieldCallback)) ->
-    TypeValueTableValueFreeFieldCallback ->
-    C_TypeValueTableValueFreeFieldCallback
-wrap_TypeValueTableValueFreeFieldCallback funptrptr _cb value = do
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        _cb  value'
-        maybeReleaseFunPtr funptrptr
-
-
--- callback TypeValueTableValueCopyFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "src_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeValueTableValueCopyFieldCallback =
-    Ptr GValue ->
-    Ptr GValue ->
-    IO ()
-
--- Args : [Arg {argCName = "src_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeValueTableValueCopyFieldCallback :: FunPtr C_TypeValueTableValueCopyFieldCallback -> C_TypeValueTableValueCopyFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeValueTableValueCopyFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeValueTableValueCopyFieldCallback
-    -> GValue
-    -> GValue
-    -> m ()
-dynamic_TypeValueTableValueCopyFieldCallback __funPtr srcValue destValue = liftIO $ do
-    srcValue' <- unsafeManagedPtrGetPtr srcValue
-    destValue' <- unsafeManagedPtrGetPtr destValue
-    (__dynamic_C_TypeValueTableValueCopyFieldCallback __funPtr) srcValue' destValue'
-    touchManagedPtr srcValue
-    touchManagedPtr destValue
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypeValueTableValueCopyFieldCallback`.
-foreign import ccall "wrapper"
-    mk_TypeValueTableValueCopyFieldCallback :: C_TypeValueTableValueCopyFieldCallback -> IO (FunPtr C_TypeValueTableValueCopyFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type TypeValueTableValueCopyFieldCallback =
-    GValue
-    -> GValue
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeValueTableValueCopyFieldCallback`@.
-noTypeValueTableValueCopyFieldCallback :: Maybe TypeValueTableValueCopyFieldCallback
-noTypeValueTableValueCopyFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeValueTableValueCopyFieldCallback :: MonadIO m => TypeValueTableValueCopyFieldCallback -> m (GClosure C_TypeValueTableValueCopyFieldCallback)
-genClosure_TypeValueTableValueCopyFieldCallback cb = liftIO $ do
-    let cb' = wrap_TypeValueTableValueCopyFieldCallback Nothing cb
-    mk_TypeValueTableValueCopyFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeValueTableValueCopyFieldCallback` into a `C_TypeValueTableValueCopyFieldCallback`.
-wrap_TypeValueTableValueCopyFieldCallback ::
-    Maybe (Ptr (FunPtr C_TypeValueTableValueCopyFieldCallback)) ->
-    TypeValueTableValueCopyFieldCallback ->
-    C_TypeValueTableValueCopyFieldCallback
-wrap_TypeValueTableValueCopyFieldCallback funptrptr _cb srcValue destValue = do
-    B.ManagedPtr.withTransient GValue srcValue $ \srcValue' -> do
-        B.ManagedPtr.withTransient GValue destValue $ \destValue' -> do
-            _cb  srcValue' destValue'
-            maybeReleaseFunPtr funptrptr
-
-
--- callback TypeValueTableLcopyValueFieldCallback
---          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_collect_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_values", argType = TInterface (Name {namespace = "GObject", name = "TypeCValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeValueTableLcopyValueFieldCallback =
-    Ptr GValue ->
-    Word32 ->
-    Ptr GObject.TypeCValue.TypeCValue ->
-    Word32 ->
-    IO CString
-
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_collect_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_values", argType = TInterface (Name {namespace = "GObject", name = "TypeCValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeValueTableLcopyValueFieldCallback :: FunPtr C_TypeValueTableLcopyValueFieldCallback -> C_TypeValueTableLcopyValueFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeValueTableLcopyValueFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeValueTableLcopyValueFieldCallback
-    -> GValue
-    -> Word32
-    -> GObject.TypeCValue.TypeCValue
-    -> Word32
-    -> m T.Text
-dynamic_TypeValueTableLcopyValueFieldCallback __funPtr value nCollectValues collectValues collectFlags = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    collectValues' <- unsafeManagedPtrGetPtr collectValues
-    result <- (__dynamic_C_TypeValueTableLcopyValueFieldCallback __funPtr) value' nCollectValues collectValues' collectFlags
-    checkUnexpectedReturnNULL "typeValueTableLcopyValueFieldCallback" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr value
-    touchManagedPtr collectValues
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_TypeValueTableLcopyValueFieldCallback`.
-foreign import ccall "wrapper"
-    mk_TypeValueTableLcopyValueFieldCallback :: C_TypeValueTableLcopyValueFieldCallback -> IO (FunPtr C_TypeValueTableLcopyValueFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type TypeValueTableLcopyValueFieldCallback =
-    GValue
-    -> Word32
-    -> GObject.TypeCValue.TypeCValue
-    -> Word32
-    -> IO T.Text
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeValueTableLcopyValueFieldCallback`@.
-noTypeValueTableLcopyValueFieldCallback :: Maybe TypeValueTableLcopyValueFieldCallback
-noTypeValueTableLcopyValueFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeValueTableLcopyValueFieldCallback :: MonadIO m => TypeValueTableLcopyValueFieldCallback -> m (GClosure C_TypeValueTableLcopyValueFieldCallback)
-genClosure_TypeValueTableLcopyValueFieldCallback cb = liftIO $ do
-    let cb' = wrap_TypeValueTableLcopyValueFieldCallback Nothing cb
-    mk_TypeValueTableLcopyValueFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeValueTableLcopyValueFieldCallback` into a `C_TypeValueTableLcopyValueFieldCallback`.
-wrap_TypeValueTableLcopyValueFieldCallback ::
-    Maybe (Ptr (FunPtr C_TypeValueTableLcopyValueFieldCallback)) ->
-    TypeValueTableLcopyValueFieldCallback ->
-    C_TypeValueTableLcopyValueFieldCallback
-wrap_TypeValueTableLcopyValueFieldCallback funptrptr _cb value nCollectValues collectValues collectFlags = do
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        collectValues' <- (newPtr GObject.TypeCValue.TypeCValue) collectValues
-        result <- _cb  value' nCollectValues collectValues' collectFlags
-        maybeReleaseFunPtr funptrptr
-        result' <- textToCString result
-        return result'
-
-
--- callback TypeValueTableCollectValueFieldCallback
---          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_collect_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_values", argType = TInterface (Name {namespace = "GObject", name = "TypeCValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeValueTableCollectValueFieldCallback =
-    Ptr GValue ->
-    Word32 ->
-    Ptr GObject.TypeCValue.TypeCValue ->
-    Word32 ->
-    IO CString
-
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_collect_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_values", argType = TInterface (Name {namespace = "GObject", name = "TypeCValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collect_flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeValueTableCollectValueFieldCallback :: FunPtr C_TypeValueTableCollectValueFieldCallback -> C_TypeValueTableCollectValueFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeValueTableCollectValueFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeValueTableCollectValueFieldCallback
-    -> GValue
-    -> Word32
-    -> GObject.TypeCValue.TypeCValue
-    -> Word32
-    -> m T.Text
-dynamic_TypeValueTableCollectValueFieldCallback __funPtr value nCollectValues collectValues collectFlags = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    collectValues' <- unsafeManagedPtrGetPtr collectValues
-    result <- (__dynamic_C_TypeValueTableCollectValueFieldCallback __funPtr) value' nCollectValues collectValues' collectFlags
-    checkUnexpectedReturnNULL "typeValueTableCollectValueFieldCallback" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr value
-    touchManagedPtr collectValues
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_TypeValueTableCollectValueFieldCallback`.
-foreign import ccall "wrapper"
-    mk_TypeValueTableCollectValueFieldCallback :: C_TypeValueTableCollectValueFieldCallback -> IO (FunPtr C_TypeValueTableCollectValueFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type TypeValueTableCollectValueFieldCallback =
-    GValue
-    -> Word32
-    -> GObject.TypeCValue.TypeCValue
-    -> Word32
-    -> IO T.Text
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeValueTableCollectValueFieldCallback`@.
-noTypeValueTableCollectValueFieldCallback :: Maybe TypeValueTableCollectValueFieldCallback
-noTypeValueTableCollectValueFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeValueTableCollectValueFieldCallback :: MonadIO m => TypeValueTableCollectValueFieldCallback -> m (GClosure C_TypeValueTableCollectValueFieldCallback)
-genClosure_TypeValueTableCollectValueFieldCallback cb = liftIO $ do
-    let cb' = wrap_TypeValueTableCollectValueFieldCallback Nothing cb
-    mk_TypeValueTableCollectValueFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeValueTableCollectValueFieldCallback` into a `C_TypeValueTableCollectValueFieldCallback`.
-wrap_TypeValueTableCollectValueFieldCallback ::
-    Maybe (Ptr (FunPtr C_TypeValueTableCollectValueFieldCallback)) ->
-    TypeValueTableCollectValueFieldCallback ->
-    C_TypeValueTableCollectValueFieldCallback
-wrap_TypeValueTableCollectValueFieldCallback funptrptr _cb value nCollectValues collectValues collectFlags = do
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        collectValues' <- (newPtr GObject.TypeCValue.TypeCValue) collectValues
-        result <- _cb  value' nCollectValues collectValues' collectFlags
-        maybeReleaseFunPtr funptrptr
-        result' <- textToCString result
-        return result'
-
-
--- callback TypePluginUse
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin whose use count should be increased", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @use_plugin function of #GTypePluginClass, which gets called\nto increase the use count of @plugin.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypePluginUse =
-    Ptr GObject.TypePlugin.TypePlugin ->
-    IO ()
-
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin whose use count should be increased", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypePluginUse :: FunPtr C_TypePluginUse -> C_TypePluginUse
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypePluginUse ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.TypePlugin.IsTypePlugin a) =>
-    FunPtr C_TypePluginUse
-    -> a
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' whose use count should be increased -}
-    -> m ()
-dynamic_TypePluginUse __funPtr plugin = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    (__dynamic_C_TypePluginUse __funPtr) plugin'
-    touchManagedPtr plugin
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypePluginUse`.
-foreign import ccall "wrapper"
-    mk_TypePluginUse :: C_TypePluginUse -> IO (FunPtr C_TypePluginUse)
-
-{- |
-The type of the /@usePlugin@/ function of @/GTypePluginClass/@, which gets called
-to increase the use count of /@plugin@/.
--}
-type TypePluginUse =
-    GObject.TypePlugin.TypePlugin
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' whose use count should be increased -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypePluginUse`@.
-noTypePluginUse :: Maybe TypePluginUse
-noTypePluginUse = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypePluginUse :: MonadIO m => TypePluginUse -> m (GClosure C_TypePluginUse)
-genClosure_TypePluginUse cb = liftIO $ do
-    let cb' = wrap_TypePluginUse Nothing cb
-    mk_TypePluginUse cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypePluginUse` into a `C_TypePluginUse`.
-wrap_TypePluginUse ::
-    Maybe (Ptr (FunPtr C_TypePluginUse)) ->
-    TypePluginUse ->
-    C_TypePluginUse
-wrap_TypePluginUse funptrptr _cb plugin = do
-    plugin' <- (newPtr GObject.TypePlugin.TypePlugin) plugin
-    _cb  plugin'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback TypePluginUnuse
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin whose use count should be decreased", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @unuse_plugin function of #GTypePluginClass.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypePluginUnuse =
-    Ptr GObject.TypePlugin.TypePlugin ->
-    IO ()
-
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin whose use count should be decreased", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypePluginUnuse :: FunPtr C_TypePluginUnuse -> C_TypePluginUnuse
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypePluginUnuse ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.TypePlugin.IsTypePlugin a) =>
-    FunPtr C_TypePluginUnuse
-    -> a
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' whose use count should be decreased -}
-    -> m ()
-dynamic_TypePluginUnuse __funPtr plugin = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    (__dynamic_C_TypePluginUnuse __funPtr) plugin'
-    touchManagedPtr plugin
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypePluginUnuse`.
-foreign import ccall "wrapper"
-    mk_TypePluginUnuse :: C_TypePluginUnuse -> IO (FunPtr C_TypePluginUnuse)
-
-{- |
-The type of the /@unusePlugin@/ function of @/GTypePluginClass/@.
--}
-type TypePluginUnuse =
-    GObject.TypePlugin.TypePlugin
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' whose use count should be decreased -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypePluginUnuse`@.
-noTypePluginUnuse :: Maybe TypePluginUnuse
-noTypePluginUnuse = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypePluginUnuse :: MonadIO m => TypePluginUnuse -> m (GClosure C_TypePluginUnuse)
-genClosure_TypePluginUnuse cb = liftIO $ do
-    let cb' = wrap_TypePluginUnuse Nothing cb
-    mk_TypePluginUnuse cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypePluginUnuse` into a `C_TypePluginUnuse`.
-wrap_TypePluginUnuse ::
-    Maybe (Ptr (FunPtr C_TypePluginUnuse)) ->
-    TypePluginUnuse ->
-    C_TypePluginUnuse
-wrap_TypePluginUnuse funptrptr _cb plugin = do
-    plugin' <- (newPtr GObject.TypePlugin.TypePlugin) plugin
-    _cb  plugin'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback TypePluginCompleteTypeInfo
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType whose info is completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeInfo struct to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value_table", argType = TInterface (Name {namespace = "GObject", name = "TypeValueTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeValueTable to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @complete_type_info function of #GTypePluginClass.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypePluginCompleteTypeInfo =
-    Ptr GObject.TypePlugin.TypePlugin ->
-    CGType ->
-    Ptr GObject.TypeInfo.TypeInfo ->
-    Ptr GObject.TypeValueTable.TypeValueTable ->
-    IO ()
-
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType whose info is completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeInfo struct to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value_table", argType = TInterface (Name {namespace = "GObject", name = "TypeValueTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeValueTable to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypePluginCompleteTypeInfo :: FunPtr C_TypePluginCompleteTypeInfo -> C_TypePluginCompleteTypeInfo
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypePluginCompleteTypeInfo ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.TypePlugin.IsTypePlugin a) =>
-    FunPtr C_TypePluginCompleteTypeInfo
-    -> a
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> GType
-    {- ^ /@gType@/: the 'GType' whose info is completed -}
-    -> GObject.TypeInfo.TypeInfo
-    {- ^ /@info@/: the 'GI.GObject.Structs.TypeInfo.TypeInfo' struct to fill in -}
-    -> GObject.TypeValueTable.TypeValueTable
-    {- ^ /@valueTable@/: the 'GI.GObject.Structs.TypeValueTable.TypeValueTable' to fill in -}
-    -> m ()
-dynamic_TypePluginCompleteTypeInfo __funPtr plugin gType info valueTable = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    let gType' = gtypeToCGType gType
-    info' <- unsafeManagedPtrGetPtr info
-    valueTable' <- unsafeManagedPtrGetPtr valueTable
-    (__dynamic_C_TypePluginCompleteTypeInfo __funPtr) plugin' gType' info' valueTable'
-    touchManagedPtr plugin
-    touchManagedPtr info
-    touchManagedPtr valueTable
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypePluginCompleteTypeInfo`.
-foreign import ccall "wrapper"
-    mk_TypePluginCompleteTypeInfo :: C_TypePluginCompleteTypeInfo -> IO (FunPtr C_TypePluginCompleteTypeInfo)
-
-{- |
-The type of the /@completeTypeInfo@/ function of @/GTypePluginClass/@.
--}
-type TypePluginCompleteTypeInfo =
-    GObject.TypePlugin.TypePlugin
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> GType
-    {- ^ /@gType@/: the 'GType' whose info is completed -}
-    -> GObject.TypeInfo.TypeInfo
-    {- ^ /@info@/: the 'GI.GObject.Structs.TypeInfo.TypeInfo' struct to fill in -}
-    -> GObject.TypeValueTable.TypeValueTable
-    {- ^ /@valueTable@/: the 'GI.GObject.Structs.TypeValueTable.TypeValueTable' to fill in -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypePluginCompleteTypeInfo`@.
-noTypePluginCompleteTypeInfo :: Maybe TypePluginCompleteTypeInfo
-noTypePluginCompleteTypeInfo = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypePluginCompleteTypeInfo :: MonadIO m => TypePluginCompleteTypeInfo -> m (GClosure C_TypePluginCompleteTypeInfo)
-genClosure_TypePluginCompleteTypeInfo cb = liftIO $ do
-    let cb' = wrap_TypePluginCompleteTypeInfo Nothing cb
-    mk_TypePluginCompleteTypeInfo cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypePluginCompleteTypeInfo` into a `C_TypePluginCompleteTypeInfo`.
-wrap_TypePluginCompleteTypeInfo ::
-    Maybe (Ptr (FunPtr C_TypePluginCompleteTypeInfo)) ->
-    TypePluginCompleteTypeInfo ->
-    C_TypePluginCompleteTypeInfo
-wrap_TypePluginCompleteTypeInfo funptrptr _cb plugin gType info valueTable = do
-    plugin' <- (newPtr GObject.TypePlugin.TypePlugin) plugin
-    let gType' = GType gType
-    info' <- (newPtr GObject.TypeInfo.TypeInfo) info
-    valueTable' <- (newPtr GObject.TypeValueTable.TypeValueTable) valueTable
-    _cb  plugin' gType' info' valueTable'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback TypePluginCompleteInterfaceInfo
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an instantiable type to which the interface\n is added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of the interface whose info is completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "InterfaceInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GInterfaceInfo to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @complete_interface_info function of #GTypePluginClass.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypePluginCompleteInterfaceInfo =
-    Ptr GObject.TypePlugin.TypePlugin ->
-    CGType ->
-    CGType ->
-    Ptr GObject.InterfaceInfo.InterfaceInfo ->
-    IO ()
-
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an instantiable type to which the interface\n is added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of the interface whose info is completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "InterfaceInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GInterfaceInfo to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypePluginCompleteInterfaceInfo :: FunPtr C_TypePluginCompleteInterfaceInfo -> C_TypePluginCompleteInterfaceInfo
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypePluginCompleteInterfaceInfo ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.TypePlugin.IsTypePlugin a) =>
-    FunPtr C_TypePluginCompleteInterfaceInfo
-    -> a
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> GType
-    {- ^ /@instanceType@/: the 'GType' of an instantiable type to which the interface
- is added -}
-    -> GType
-    {- ^ /@interfaceType@/: the 'GType' of the interface whose info is completed -}
-    -> GObject.InterfaceInfo.InterfaceInfo
-    {- ^ /@info@/: the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' to fill in -}
-    -> m ()
-dynamic_TypePluginCompleteInterfaceInfo __funPtr plugin instanceType interfaceType info = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    info' <- unsafeManagedPtrGetPtr info
-    (__dynamic_C_TypePluginCompleteInterfaceInfo __funPtr) plugin' instanceType' interfaceType' info'
-    touchManagedPtr plugin
-    touchManagedPtr info
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypePluginCompleteInterfaceInfo`.
-foreign import ccall "wrapper"
-    mk_TypePluginCompleteInterfaceInfo :: C_TypePluginCompleteInterfaceInfo -> IO (FunPtr C_TypePluginCompleteInterfaceInfo)
-
-{- |
-The type of the /@completeInterfaceInfo@/ function of @/GTypePluginClass/@.
--}
-type TypePluginCompleteInterfaceInfo =
-    GObject.TypePlugin.TypePlugin
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> GType
-    {- ^ /@instanceType@/: the 'GType' of an instantiable type to which the interface
- is added -}
-    -> GType
-    {- ^ /@interfaceType@/: the 'GType' of the interface whose info is completed -}
-    -> GObject.InterfaceInfo.InterfaceInfo
-    {- ^ /@info@/: the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' to fill in -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypePluginCompleteInterfaceInfo`@.
-noTypePluginCompleteInterfaceInfo :: Maybe TypePluginCompleteInterfaceInfo
-noTypePluginCompleteInterfaceInfo = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypePluginCompleteInterfaceInfo :: MonadIO m => TypePluginCompleteInterfaceInfo -> m (GClosure C_TypePluginCompleteInterfaceInfo)
-genClosure_TypePluginCompleteInterfaceInfo cb = liftIO $ do
-    let cb' = wrap_TypePluginCompleteInterfaceInfo Nothing cb
-    mk_TypePluginCompleteInterfaceInfo cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypePluginCompleteInterfaceInfo` into a `C_TypePluginCompleteInterfaceInfo`.
-wrap_TypePluginCompleteInterfaceInfo ::
-    Maybe (Ptr (FunPtr C_TypePluginCompleteInterfaceInfo)) ->
-    TypePluginCompleteInterfaceInfo ->
-    C_TypePluginCompleteInterfaceInfo
-wrap_TypePluginCompleteInterfaceInfo funptrptr _cb plugin instanceType interfaceType info = do
-    plugin' <- (newPtr GObject.TypePlugin.TypePlugin) plugin
-    let instanceType' = GType instanceType
-    let interfaceType' = GType interfaceType
-    info' <- (newPtr GObject.InterfaceInfo.InterfaceInfo) info
-    _cb  plugin' instanceType' interfaceType' info'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback TypeInterfaceCheckFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "check_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to g_type_add_interface_check()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the interface that has been\n   initialized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback called after an interface vtable is initialized.\nSee g_type_add_interface_check().", sinceVersion = Just "2.4"}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeInterfaceCheckFunc =
-    Ptr () ->
-    Ptr GObject.TypeInterface.TypeInterface ->
-    IO ()
-
--- Args : [Arg {argCName = "check_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to g_type_add_interface_check()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the interface that has been\n   initialized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeInterfaceCheckFunc :: FunPtr C_TypeInterfaceCheckFunc -> C_TypeInterfaceCheckFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeInterfaceCheckFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeInterfaceCheckFunc
-    -> Ptr ()
-    {- ^ /@checkData@/: data passed to @/g_type_add_interface_check()/@ -}
-    -> GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: the interface that has been
-   initialized -}
-    -> m ()
-dynamic_TypeInterfaceCheckFunc __funPtr checkData gIface = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    (__dynamic_C_TypeInterfaceCheckFunc __funPtr) checkData gIface'
-    touchManagedPtr gIface
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_TypeInterfaceCheckFunc`.
-foreign import ccall "wrapper"
-    mk_TypeInterfaceCheckFunc :: C_TypeInterfaceCheckFunc -> IO (FunPtr C_TypeInterfaceCheckFunc)
-
-{- |
-A callback called after an interface vtable is initialized.
-See @/g_type_add_interface_check()/@.
-
-/Since: 2.4/
--}
-type TypeInterfaceCheckFunc =
-    Ptr ()
-    {- ^ /@checkData@/: data passed to @/g_type_add_interface_check()/@ -}
-    -> GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: the interface that has been
-   initialized -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeInterfaceCheckFunc`@.
-noTypeInterfaceCheckFunc :: Maybe TypeInterfaceCheckFunc
-noTypeInterfaceCheckFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeInterfaceCheckFunc :: MonadIO m => TypeInterfaceCheckFunc -> m (GClosure C_TypeInterfaceCheckFunc)
-genClosure_TypeInterfaceCheckFunc cb = liftIO $ do
-    let cb' = wrap_TypeInterfaceCheckFunc Nothing cb
-    mk_TypeInterfaceCheckFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeInterfaceCheckFunc` into a `C_TypeInterfaceCheckFunc`.
-wrap_TypeInterfaceCheckFunc ::
-    Maybe (Ptr (FunPtr C_TypeInterfaceCheckFunc)) ->
-    TypeInterfaceCheckFunc ->
-    C_TypeInterfaceCheckFunc
-wrap_TypeInterfaceCheckFunc funptrptr _cb checkData gIface = do
-    gIface' <- (newPtr GObject.TypeInterface.TypeInterface) gIface
-    _cb  checkData gIface'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback TypeClassCacheFunc
---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop further #GTypeClassCacheFuncs from being\n called, %FALSE to continue", sinceVersion = Nothing}, args = [Arg {argCName = "cache_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data that was given to the g_type_add_class_cache_func() call", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure which is\n   unreferenced", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function which is called when the reference count of a class\ndrops to zero. It may use g_type_class_ref() to prevent the class from\nbeing freed. You should not call g_type_class_unref() from a\n#GTypeClassCacheFunc function to prevent infinite recursion, use\ng_type_class_unref_uncached() instead.\n\nThe functions have to check the class id passed in to figure\nwhether they actually want to cache the class of this type, since all\nclasses are routed through the same #GTypeClassCacheFunc chain.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_TypeClassCacheFunc =
-    Ptr () ->
-    Ptr GObject.TypeClass.TypeClass ->
-    IO CInt
-
--- Args : [Arg {argCName = "cache_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data that was given to the g_type_add_class_cache_func() call", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure which is\n   unreferenced", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_TypeClassCacheFunc :: FunPtr C_TypeClassCacheFunc -> C_TypeClassCacheFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_TypeClassCacheFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_TypeClassCacheFunc
-    -> Ptr ()
-    {- ^ /@cacheData@/: data that was given to the @/g_type_add_class_cache_func()/@ call -}
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure which is
-   unreferenced -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' to stop further @/GTypeClassCacheFuncs/@ from being
- called, 'False' to continue -}
-dynamic_TypeClassCacheFunc __funPtr cacheData gClass = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    result <- (__dynamic_C_TypeClassCacheFunc __funPtr) cacheData gClass'
-    let result' = (/= 0) result
-    touchManagedPtr gClass
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_TypeClassCacheFunc`.
-foreign import ccall "wrapper"
-    mk_TypeClassCacheFunc :: C_TypeClassCacheFunc -> IO (FunPtr C_TypeClassCacheFunc)
-
-{- |
-A callback function which is called when the reference count of a class
-drops to zero. It may use 'GI.GObject.Functions.typeClassRef' to prevent the class from
-being freed. You should not call 'GI.GObject.Structs.TypeClass.typeClassUnref' from a
-'GI.GObject.Callbacks.TypeClassCacheFunc' function to prevent infinite recursion, use
-@/g_type_class_unref_uncached()/@ instead.
-
-The functions have to check the class id passed in to figure
-whether they actually want to cache the class of this type, since all
-classes are routed through the same 'GI.GObject.Callbacks.TypeClassCacheFunc' chain.
--}
-type TypeClassCacheFunc =
-    Ptr ()
-    {- ^ /@cacheData@/: data that was given to the @/g_type_add_class_cache_func()/@ call -}
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure which is
-   unreferenced -}
-    -> IO Bool
-    {- ^ __Returns:__ 'True' to stop further @/GTypeClassCacheFuncs/@ from being
- called, 'False' to continue -}
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `TypeClassCacheFunc`@.
-noTypeClassCacheFunc :: Maybe TypeClassCacheFunc
-noTypeClassCacheFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_TypeClassCacheFunc :: MonadIO m => TypeClassCacheFunc -> m (GClosure C_TypeClassCacheFunc)
-genClosure_TypeClassCacheFunc cb = liftIO $ do
-    let cb' = wrap_TypeClassCacheFunc Nothing cb
-    mk_TypeClassCacheFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `TypeClassCacheFunc` into a `C_TypeClassCacheFunc`.
-wrap_TypeClassCacheFunc ::
-    Maybe (Ptr (FunPtr C_TypeClassCacheFunc)) ->
-    TypeClassCacheFunc ->
-    C_TypeClassCacheFunc
-wrap_TypeClassCacheFunc funptrptr _cb cacheData gClass = do
-    gClass' <- (newPtr GObject.TypeClass.TypeClass) gClass
-    result <- _cb  cacheData gClass'
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
-
--- callback ToggleNotify
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Callback data passed to g_object_add_toggle_ref()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object on which g_object_add_toggle_ref() was called.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_last_ref", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the toggle reference is now the\n last reference to the object. %FALSE if the toggle\n reference was the last reference and there are now other\n references.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used for notification when the state\nof a toggle reference changes. See g_object_add_toggle_ref().", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ToggleNotify =
-    Ptr () ->
-    Ptr GObject.Object.Object ->
-    CInt ->
-    IO ()
-
--- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Callback data passed to g_object_add_toggle_ref()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object on which g_object_add_toggle_ref() was called.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_last_ref", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the toggle reference is now the\n last reference to the object. %FALSE if the toggle\n reference was the last reference and there are now other\n references.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ToggleNotify :: FunPtr C_ToggleNotify -> C_ToggleNotify
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ToggleNotify ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    FunPtr C_ToggleNotify
-    -> Ptr ()
-    {- ^ /@data@/: Callback data passed to @/g_object_add_toggle_ref()/@ -}
-    -> a
-    {- ^ /@object@/: The object on which @/g_object_add_toggle_ref()/@ was called. -}
-    -> Bool
-    {- ^ /@isLastRef@/: 'True' if the toggle reference is now the
- last reference to the object. 'False' if the toggle
- reference was the last reference and there are now other
- references. -}
-    -> m ()
-dynamic_ToggleNotify __funPtr data_ object isLastRef = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    let isLastRef' = (fromIntegral . fromEnum) isLastRef
-    (__dynamic_C_ToggleNotify __funPtr) data_ object' isLastRef'
-    touchManagedPtr object
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ToggleNotify`.
-foreign import ccall "wrapper"
-    mk_ToggleNotify :: C_ToggleNotify -> IO (FunPtr C_ToggleNotify)
-
-{- |
-A callback function used for notification when the state
-of a toggle reference changes. See @/g_object_add_toggle_ref()/@.
--}
-type ToggleNotify =
-    Ptr ()
-    {- ^ /@data@/: Callback data passed to @/g_object_add_toggle_ref()/@ -}
-    -> GObject.Object.Object
-    {- ^ /@object@/: The object on which @/g_object_add_toggle_ref()/@ was called. -}
-    -> Bool
-    {- ^ /@isLastRef@/: 'True' if the toggle reference is now the
- last reference to the object. 'False' if the toggle
- reference was the last reference and there are now other
- references. -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ToggleNotify`@.
-noToggleNotify :: Maybe ToggleNotify
-noToggleNotify = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ToggleNotify :: MonadIO m => ToggleNotify -> m (GClosure C_ToggleNotify)
-genClosure_ToggleNotify cb = liftIO $ do
-    let cb' = wrap_ToggleNotify Nothing cb
-    mk_ToggleNotify cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ToggleNotify` into a `C_ToggleNotify`.
-wrap_ToggleNotify ::
-    Maybe (Ptr (FunPtr C_ToggleNotify)) ->
-    ToggleNotify ->
-    C_ToggleNotify
-wrap_ToggleNotify funptrptr _cb data_ object isLastRef = do
-    object' <- (newObject GObject.Object.Object) object
-    let isLastRef' = (/= 0) isLastRef
-    _cb  data_ object' isLastRef'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback SignalEmissionHook
---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "whether it wants to stay connected. If it returns %FALSE, the signal\n hook is disconnected (and destroyed).", sinceVersion = Nothing}, args = [Arg {argCName = "ihint", argType = TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal invocation hint, see #GSignalInvocationHint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of parameters to the function, including\n the instance on which the signal was emitted.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the instance on which\n the signal was emitted, followed by the parameters of the emission.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data associated with the hook.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A simple function pointer to get invoked when the signal is emitted. This\nallows you to tie a hook to the signal type, so that it will trap all\nemissions of that signal, from any object.\n\nYou may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_SignalEmissionHook =
-    Ptr GObject.SignalInvocationHint.SignalInvocationHint ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-
--- Args : [Arg {argCName = "ihint", argType = TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal invocation hint, see #GSignalInvocationHint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of parameters to the function, including\n the instance on which the signal was emitted.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the instance on which\n the signal was emitted, followed by the parameters of the emission.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data associated with the hook.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : [Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of parameters to the function, including\n the instance on which the signal was emitted.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_SignalEmissionHook :: FunPtr C_SignalEmissionHook -> C_SignalEmissionHook
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_SignalEmissionHook ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_SignalEmissionHook
-    -> GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ /@ihint@/: Signal invocation hint, see 'GI.GObject.Structs.SignalInvocationHint.SignalInvocationHint'. -}
-    -> [GValue]
-    {- ^ /@paramValues@/: the instance on which
- the signal was emitted, followed by the parameters of the emission. -}
-    -> Ptr ()
-    {- ^ /@data@/: user data associated with the hook. -}
-    -> m Bool
-    {- ^ __Returns:__ whether it wants to stay connected. If it returns 'False', the signal
- hook is disconnected (and destroyed). -}
-dynamic_SignalEmissionHook __funPtr ihint paramValues data_ = liftIO $ do
-    let nParamValues = fromIntegral $ length paramValues
-    ihint' <- unsafeManagedPtrGetPtr ihint
-    paramValues' <- mapM unsafeManagedPtrGetPtr paramValues
-    paramValues'' <- packBlockArray 24 paramValues'
-    result <- (__dynamic_C_SignalEmissionHook __funPtr) ihint' nParamValues paramValues'' data_
-    let result' = (/= 0) result
-    touchManagedPtr ihint
-    mapM_ touchManagedPtr paramValues
-    freeMem paramValues''
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_SignalEmissionHook`.
-foreign import ccall "wrapper"
-    mk_SignalEmissionHook :: C_SignalEmissionHook -> IO (FunPtr C_SignalEmissionHook)
-
-{- |
-A simple function pointer to get invoked when the signal is emitted. This
-allows you to tie a hook to the signal type, so that it will trap all
-emissions of that signal, from any object.
-
-You may not attach these to signals created with the @/G_SIGNAL_NO_HOOKS/@ flag.
--}
-type SignalEmissionHook =
-    GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ /@ihint@/: Signal invocation hint, see 'GI.GObject.Structs.SignalInvocationHint.SignalInvocationHint'. -}
-    -> [GValue]
-    {- ^ /@paramValues@/: the instance on which
- the signal was emitted, followed by the parameters of the emission. -}
-    -> Ptr ()
-    {- ^ /@data@/: user data associated with the hook. -}
-    -> IO Bool
-    {- ^ __Returns:__ whether it wants to stay connected. If it returns 'False', the signal
- hook is disconnected (and destroyed). -}
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `SignalEmissionHook`@.
-noSignalEmissionHook :: Maybe SignalEmissionHook
-noSignalEmissionHook = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_SignalEmissionHook :: MonadIO m => SignalEmissionHook -> m (GClosure C_SignalEmissionHook)
-genClosure_SignalEmissionHook cb = liftIO $ do
-    let cb' = wrap_SignalEmissionHook Nothing cb
-    mk_SignalEmissionHook cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `SignalEmissionHook` into a `C_SignalEmissionHook`.
-wrap_SignalEmissionHook ::
-    Maybe (Ptr (FunPtr C_SignalEmissionHook)) ->
-    SignalEmissionHook ->
-    C_SignalEmissionHook
-wrap_SignalEmissionHook funptrptr _cb ihint nParamValues paramValues data_ = do
-    ihint' <- (newPtr GObject.SignalInvocationHint.SignalInvocationHint) ihint
-    paramValues' <- (unpackBoxedArrayWithLength 24 nParamValues) paramValues
-    paramValues'' <- mapM (newBoxed GValue) paramValues'
-    result <- _cb  ihint' paramValues'' data_
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
-
--- callback SignalAccumulator
---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "The accumulator function returns whether the signal emission\n should be aborted. Returning %FALSE means to abort the\n current emission and %TRUE is returned for continuation.", sinceVersion = Nothing}, args = [Arg {argCName = "ihint", argType = TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal invocation hint, see #GSignalInvocationHint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_accu", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Accumulator to collect callback return values in, this\n is the return value of the current signal emission.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_return", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GValue holding the return value of the signal handler.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Callback data that was specified when creating the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The signal accumulator is a special callback function that can be used\nto collect return values of the various callbacks that are called\nduring a signal emission. The signal accumulator is specified at signal\ncreation time, if it is left %NULL, no accumulation of callback return\nvalues is performed. The return value of signal emissions is then the\nvalue returned by the last callback.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_SignalAccumulator =
-    Ptr GObject.SignalInvocationHint.SignalInvocationHint ->
-    Ptr GValue ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-
--- Args : [Arg {argCName = "ihint", argType = TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal invocation hint, see #GSignalInvocationHint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_accu", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Accumulator to collect callback return values in, this\n is the return value of the current signal emission.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_return", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GValue holding the return value of the signal handler.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Callback data that was specified when creating the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_SignalAccumulator :: FunPtr C_SignalAccumulator -> C_SignalAccumulator
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_SignalAccumulator ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_SignalAccumulator
-    -> GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ /@ihint@/: Signal invocation hint, see 'GI.GObject.Structs.SignalInvocationHint.SignalInvocationHint'. -}
-    -> GValue
-    {- ^ /@returnAccu@/: Accumulator to collect callback return values in, this
- is the return value of the current signal emission. -}
-    -> GValue
-    {- ^ /@handlerReturn@/: A 'GI.GObject.Structs.Value.Value' holding the return value of the signal handler. -}
-    -> Ptr ()
-    {- ^ /@data@/: Callback data that was specified when creating the signal. -}
-    -> m Bool
-    {- ^ __Returns:__ The accumulator function returns whether the signal emission
- should be aborted. Returning 'False' means to abort the
- current emission and 'True' is returned for continuation. -}
-dynamic_SignalAccumulator __funPtr ihint returnAccu handlerReturn data_ = liftIO $ do
-    ihint' <- unsafeManagedPtrGetPtr ihint
-    returnAccu' <- unsafeManagedPtrGetPtr returnAccu
-    handlerReturn' <- unsafeManagedPtrGetPtr handlerReturn
-    result <- (__dynamic_C_SignalAccumulator __funPtr) ihint' returnAccu' handlerReturn' data_
-    let result' = (/= 0) result
-    touchManagedPtr ihint
-    touchManagedPtr returnAccu
-    touchManagedPtr handlerReturn
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_SignalAccumulator`.
-foreign import ccall "wrapper"
-    mk_SignalAccumulator :: C_SignalAccumulator -> IO (FunPtr C_SignalAccumulator)
-
-{- |
-The signal accumulator is a special callback function that can be used
-to collect return values of the various callbacks that are called
-during a signal emission. The signal accumulator is specified at signal
-creation time, if it is left 'Nothing', no accumulation of callback return
-values is performed. The return value of signal emissions is then the
-value returned by the last callback.
--}
-type SignalAccumulator =
-    GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ /@ihint@/: Signal invocation hint, see 'GI.GObject.Structs.SignalInvocationHint.SignalInvocationHint'. -}
-    -> GValue
-    {- ^ /@returnAccu@/: Accumulator to collect callback return values in, this
- is the return value of the current signal emission. -}
-    -> GValue
-    {- ^ /@handlerReturn@/: A 'GI.GObject.Structs.Value.Value' holding the return value of the signal handler. -}
-    -> Ptr ()
-    {- ^ /@data@/: Callback data that was specified when creating the signal. -}
-    -> IO Bool
-    {- ^ __Returns:__ The accumulator function returns whether the signal emission
- should be aborted. Returning 'False' means to abort the
- current emission and 'True' is returned for continuation. -}
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `SignalAccumulator`@.
-noSignalAccumulator :: Maybe SignalAccumulator
-noSignalAccumulator = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_SignalAccumulator :: MonadIO m => SignalAccumulator -> m (GClosure C_SignalAccumulator)
-genClosure_SignalAccumulator cb = liftIO $ do
-    let cb' = wrap_SignalAccumulator Nothing cb
-    mk_SignalAccumulator cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `SignalAccumulator` into a `C_SignalAccumulator`.
-wrap_SignalAccumulator ::
-    Maybe (Ptr (FunPtr C_SignalAccumulator)) ->
-    SignalAccumulator ->
-    C_SignalAccumulator
-wrap_SignalAccumulator funptrptr _cb ihint returnAccu handlerReturn data_ = do
-    ihint' <- (newPtr GObject.SignalInvocationHint.SignalInvocationHint) ihint
-    B.ManagedPtr.withTransient GValue returnAccu $ \returnAccu' -> do
-        B.ManagedPtr.withTransient GValue handlerReturn $ \handlerReturn' -> do
-            result <- _cb  ihint' returnAccu' handlerReturn' data_
-            maybeReleaseFunPtr funptrptr
-            let result' = (fromIntegral . fromEnum) result
-            return result'
-
-
--- callback ParamSpecTypeInfoValuesCmpFieldCallback
---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ParamSpecTypeInfoValuesCmpFieldCallback =
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    Ptr GValue ->
-    IO Int32
-
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ParamSpecTypeInfoValuesCmpFieldCallback :: FunPtr C_ParamSpecTypeInfoValuesCmpFieldCallback -> C_ParamSpecTypeInfoValuesCmpFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ParamSpecTypeInfoValuesCmpFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ParamSpecTypeInfoValuesCmpFieldCallback
-    -> GParamSpec
-    -> GValue
-    -> GValue
-    -> m Int32
-dynamic_ParamSpecTypeInfoValuesCmpFieldCallback __funPtr pspec value1 value2 = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value1' <- unsafeManagedPtrGetPtr value1
-    value2' <- unsafeManagedPtrGetPtr value2
-    result <- (__dynamic_C_ParamSpecTypeInfoValuesCmpFieldCallback __funPtr) pspec' value1' value2'
-    touchManagedPtr pspec
-    touchManagedPtr value1
-    touchManagedPtr value2
-    return result
-
--- | Generate a function pointer callable from C code, from a `C_ParamSpecTypeInfoValuesCmpFieldCallback`.
-foreign import ccall "wrapper"
-    mk_ParamSpecTypeInfoValuesCmpFieldCallback :: C_ParamSpecTypeInfoValuesCmpFieldCallback -> IO (FunPtr C_ParamSpecTypeInfoValuesCmpFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type ParamSpecTypeInfoValuesCmpFieldCallback =
-    GParamSpec
-    -> GValue
-    -> GValue
-    -> IO Int32
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ParamSpecTypeInfoValuesCmpFieldCallback`@.
-noParamSpecTypeInfoValuesCmpFieldCallback :: Maybe ParamSpecTypeInfoValuesCmpFieldCallback
-noParamSpecTypeInfoValuesCmpFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ParamSpecTypeInfoValuesCmpFieldCallback :: MonadIO m => ParamSpecTypeInfoValuesCmpFieldCallback -> m (GClosure C_ParamSpecTypeInfoValuesCmpFieldCallback)
-genClosure_ParamSpecTypeInfoValuesCmpFieldCallback cb = liftIO $ do
-    let cb' = wrap_ParamSpecTypeInfoValuesCmpFieldCallback Nothing cb
-    mk_ParamSpecTypeInfoValuesCmpFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ParamSpecTypeInfoValuesCmpFieldCallback` into a `C_ParamSpecTypeInfoValuesCmpFieldCallback`.
-wrap_ParamSpecTypeInfoValuesCmpFieldCallback ::
-    Maybe (Ptr (FunPtr C_ParamSpecTypeInfoValuesCmpFieldCallback)) ->
-    ParamSpecTypeInfoValuesCmpFieldCallback ->
-    C_ParamSpecTypeInfoValuesCmpFieldCallback
-wrap_ParamSpecTypeInfoValuesCmpFieldCallback funptrptr _cb pspec value1 value2 = do
-    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-    B.ManagedPtr.withTransient GValue value1 $ \value1' -> do
-        B.ManagedPtr.withTransient GValue value2 $ \value2' -> do
-            result <- _cb  pspec' value1' value2'
-            maybeReleaseFunPtr funptrptr
-            return result
-
-
--- callback ParamSpecTypeInfoValueValidateFieldCallback
---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ParamSpecTypeInfoValueValidateFieldCallback =
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    IO CInt
-
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ParamSpecTypeInfoValueValidateFieldCallback :: FunPtr C_ParamSpecTypeInfoValueValidateFieldCallback -> C_ParamSpecTypeInfoValueValidateFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ParamSpecTypeInfoValueValidateFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ParamSpecTypeInfoValueValidateFieldCallback
-    -> GParamSpec
-    -> GValue
-    -> m Bool
-dynamic_ParamSpecTypeInfoValueValidateFieldCallback __funPtr pspec value = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value' <- unsafeManagedPtrGetPtr value
-    result <- (__dynamic_C_ParamSpecTypeInfoValueValidateFieldCallback __funPtr) pspec' value'
-    let result' = (/= 0) result
-    touchManagedPtr pspec
-    touchManagedPtr value
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_ParamSpecTypeInfoValueValidateFieldCallback`.
-foreign import ccall "wrapper"
-    mk_ParamSpecTypeInfoValueValidateFieldCallback :: C_ParamSpecTypeInfoValueValidateFieldCallback -> IO (FunPtr C_ParamSpecTypeInfoValueValidateFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type ParamSpecTypeInfoValueValidateFieldCallback =
-    GParamSpec
-    -> GValue
-    -> IO Bool
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ParamSpecTypeInfoValueValidateFieldCallback`@.
-noParamSpecTypeInfoValueValidateFieldCallback :: Maybe ParamSpecTypeInfoValueValidateFieldCallback
-noParamSpecTypeInfoValueValidateFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ParamSpecTypeInfoValueValidateFieldCallback :: MonadIO m => ParamSpecTypeInfoValueValidateFieldCallback -> m (GClosure C_ParamSpecTypeInfoValueValidateFieldCallback)
-genClosure_ParamSpecTypeInfoValueValidateFieldCallback cb = liftIO $ do
-    let cb' = wrap_ParamSpecTypeInfoValueValidateFieldCallback Nothing cb
-    mk_ParamSpecTypeInfoValueValidateFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ParamSpecTypeInfoValueValidateFieldCallback` into a `C_ParamSpecTypeInfoValueValidateFieldCallback`.
-wrap_ParamSpecTypeInfoValueValidateFieldCallback ::
-    Maybe (Ptr (FunPtr C_ParamSpecTypeInfoValueValidateFieldCallback)) ->
-    ParamSpecTypeInfoValueValidateFieldCallback ->
-    C_ParamSpecTypeInfoValueValidateFieldCallback
-wrap_ParamSpecTypeInfoValueValidateFieldCallback funptrptr _cb pspec value = do
-    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        result <- _cb  pspec' value'
-        maybeReleaseFunPtr funptrptr
-        let result' = (fromIntegral . fromEnum) result
-        return result'
-
-
--- callback ParamSpecTypeInfoValueSetDefaultFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ParamSpecTypeInfoValueSetDefaultFieldCallback =
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    IO ()
-
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ParamSpecTypeInfoValueSetDefaultFieldCallback :: FunPtr C_ParamSpecTypeInfoValueSetDefaultFieldCallback -> C_ParamSpecTypeInfoValueSetDefaultFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ParamSpecTypeInfoValueSetDefaultFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ParamSpecTypeInfoValueSetDefaultFieldCallback
-    -> GParamSpec
-    -> GValue
-    -> m ()
-dynamic_ParamSpecTypeInfoValueSetDefaultFieldCallback __funPtr pspec value = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value' <- unsafeManagedPtrGetPtr value
-    (__dynamic_C_ParamSpecTypeInfoValueSetDefaultFieldCallback __funPtr) pspec' value'
-    touchManagedPtr pspec
-    touchManagedPtr value
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ParamSpecTypeInfoValueSetDefaultFieldCallback`.
-foreign import ccall "wrapper"
-    mk_ParamSpecTypeInfoValueSetDefaultFieldCallback :: C_ParamSpecTypeInfoValueSetDefaultFieldCallback -> IO (FunPtr C_ParamSpecTypeInfoValueSetDefaultFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type ParamSpecTypeInfoValueSetDefaultFieldCallback =
-    GParamSpec
-    -> GValue
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ParamSpecTypeInfoValueSetDefaultFieldCallback`@.
-noParamSpecTypeInfoValueSetDefaultFieldCallback :: Maybe ParamSpecTypeInfoValueSetDefaultFieldCallback
-noParamSpecTypeInfoValueSetDefaultFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ParamSpecTypeInfoValueSetDefaultFieldCallback :: MonadIO m => ParamSpecTypeInfoValueSetDefaultFieldCallback -> m (GClosure C_ParamSpecTypeInfoValueSetDefaultFieldCallback)
-genClosure_ParamSpecTypeInfoValueSetDefaultFieldCallback cb = liftIO $ do
-    let cb' = wrap_ParamSpecTypeInfoValueSetDefaultFieldCallback Nothing cb
-    mk_ParamSpecTypeInfoValueSetDefaultFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ParamSpecTypeInfoValueSetDefaultFieldCallback` into a `C_ParamSpecTypeInfoValueSetDefaultFieldCallback`.
-wrap_ParamSpecTypeInfoValueSetDefaultFieldCallback ::
-    Maybe (Ptr (FunPtr C_ParamSpecTypeInfoValueSetDefaultFieldCallback)) ->
-    ParamSpecTypeInfoValueSetDefaultFieldCallback ->
-    C_ParamSpecTypeInfoValueSetDefaultFieldCallback
-wrap_ParamSpecTypeInfoValueSetDefaultFieldCallback funptrptr _cb pspec value = do
-    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        _cb  pspec' value'
-        maybeReleaseFunPtr funptrptr
-
-
--- callback ParamSpecTypeInfoInstanceInitFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ParamSpecTypeInfoInstanceInitFieldCallback =
-    Ptr GParamSpec ->
-    IO ()
-
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ParamSpecTypeInfoInstanceInitFieldCallback :: FunPtr C_ParamSpecTypeInfoInstanceInitFieldCallback -> C_ParamSpecTypeInfoInstanceInitFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ParamSpecTypeInfoInstanceInitFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ParamSpecTypeInfoInstanceInitFieldCallback
-    -> GParamSpec
-    -> m ()
-dynamic_ParamSpecTypeInfoInstanceInitFieldCallback __funPtr pspec = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    (__dynamic_C_ParamSpecTypeInfoInstanceInitFieldCallback __funPtr) pspec'
-    touchManagedPtr pspec
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ParamSpecTypeInfoInstanceInitFieldCallback`.
-foreign import ccall "wrapper"
-    mk_ParamSpecTypeInfoInstanceInitFieldCallback :: C_ParamSpecTypeInfoInstanceInitFieldCallback -> IO (FunPtr C_ParamSpecTypeInfoInstanceInitFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type ParamSpecTypeInfoInstanceInitFieldCallback =
-    GParamSpec
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ParamSpecTypeInfoInstanceInitFieldCallback`@.
-noParamSpecTypeInfoInstanceInitFieldCallback :: Maybe ParamSpecTypeInfoInstanceInitFieldCallback
-noParamSpecTypeInfoInstanceInitFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ParamSpecTypeInfoInstanceInitFieldCallback :: MonadIO m => ParamSpecTypeInfoInstanceInitFieldCallback -> m (GClosure C_ParamSpecTypeInfoInstanceInitFieldCallback)
-genClosure_ParamSpecTypeInfoInstanceInitFieldCallback cb = liftIO $ do
-    let cb' = wrap_ParamSpecTypeInfoInstanceInitFieldCallback Nothing cb
-    mk_ParamSpecTypeInfoInstanceInitFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ParamSpecTypeInfoInstanceInitFieldCallback` into a `C_ParamSpecTypeInfoInstanceInitFieldCallback`.
-wrap_ParamSpecTypeInfoInstanceInitFieldCallback ::
-    Maybe (Ptr (FunPtr C_ParamSpecTypeInfoInstanceInitFieldCallback)) ->
-    ParamSpecTypeInfoInstanceInitFieldCallback ->
-    C_ParamSpecTypeInfoInstanceInitFieldCallback
-wrap_ParamSpecTypeInfoInstanceInitFieldCallback funptrptr _cb pspec = do
-    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-    _cb  pspec'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback ParamSpecTypeInfoFinalizeFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ParamSpecTypeInfoFinalizeFieldCallback =
-    Ptr GParamSpec ->
-    IO ()
-
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ParamSpecTypeInfoFinalizeFieldCallback :: FunPtr C_ParamSpecTypeInfoFinalizeFieldCallback -> C_ParamSpecTypeInfoFinalizeFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ParamSpecTypeInfoFinalizeFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ParamSpecTypeInfoFinalizeFieldCallback
-    -> GParamSpec
-    -> m ()
-dynamic_ParamSpecTypeInfoFinalizeFieldCallback __funPtr pspec = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    (__dynamic_C_ParamSpecTypeInfoFinalizeFieldCallback __funPtr) pspec'
-    touchManagedPtr pspec
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ParamSpecTypeInfoFinalizeFieldCallback`.
-foreign import ccall "wrapper"
-    mk_ParamSpecTypeInfoFinalizeFieldCallback :: C_ParamSpecTypeInfoFinalizeFieldCallback -> IO (FunPtr C_ParamSpecTypeInfoFinalizeFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type ParamSpecTypeInfoFinalizeFieldCallback =
-    GParamSpec
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ParamSpecTypeInfoFinalizeFieldCallback`@.
-noParamSpecTypeInfoFinalizeFieldCallback :: Maybe ParamSpecTypeInfoFinalizeFieldCallback
-noParamSpecTypeInfoFinalizeFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ParamSpecTypeInfoFinalizeFieldCallback :: MonadIO m => ParamSpecTypeInfoFinalizeFieldCallback -> m (GClosure C_ParamSpecTypeInfoFinalizeFieldCallback)
-genClosure_ParamSpecTypeInfoFinalizeFieldCallback cb = liftIO $ do
-    let cb' = wrap_ParamSpecTypeInfoFinalizeFieldCallback Nothing cb
-    mk_ParamSpecTypeInfoFinalizeFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ParamSpecTypeInfoFinalizeFieldCallback` into a `C_ParamSpecTypeInfoFinalizeFieldCallback`.
-wrap_ParamSpecTypeInfoFinalizeFieldCallback ::
-    Maybe (Ptr (FunPtr C_ParamSpecTypeInfoFinalizeFieldCallback)) ->
-    ParamSpecTypeInfoFinalizeFieldCallback ->
-    C_ParamSpecTypeInfoFinalizeFieldCallback
-wrap_ParamSpecTypeInfoFinalizeFieldCallback funptrptr _cb pspec = do
-    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-    _cb  pspec'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback ObjectSetPropertyFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numeric id under which the property was registered with\n g_object_class_install_property().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec describing the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @set_property function of #GObjectClass.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ObjectSetPropertyFunc =
-    Ptr GObject.Object.Object ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr GParamSpec ->
-    IO ()
-
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numeric id under which the property was registered with\n g_object_class_install_property().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value for the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec describing the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ObjectSetPropertyFunc :: FunPtr C_ObjectSetPropertyFunc -> C_ObjectSetPropertyFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ObjectSetPropertyFunc ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    FunPtr C_ObjectSetPropertyFunc
-    -> a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> Word32
-    {- ^ /@propertyId@/: the numeric id under which the property was registered with
- 'GI.GObject.Structs.ObjectClass.objectClassInstallProperty'. -}
-    -> GValue
-    {- ^ /@value@/: the new value for the property -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' describing the property -}
-    -> m ()
-dynamic_ObjectSetPropertyFunc __funPtr object propertyId value pspec = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    value' <- unsafeManagedPtrGetPtr value
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    (__dynamic_C_ObjectSetPropertyFunc __funPtr) object' propertyId value' pspec'
-    touchManagedPtr object
-    touchManagedPtr value
-    touchManagedPtr pspec
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ObjectSetPropertyFunc`.
-foreign import ccall "wrapper"
-    mk_ObjectSetPropertyFunc :: C_ObjectSetPropertyFunc -> IO (FunPtr C_ObjectSetPropertyFunc)
-
-{- |
-The type of the /@setProperty@/ function of 'GI.GObject.Structs.ObjectClass.ObjectClass'.
--}
-type ObjectSetPropertyFunc =
-    GObject.Object.Object
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> Word32
-    {- ^ /@propertyId@/: the numeric id under which the property was registered with
- 'GI.GObject.Structs.ObjectClass.objectClassInstallProperty'. -}
-    -> GValue
-    {- ^ /@value@/: the new value for the property -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' describing the property -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectSetPropertyFunc`@.
-noObjectSetPropertyFunc :: Maybe ObjectSetPropertyFunc
-noObjectSetPropertyFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ObjectSetPropertyFunc :: MonadIO m => ObjectSetPropertyFunc -> m (GClosure C_ObjectSetPropertyFunc)
-genClosure_ObjectSetPropertyFunc cb = liftIO $ do
-    let cb' = wrap_ObjectSetPropertyFunc Nothing cb
-    mk_ObjectSetPropertyFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ObjectSetPropertyFunc` into a `C_ObjectSetPropertyFunc`.
-wrap_ObjectSetPropertyFunc ::
-    Maybe (Ptr (FunPtr C_ObjectSetPropertyFunc)) ->
-    ObjectSetPropertyFunc ->
-    C_ObjectSetPropertyFunc
-wrap_ObjectSetPropertyFunc funptrptr _cb object propertyId value pspec = do
-    object' <- (newObject GObject.Object.Object) object
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-        _cb  object' propertyId value' pspec'
-        maybeReleaseFunPtr funptrptr
-
-
--- callback ObjectGetPropertyFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numeric id under which the property was registered with\n g_object_class_install_property().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue to return the property value in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec describing the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @get_property function of #GObjectClass.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ObjectGetPropertyFunc =
-    Ptr GObject.Object.Object ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr GParamSpec ->
-    IO ()
-
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numeric id under which the property was registered with\n g_object_class_install_property().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue to return the property value in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec describing the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ObjectGetPropertyFunc :: FunPtr C_ObjectGetPropertyFunc -> C_ObjectGetPropertyFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ObjectGetPropertyFunc ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    FunPtr C_ObjectGetPropertyFunc
-    -> a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> Word32
-    {- ^ /@propertyId@/: the numeric id under which the property was registered with
- 'GI.GObject.Structs.ObjectClass.objectClassInstallProperty'. -}
-    -> GValue
-    {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' to return the property value in -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' describing the property -}
-    -> m ()
-dynamic_ObjectGetPropertyFunc __funPtr object propertyId value pspec = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    value' <- unsafeManagedPtrGetPtr value
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    (__dynamic_C_ObjectGetPropertyFunc __funPtr) object' propertyId value' pspec'
-    touchManagedPtr object
-    touchManagedPtr value
-    touchManagedPtr pspec
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ObjectGetPropertyFunc`.
-foreign import ccall "wrapper"
-    mk_ObjectGetPropertyFunc :: C_ObjectGetPropertyFunc -> IO (FunPtr C_ObjectGetPropertyFunc)
-
-{- |
-The type of the /@getProperty@/ function of 'GI.GObject.Structs.ObjectClass.ObjectClass'.
--}
-type ObjectGetPropertyFunc =
-    GObject.Object.Object
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> Word32
-    {- ^ /@propertyId@/: the numeric id under which the property was registered with
- 'GI.GObject.Structs.ObjectClass.objectClassInstallProperty'. -}
-    -> GValue
-    {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' to return the property value in -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' describing the property -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectGetPropertyFunc`@.
-noObjectGetPropertyFunc :: Maybe ObjectGetPropertyFunc
-noObjectGetPropertyFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ObjectGetPropertyFunc :: MonadIO m => ObjectGetPropertyFunc -> m (GClosure C_ObjectGetPropertyFunc)
-genClosure_ObjectGetPropertyFunc cb = liftIO $ do
-    let cb' = wrap_ObjectGetPropertyFunc Nothing cb
-    mk_ObjectGetPropertyFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ObjectGetPropertyFunc` into a `C_ObjectGetPropertyFunc`.
-wrap_ObjectGetPropertyFunc ::
-    Maybe (Ptr (FunPtr C_ObjectGetPropertyFunc)) ->
-    ObjectGetPropertyFunc ->
-    C_ObjectGetPropertyFunc
-wrap_ObjectGetPropertyFunc funptrptr _cb object propertyId value pspec = do
-    object' <- (newObject GObject.Object.Object) object
-    B.ManagedPtr.withTransient GValue value $ \value' -> do
-        pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-        _cb  object' propertyId value' pspec'
-        maybeReleaseFunPtr funptrptr
-
-
--- callback ObjectFinalizeFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GObject being finalized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of the @finalize function of #GObjectClass.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ObjectFinalizeFunc =
-    Ptr GObject.Object.Object ->
-    IO ()
-
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GObject being finalized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ObjectFinalizeFunc :: FunPtr C_ObjectFinalizeFunc -> C_ObjectFinalizeFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ObjectFinalizeFunc ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    FunPtr C_ObjectFinalizeFunc
-    -> a
-    {- ^ /@object@/: the 'GI.GObject.Objects.Object.Object' being finalized -}
-    -> m ()
-dynamic_ObjectFinalizeFunc __funPtr object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    (__dynamic_C_ObjectFinalizeFunc __funPtr) object'
-    touchManagedPtr object
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ObjectFinalizeFunc`.
-foreign import ccall "wrapper"
-    mk_ObjectFinalizeFunc :: C_ObjectFinalizeFunc -> IO (FunPtr C_ObjectFinalizeFunc)
-
-{- |
-The type of the /@finalize@/ function of 'GI.GObject.Structs.ObjectClass.ObjectClass'.
--}
-type ObjectFinalizeFunc =
-    GObject.Object.Object
-    {- ^ /@object@/: the 'GI.GObject.Objects.Object.Object' being finalized -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectFinalizeFunc`@.
-noObjectFinalizeFunc :: Maybe ObjectFinalizeFunc
-noObjectFinalizeFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ObjectFinalizeFunc :: MonadIO m => ObjectFinalizeFunc -> m (GClosure C_ObjectFinalizeFunc)
-genClosure_ObjectFinalizeFunc cb = liftIO $ do
-    let cb' = wrap_ObjectFinalizeFunc Nothing cb
-    mk_ObjectFinalizeFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ObjectFinalizeFunc` into a `C_ObjectFinalizeFunc`.
-wrap_ObjectFinalizeFunc ::
-    Maybe (Ptr (FunPtr C_ObjectFinalizeFunc)) ->
-    ObjectFinalizeFunc ->
-    C_ObjectFinalizeFunc
-wrap_ObjectFinalizeFunc funptrptr _cb object = do
-    object' <- (newObject GObject.Object.Object) object
-    _cb  object'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback InterfaceInitFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The interface structure to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @interface_data supplied via the #GInterfaceInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to initialize a new\ninterface.  This function should initialize all internal data and\nallocate any resources required by the interface.\n\nThe members of @iface_data are guaranteed to have been filled with\nzeros before this function is called.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_InterfaceInitFunc =
-    Ptr GObject.TypeInterface.TypeInterface ->
-    Ptr () ->
-    IO ()
-
--- Args : [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The interface structure to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @interface_data supplied via the #GInterfaceInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_InterfaceInitFunc :: FunPtr C_InterfaceInitFunc -> C_InterfaceInitFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_InterfaceInitFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_InterfaceInitFunc
-    -> GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: The interface structure to initialize -}
-    -> Ptr ()
-    {- ^ /@ifaceData@/: The /@interfaceData@/ supplied via the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' structure -}
-    -> m ()
-dynamic_InterfaceInitFunc __funPtr gIface ifaceData = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    (__dynamic_C_InterfaceInitFunc __funPtr) gIface' ifaceData
-    touchManagedPtr gIface
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_InterfaceInitFunc`.
-foreign import ccall "wrapper"
-    mk_InterfaceInitFunc :: C_InterfaceInitFunc -> IO (FunPtr C_InterfaceInitFunc)
-
-{- |
-A callback function used by the type system to initialize a new
-interface.  This function should initialize all internal data and
-allocate any resources required by the interface.
-
-The members of /@ifaceData@/ are guaranteed to have been filled with
-zeros before this function is called.
--}
-type InterfaceInitFunc =
-    GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: The interface structure to initialize -}
-    -> Ptr ()
-    {- ^ /@ifaceData@/: The /@interfaceData@/ supplied via the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' structure -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `InterfaceInitFunc`@.
-noInterfaceInitFunc :: Maybe InterfaceInitFunc
-noInterfaceInitFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_InterfaceInitFunc :: MonadIO m => InterfaceInitFunc -> m (GClosure C_InterfaceInitFunc)
-genClosure_InterfaceInitFunc cb = liftIO $ do
-    let cb' = wrap_InterfaceInitFunc Nothing cb
-    mk_InterfaceInitFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `InterfaceInitFunc` into a `C_InterfaceInitFunc`.
-wrap_InterfaceInitFunc ::
-    Maybe (Ptr (FunPtr C_InterfaceInitFunc)) ->
-    InterfaceInitFunc ->
-    C_InterfaceInitFunc
-wrap_InterfaceInitFunc funptrptr _cb gIface ifaceData = do
-    gIface' <- (newPtr GObject.TypeInterface.TypeInterface) gIface
-    _cb  gIface' ifaceData
-    maybeReleaseFunPtr funptrptr
-
-
--- callback InterfaceFinalizeFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The interface structure to finalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @interface_data supplied via the #GInterfaceInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to finalize an interface.\nThis function should destroy any internal data and release any resources\nallocated by the corresponding GInterfaceInitFunc() function.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_InterfaceFinalizeFunc =
-    Ptr GObject.TypeInterface.TypeInterface ->
-    Ptr () ->
-    IO ()
-
--- Args : [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The interface structure to finalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @interface_data supplied via the #GInterfaceInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_InterfaceFinalizeFunc :: FunPtr C_InterfaceFinalizeFunc -> C_InterfaceFinalizeFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_InterfaceFinalizeFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_InterfaceFinalizeFunc
-    -> GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: The interface structure to finalize -}
-    -> Ptr ()
-    {- ^ /@ifaceData@/: The /@interfaceData@/ supplied via the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' structure -}
-    -> m ()
-dynamic_InterfaceFinalizeFunc __funPtr gIface ifaceData = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    (__dynamic_C_InterfaceFinalizeFunc __funPtr) gIface' ifaceData
-    touchManagedPtr gIface
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_InterfaceFinalizeFunc`.
-foreign import ccall "wrapper"
-    mk_InterfaceFinalizeFunc :: C_InterfaceFinalizeFunc -> IO (FunPtr C_InterfaceFinalizeFunc)
-
-{- |
-A callback function used by the type system to finalize an interface.
-This function should destroy any internal data and release any resources
-allocated by the corresponding @/GInterfaceInitFunc()/@ function.
--}
-type InterfaceFinalizeFunc =
-    GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: The interface structure to finalize -}
-    -> Ptr ()
-    {- ^ /@ifaceData@/: The /@interfaceData@/ supplied via the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' structure -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `InterfaceFinalizeFunc`@.
-noInterfaceFinalizeFunc :: Maybe InterfaceFinalizeFunc
-noInterfaceFinalizeFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_InterfaceFinalizeFunc :: MonadIO m => InterfaceFinalizeFunc -> m (GClosure C_InterfaceFinalizeFunc)
-genClosure_InterfaceFinalizeFunc cb = liftIO $ do
-    let cb' = wrap_InterfaceFinalizeFunc Nothing cb
-    mk_InterfaceFinalizeFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `InterfaceFinalizeFunc` into a `C_InterfaceFinalizeFunc`.
-wrap_InterfaceFinalizeFunc ::
-    Maybe (Ptr (FunPtr C_InterfaceFinalizeFunc)) ->
-    InterfaceFinalizeFunc ->
-    C_InterfaceFinalizeFunc
-wrap_InterfaceFinalizeFunc funptrptr _cb gIface ifaceData = do
-    gIface' <- (newPtr GObject.TypeInterface.TypeInterface) gIface
-    _cb  gIface' ifaceData
-    maybeReleaseFunPtr funptrptr
-
-
--- callback InstanceInitFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The class of the type the instance is\n   created for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to initialize a new\ninstance of a type. This function initializes all instance members and\nallocates any resources required by it.\n\nInitialization of a derived instance involves calling all its parent\ntypes instance initializers, so the class member of the instance\nis altered during its initialization to always point to the class that\nbelongs to the type the current initializer was introduced for.\n\nThe extended members of @instance are guaranteed to have been filled with\nzeros before this function is called.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_InstanceInitFunc =
-    Ptr GObject.TypeInstance.TypeInstance ->
-    Ptr GObject.TypeClass.TypeClass ->
-    IO ()
-
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The class of the type the instance is\n   created for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_InstanceInitFunc :: FunPtr C_InstanceInitFunc -> C_InstanceInitFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_InstanceInitFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_InstanceInitFunc
-    -> GObject.TypeInstance.TypeInstance
-    {- ^ /@instance@/: The instance to initialize -}
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The class of the type the instance is
-   created for -}
-    -> m ()
-dynamic_InstanceInitFunc __funPtr instance_ gClass = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    (__dynamic_C_InstanceInitFunc __funPtr) instance_' gClass'
-    touchManagedPtr instance_
-    touchManagedPtr gClass
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_InstanceInitFunc`.
-foreign import ccall "wrapper"
-    mk_InstanceInitFunc :: C_InstanceInitFunc -> IO (FunPtr C_InstanceInitFunc)
-
-{- |
-A callback function used by the type system to initialize a new
-instance of a type. This function initializes all instance members and
-allocates any resources required by it.
-
-Initialization of a derived instance involves calling all its parent
-types instance initializers, so the class member of the instance
-is altered during its initialization to always point to the class that
-belongs to the type the current initializer was introduced for.
-
-The extended members of /@instance@/ are guaranteed to have been filled with
-zeros before this function is called.
--}
-type InstanceInitFunc =
-    GObject.TypeInstance.TypeInstance
-    {- ^ /@instance@/: The instance to initialize -}
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The class of the type the instance is
-   created for -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `InstanceInitFunc`@.
-noInstanceInitFunc :: Maybe InstanceInitFunc
-noInstanceInitFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_InstanceInitFunc :: MonadIO m => InstanceInitFunc -> m (GClosure C_InstanceInitFunc)
-genClosure_InstanceInitFunc cb = liftIO $ do
-    let cb' = wrap_InstanceInitFunc Nothing cb
-    mk_InstanceInitFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `InstanceInitFunc` into a `C_InstanceInitFunc`.
-wrap_InstanceInitFunc ::
-    Maybe (Ptr (FunPtr C_InstanceInitFunc)) ->
-    InstanceInitFunc ->
-    C_InstanceInitFunc
-wrap_InstanceInitFunc funptrptr _cb instance_ gClass = do
-    instance_' <- (newPtr GObject.TypeInstance.TypeInstance) instance_
-    gClass' <- (newPtr GObject.TypeClass.TypeClass) gClass
-    _cb  instance_' gClass'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback ClosureNotify
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data specified when registering the notification callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure on which the notification is emitted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type used for the various notification callbacks which can be registered\non closures.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ClosureNotify =
-    Ptr () ->
-    Ptr (GClosure ()) ->
-    IO ()
-
--- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data specified when registering the notification callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure on which the notification is emitted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ClosureNotify :: FunPtr C_ClosureNotify -> C_ClosureNotify
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ClosureNotify ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ClosureNotify
-    -> Ptr ()
-    {- ^ /@data@/: data specified when registering the notification callback -}
-    -> GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' on which the notification is emitted -}
-    -> m ()
-dynamic_ClosureNotify __funPtr data_ closure = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    (__dynamic_C_ClosureNotify __funPtr) data_ closure'
-    touchManagedPtr closure
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ClosureNotify`.
-foreign import ccall "wrapper"
-    mk_ClosureNotify :: C_ClosureNotify -> IO (FunPtr C_ClosureNotify)
-
-{- |
-The type used for the various notification callbacks which can be registered
-on closures.
--}
-type ClosureNotify =
-    Ptr ()
-    {- ^ /@data@/: data specified when registering the notification callback -}
-    -> GClosure ()
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' on which the notification is emitted -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ClosureNotify`@.
-noClosureNotify :: Maybe ClosureNotify
-noClosureNotify = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ClosureNotify :: MonadIO m => ClosureNotify -> m (GClosure C_ClosureNotify)
-genClosure_ClosureNotify cb = liftIO $ do
-    let cb' = wrap_ClosureNotify Nothing cb
-    mk_ClosureNotify cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ClosureNotify` into a `C_ClosureNotify`.
-wrap_ClosureNotify ::
-    Maybe (Ptr (FunPtr C_ClosureNotify)) ->
-    ClosureNotify ->
-    C_ClosureNotify
-wrap_ClosureNotify funptrptr _cb data_ closure = do
-    closure' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) closure
-    _cb  data_ closure'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback ClosureMarshalFieldCallback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ClosureMarshalFieldCallback =
-    Ptr (GClosure ()) ->
-    Ptr GValue ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ClosureMarshalFieldCallback :: FunPtr C_ClosureMarshalFieldCallback -> C_ClosureMarshalFieldCallback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ClosureMarshalFieldCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ClosureMarshalFieldCallback
-    -> GClosure a
-    -> GValue
-    -> Word32
-    -> GValue
-    -> Ptr ()
-    -> Ptr ()
-    -> m ()
-dynamic_ClosureMarshalFieldCallback __funPtr closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    (__dynamic_C_ClosureMarshalFieldCallback __funPtr) closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ClosureMarshalFieldCallback`.
-foreign import ccall "wrapper"
-    mk_ClosureMarshalFieldCallback :: C_ClosureMarshalFieldCallback -> IO (FunPtr C_ClosureMarshalFieldCallback)
-
-{- |
-/No description available in the introspection data./
--}
-type ClosureMarshalFieldCallback =
-    GClosure ()
-    -> GValue
-    -> Word32
-    -> GValue
-    -> Ptr ()
-    -> Ptr ()
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ClosureMarshalFieldCallback`@.
-noClosureMarshalFieldCallback :: Maybe ClosureMarshalFieldCallback
-noClosureMarshalFieldCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ClosureMarshalFieldCallback :: MonadIO m => ClosureMarshalFieldCallback -> m (GClosure C_ClosureMarshalFieldCallback)
-genClosure_ClosureMarshalFieldCallback cb = liftIO $ do
-    let cb' = wrap_ClosureMarshalFieldCallback Nothing cb
-    mk_ClosureMarshalFieldCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ClosureMarshalFieldCallback` into a `C_ClosureMarshalFieldCallback`.
-wrap_ClosureMarshalFieldCallback ::
-    Maybe (Ptr (FunPtr C_ClosureMarshalFieldCallback)) ->
-    ClosureMarshalFieldCallback ->
-    C_ClosureMarshalFieldCallback
-wrap_ClosureMarshalFieldCallback funptrptr _cb closure returnValue nParamValues paramValues invocationHint marshalData = do
-    closure' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) closure
-    B.ManagedPtr.withTransient GValue returnValue $ \returnValue' -> do
-        B.ManagedPtr.withTransient GValue paramValues $ \paramValues' -> do
-            _cb  closure' returnValue' nParamValues paramValues' invocationHint marshalData
-            maybeReleaseFunPtr funptrptr
-
-
--- callback ClassInitFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to initialize.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @class_data member supplied via the #GTypeInfo structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to initialize the class\nof a specific type. This function should initialize all static class\nmembers.\n\nThe initialization process of a class involves:\n\n- Copying common members from the parent class over to the\n  derived class structure.\n- Zero initialization of the remaining members not copied\n  over from the parent class.\n- Invocation of the GBaseInitFunc() initializers of all parent\n  types and the class' type.\n- Invocation of the class' GClassInitFunc() initializer.\n\nSince derived classes are partially initialized through a memory copy\nof the parent class, the general rule is that GBaseInitFunc() and\nGBaseFinalizeFunc() should take care of necessary reinitialization\nand release of those class members that were introduced by the type\nthat specified these GBaseInitFunc()/GBaseFinalizeFunc().\nGClassInitFunc() should only care about initializing static\nclass members, while dynamic class members (such as allocated strings\nor reference counted resources) are better handled by a GBaseInitFunc()\nfor this type, so proper initialization of the dynamic class members\nis performed for class initialization of derived types as well.\n\nAn example may help to correspond the intend of the different class\ninitializers:\n\n|[<!-- language=\"C\" -->\ntypedef struct {\n  GObjectClass parent_class;\n  gint         static_integer;\n  gchar       *dynamic_string;\n} TypeAClass;\nstatic void\ntype_a_base_class_init (TypeAClass *class)\n{\n  class->dynamic_string = g_strdup (\"some string\");\n}\nstatic void\ntype_a_base_class_finalize (TypeAClass *class)\n{\n  g_free (class->dynamic_string);\n}\nstatic void\ntype_a_class_init (TypeAClass *class)\n{\n  class->static_integer = 42;\n}\n\ntypedef struct {\n  TypeAClass   parent_class;\n  gfloat       static_float;\n  GString     *dynamic_gstring;\n} TypeBClass;\nstatic void\ntype_b_base_class_init (TypeBClass *class)\n{\n  class->dynamic_gstring = g_string_new (\"some other string\");\n}\nstatic void\ntype_b_base_class_finalize (TypeBClass *class)\n{\n  g_string_free (class->dynamic_gstring);\n}\nstatic void\ntype_b_class_init (TypeBClass *class)\n{\n  class->static_float = 3.14159265358979323846;\n}\n]|\nInitialization of TypeBClass will first cause initialization of\nTypeAClass (derived classes reference their parent classes, see\ng_type_class_ref() on this).\n\nInitialization of TypeAClass roughly involves zero-initializing its fields,\nthen calling its GBaseInitFunc() type_a_base_class_init() to allocate\nits dynamic members (dynamic_string), and finally calling its GClassInitFunc()\ntype_a_class_init() to initialize its static members (static_integer).\nThe first step in the initialization process of TypeBClass is then\na plain memory copy of the contents of TypeAClass into TypeBClass and\nzero-initialization of the remaining fields in TypeBClass.\nThe dynamic members of TypeAClass within TypeBClass now need\nreinitialization which is performed by calling type_a_base_class_init()\nwith an argument of TypeBClass.\n\nAfter that, the GBaseInitFunc() of TypeBClass, type_b_base_class_init()\nis called to allocate the dynamic members of TypeBClass (dynamic_gstring),\nand finally the GClassInitFunc() of TypeBClass, type_b_class_init(),\nis called to complete the initialization process with the static members\n(static_float).\n\nCorresponding finalization counter parts to the GBaseInitFunc() functions\nhave to be provided to release allocated resources at class finalization\ntime.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ClassInitFunc =
-    Ptr GObject.TypeClass.TypeClass ->
-    Ptr () ->
-    IO ()
-
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to initialize.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @class_data member supplied via the #GTypeInfo structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ClassInitFunc :: FunPtr C_ClassInitFunc -> C_ClassInitFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ClassInitFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ClassInitFunc
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to initialize. -}
-    -> Ptr ()
-    {- ^ /@classData@/: The /@classData@/ member supplied via the 'GI.GObject.Structs.TypeInfo.TypeInfo' structure. -}
-    -> m ()
-dynamic_ClassInitFunc __funPtr gClass classData = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    (__dynamic_C_ClassInitFunc __funPtr) gClass' classData
-    touchManagedPtr gClass
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ClassInitFunc`.
-foreign import ccall "wrapper"
-    mk_ClassInitFunc :: C_ClassInitFunc -> IO (FunPtr C_ClassInitFunc)
-
-{- |
-A callback function used by the type system to initialize the class
-of a specific type. This function should initialize all static class
-members.
-
-The initialization process of a class involves:
-
-* Copying common members from the parent class over to the
-derived class structure.
-* Zero initialization of the remaining members not copied
-over from the parent class.
-* Invocation of the @/GBaseInitFunc()/@ initializers of all parent
-types and the class\' type.
-* Invocation of the class\' @/GClassInitFunc()/@ initializer.
-
-
-Since derived classes are partially initialized through a memory copy
-of the parent class, the general rule is that @/GBaseInitFunc()/@ and
-@/GBaseFinalizeFunc()/@ should take care of necessary reinitialization
-and release of those class members that were introduced by the type
-that specified these @/GBaseInitFunc()/@\/@/GBaseFinalizeFunc()/@.
-@/GClassInitFunc()/@ should only care about initializing static
-class members, while dynamic class members (such as allocated strings
-or reference counted resources) are better handled by a @/GBaseInitFunc()/@
-for this type, so proper initialization of the dynamic class members
-is performed for class initialization of derived types as well.
-
-An example may help to correspond the intend of the different class
-initializers:
-
-
-=== /C code/
->
->typedef struct {
->  GObjectClass parent_class;
->  gint         static_integer;
->  gchar       *dynamic_string;
->} TypeAClass;
->static void
->type_a_base_class_init (TypeAClass *class)
->{
->  class->dynamic_string = g_strdup ("some string");
->}
->static void
->type_a_base_class_finalize (TypeAClass *class)
->{
->  g_free (class->dynamic_string);
->}
->static void
->type_a_class_init (TypeAClass *class)
->{
->  class->static_integer = 42;
->}
->
->typedef struct {
->  TypeAClass   parent_class;
->  gfloat       static_float;
->  GString     *dynamic_gstring;
->} TypeBClass;
->static void
->type_b_base_class_init (TypeBClass *class)
->{
->  class->dynamic_gstring = g_string_new ("some other string");
->}
->static void
->type_b_base_class_finalize (TypeBClass *class)
->{
->  g_string_free (class->dynamic_gstring);
->}
->static void
->type_b_class_init (TypeBClass *class)
->{
->  class->static_float = 3.14159265358979323846;
->}
-
-Initialization of TypeBClass will first cause initialization of
-TypeAClass (derived classes reference their parent classes, see
-'GI.GObject.Functions.typeClassRef' on this).
-
-Initialization of TypeAClass roughly involves zero-initializing its fields,
-then calling its @/GBaseInitFunc()/@ @/type_a_base_class_init()/@ to allocate
-its dynamic members (dynamic_string), and finally calling its @/GClassInitFunc()/@
-@/type_a_class_init()/@ to initialize its static members (static_integer).
-The first step in the initialization process of TypeBClass is then
-a plain memory copy of the contents of TypeAClass into TypeBClass and
-zero-initialization of the remaining fields in TypeBClass.
-The dynamic members of TypeAClass within TypeBClass now need
-reinitialization which is performed by calling @/type_a_base_class_init()/@
-with an argument of TypeBClass.
-
-After that, the @/GBaseInitFunc()/@ of TypeBClass, @/type_b_base_class_init()/@
-is called to allocate the dynamic members of TypeBClass (dynamic_gstring),
-and finally the @/GClassInitFunc()/@ of TypeBClass, @/type_b_class_init()/@,
-is called to complete the initialization process with the static members
-(static_float).
-
-Corresponding finalization counter parts to the @/GBaseInitFunc()/@ functions
-have to be provided to release allocated resources at class finalization
-time.
--}
-type ClassInitFunc =
-    GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to initialize. -}
-    -> Ptr ()
-    {- ^ /@classData@/: The /@classData@/ member supplied via the 'GI.GObject.Structs.TypeInfo.TypeInfo' structure. -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ClassInitFunc`@.
-noClassInitFunc :: Maybe ClassInitFunc
-noClassInitFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ClassInitFunc :: MonadIO m => ClassInitFunc -> m (GClosure C_ClassInitFunc)
-genClosure_ClassInitFunc cb = liftIO $ do
-    let cb' = wrap_ClassInitFunc Nothing cb
-    mk_ClassInitFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ClassInitFunc` into a `C_ClassInitFunc`.
-wrap_ClassInitFunc ::
-    Maybe (Ptr (FunPtr C_ClassInitFunc)) ->
-    ClassInitFunc ->
-    C_ClassInitFunc
-wrap_ClassInitFunc funptrptr _cb gClass classData = do
-    gClass' <- (newPtr GObject.TypeClass.TypeClass) gClass
-    _cb  gClass' classData
-    maybeReleaseFunPtr funptrptr
-
-
--- callback ClassFinalizeFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to finalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @class_data member supplied via the #GTypeInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to finalize a class.\nThis function is rarely needed, as dynamically allocated class resources\nshould be handled by GBaseInitFunc() and GBaseFinalizeFunc().\nAlso, specification of a GClassFinalizeFunc() in the #GTypeInfo\nstructure of a static type is invalid, because classes of static types\nwill never be finalized (they are artificially kept alive when their\nreference count drops to zero).", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_ClassFinalizeFunc =
-    Ptr GObject.TypeClass.TypeClass ->
-    Ptr () ->
-    IO ()
-
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to finalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The @class_data member supplied via the #GTypeInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_ClassFinalizeFunc :: FunPtr C_ClassFinalizeFunc -> C_ClassFinalizeFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_ClassFinalizeFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_ClassFinalizeFunc
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to finalize -}
-    -> Ptr ()
-    {- ^ /@classData@/: The /@classData@/ member supplied via the 'GI.GObject.Structs.TypeInfo.TypeInfo' structure -}
-    -> m ()
-dynamic_ClassFinalizeFunc __funPtr gClass classData = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    (__dynamic_C_ClassFinalizeFunc __funPtr) gClass' classData
-    touchManagedPtr gClass
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_ClassFinalizeFunc`.
-foreign import ccall "wrapper"
-    mk_ClassFinalizeFunc :: C_ClassFinalizeFunc -> IO (FunPtr C_ClassFinalizeFunc)
-
-{- |
-A callback function used by the type system to finalize a class.
-This function is rarely needed, as dynamically allocated class resources
-should be handled by @/GBaseInitFunc()/@ and @/GBaseFinalizeFunc()/@.
-Also, specification of a @/GClassFinalizeFunc()/@ in the 'GI.GObject.Structs.TypeInfo.TypeInfo'
-structure of a static type is invalid, because classes of static types
-will never be finalized (they are artificially kept alive when their
-reference count drops to zero).
--}
-type ClassFinalizeFunc =
-    GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to finalize -}
-    -> Ptr ()
-    {- ^ /@classData@/: The /@classData@/ member supplied via the 'GI.GObject.Structs.TypeInfo.TypeInfo' structure -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ClassFinalizeFunc`@.
-noClassFinalizeFunc :: Maybe ClassFinalizeFunc
-noClassFinalizeFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ClassFinalizeFunc :: MonadIO m => ClassFinalizeFunc -> m (GClosure C_ClassFinalizeFunc)
-genClosure_ClassFinalizeFunc cb = liftIO $ do
-    let cb' = wrap_ClassFinalizeFunc Nothing cb
-    mk_ClassFinalizeFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ClassFinalizeFunc` into a `C_ClassFinalizeFunc`.
-wrap_ClassFinalizeFunc ::
-    Maybe (Ptr (FunPtr C_ClassFinalizeFunc)) ->
-    ClassFinalizeFunc ->
-    C_ClassFinalizeFunc
-wrap_ClassFinalizeFunc funptrptr _cb gClass classData = do
-    gClass' <- (newPtr GObject.TypeClass.TypeClass) gClass
-    _cb  gClass' classData
-    maybeReleaseFunPtr funptrptr
-
-
--- callback Callback
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type used for callback functions in structure definitions and function\nsignatures. This doesn't mean that all callback functions must take no\nparameters and return void. The required signature of a callback function\nis determined by the context in which is used (e.g. the signal to which it\nis connected). Use G_CALLBACK() to cast the callback function to a #GCallback.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_Callback =
-    IO ()
-
--- Args : []
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_Callback :: FunPtr C_Callback -> C_Callback
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_Callback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_Callback
-    -> m ()
-dynamic_Callback __funPtr = liftIO $ do
-    (__dynamic_C_Callback __funPtr)
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_Callback`.
-foreign import ccall "wrapper"
-    mk_Callback :: C_Callback -> IO (FunPtr C_Callback)
-
-{- |
-The type used for callback functions in structure definitions and function
-signatures. This doesn\'t mean that all callback functions must take no
-parameters and return void. The required signature of a callback function
-is determined by the context in which is used (e.g. the signal to which it
-is connected). Use @/G_CALLBACK()/@ to cast the callback function to a 'GI.GObject.Callbacks.Callback'.
--}
-type Callback =
-    IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `Callback`@.
-noCallback :: Maybe Callback
-noCallback = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_Callback :: MonadIO m => Callback -> m (GClosure C_Callback)
-genClosure_Callback cb = liftIO $ do
-    let cb' = wrap_Callback Nothing cb
-    mk_Callback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `Callback` into a `C_Callback`.
-wrap_Callback ::
-    Maybe (Ptr (FunPtr C_Callback)) ->
-    Callback ->
-    C_Callback
-wrap_Callback funptrptr _cb = do
-    _cb 
-    maybeReleaseFunPtr funptrptr
-
-
--- callback BoxedFreeFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The boxed structure to be freed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function is provided by the user and should free the boxed\nstructure passed.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_BoxedFreeFunc =
-    Ptr () ->
-    IO ()
-
--- Args : [Arg {argCName = "boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The boxed structure to be freed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_BoxedFreeFunc :: FunPtr C_BoxedFreeFunc -> C_BoxedFreeFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_BoxedFreeFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_BoxedFreeFunc
-    -> Ptr ()
-    {- ^ /@boxed@/: The boxed structure to be freed. -}
-    -> m ()
-dynamic_BoxedFreeFunc __funPtr boxed = liftIO $ do
-    (__dynamic_C_BoxedFreeFunc __funPtr) boxed
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_BoxedFreeFunc`.
-foreign import ccall "wrapper"
-    mk_BoxedFreeFunc :: C_BoxedFreeFunc -> IO (FunPtr C_BoxedFreeFunc)
-
-{- |
-This function is provided by the user and should free the boxed
-structure passed.
--}
-type BoxedFreeFunc =
-    Ptr ()
-    {- ^ /@boxed@/: The boxed structure to be freed. -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `BoxedFreeFunc`@.
-noBoxedFreeFunc :: Maybe BoxedFreeFunc
-noBoxedFreeFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_BoxedFreeFunc :: MonadIO m => BoxedFreeFunc -> m (GClosure C_BoxedFreeFunc)
-genClosure_BoxedFreeFunc cb = liftIO $ do
-    let cb' = wrap_BoxedFreeFunc Nothing cb
-    mk_BoxedFreeFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `BoxedFreeFunc` into a `C_BoxedFreeFunc`.
-wrap_BoxedFreeFunc ::
-    Maybe (Ptr (FunPtr C_BoxedFreeFunc)) ->
-    BoxedFreeFunc ->
-    C_BoxedFreeFunc
-wrap_BoxedFreeFunc funptrptr _cb boxed = do
-    _cb  boxed
-    maybeReleaseFunPtr funptrptr
-
-
--- callback BoxedCopyFunc
---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "The newly created copy of the boxed structure.", sinceVersion = Nothing}, args = [Arg {argCName = "boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The boxed structure to be copied.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function is provided by the user and should produce a copy\nof the passed in boxed structure.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_BoxedCopyFunc =
-    Ptr () ->
-    IO (Ptr ())
-
--- Args : [Arg {argCName = "boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The boxed structure to be copied.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_BoxedCopyFunc :: FunPtr C_BoxedCopyFunc -> C_BoxedCopyFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_BoxedCopyFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_BoxedCopyFunc
-    -> Ptr ()
-    {- ^ /@boxed@/: The boxed structure to be copied. -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ The newly created copy of the boxed structure. -}
-dynamic_BoxedCopyFunc __funPtr boxed = liftIO $ do
-    result <- (__dynamic_C_BoxedCopyFunc __funPtr) boxed
-    return result
-
--- | Generate a function pointer callable from C code, from a `C_BoxedCopyFunc`.
-foreign import ccall "wrapper"
-    mk_BoxedCopyFunc :: C_BoxedCopyFunc -> IO (FunPtr C_BoxedCopyFunc)
-
-{- |
-This function is provided by the user and should produce a copy
-of the passed in boxed structure.
--}
-type BoxedCopyFunc =
-    Ptr ()
-    {- ^ /@boxed@/: The boxed structure to be copied. -}
-    -> IO (Ptr ())
-    {- ^ __Returns:__ The newly created copy of the boxed structure. -}
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `BoxedCopyFunc`@.
-noBoxedCopyFunc :: Maybe BoxedCopyFunc
-noBoxedCopyFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_BoxedCopyFunc :: MonadIO m => BoxedCopyFunc -> m (GClosure C_BoxedCopyFunc)
-genClosure_BoxedCopyFunc cb = liftIO $ do
-    let cb' = wrap_BoxedCopyFunc Nothing cb
-    mk_BoxedCopyFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `BoxedCopyFunc` into a `C_BoxedCopyFunc`.
-wrap_BoxedCopyFunc ::
-    Maybe (Ptr (FunPtr C_BoxedCopyFunc)) ->
-    BoxedCopyFunc ->
-    C_BoxedCopyFunc
-wrap_BoxedCopyFunc funptrptr _cb boxed = do
-    result <- _cb  boxed
-    maybeReleaseFunPtr funptrptr
-    return result
-
-
--- callback BindingTransformFunc
---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the transformation was successful, and %FALSE\n  otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue containing the value to transform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue in which to store the transformed value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the transform function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be called to transform @from_value to @to_value. If\nthis is the @transform_to function of a binding, then @from_value\nis the @source_property on the @source object, and @to_value is the\n@target_property on the @target object. If this is the\n@transform_from function of a %G_BINDING_BIDIRECTIONAL binding,\nthen those roles are reversed.", sinceVersion = Just "2.26"}}
--- | Type for the callback on the (unwrapped) C side.
-type C_BindingTransformFunc =
-    Ptr GObject.Binding.Binding ->
-    Ptr GValue ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue containing the value to transform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue in which to store the transformed value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the transform function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_BindingTransformFunc :: FunPtr C_BindingTransformFunc -> C_BindingTransformFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_BindingTransformFunc ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Binding.IsBinding a) =>
-    FunPtr C_BindingTransformFunc
-    -> a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> GValue
-    {- ^ /@fromValue@/: the 'GI.GObject.Structs.Value.Value' containing the value to transform -}
-    -> GValue
-    {- ^ /@toValue@/: the 'GI.GObject.Structs.Value.Value' in which to store the transformed value -}
-    -> Ptr ()
-    {- ^ /@userData@/: data passed to the transform function -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' if the transformation was successful, and 'False'
-  otherwise -}
-dynamic_BindingTransformFunc __funPtr binding fromValue toValue userData = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    fromValue' <- unsafeManagedPtrGetPtr fromValue
-    toValue' <- unsafeManagedPtrGetPtr toValue
-    result <- (__dynamic_C_BindingTransformFunc __funPtr) binding' fromValue' toValue' userData
-    let result' = (/= 0) result
-    touchManagedPtr binding
-    touchManagedPtr fromValue
-    touchManagedPtr toValue
-    return result'
-
--- | Generate a function pointer callable from C code, from a `C_BindingTransformFunc`.
-foreign import ccall "wrapper"
-    mk_BindingTransformFunc :: C_BindingTransformFunc -> IO (FunPtr C_BindingTransformFunc)
-
-{- |
-A function to be called to transform /@fromValue@/ to /@toValue@/. If
-this is the /@transformTo@/ function of a binding, then /@fromValue@/
-is the /@sourceProperty@/ on the /@source@/ object, and /@toValue@/ is the
-/@targetProperty@/ on the /@target@/ object. If this is the
-/@transformFrom@/ function of a 'GI.GObject.Flags.BindingFlagsBidirectional' binding,
-then those roles are reversed.
-
-/Since: 2.26/
--}
-type BindingTransformFunc =
-    GObject.Binding.Binding
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> GValue
-    {- ^ /@fromValue@/: the 'GI.GObject.Structs.Value.Value' containing the value to transform -}
-    -> GValue
-    {- ^ /@toValue@/: the 'GI.GObject.Structs.Value.Value' in which to store the transformed value -}
-    -> IO Bool
-    {- ^ __Returns:__ 'True' if the transformation was successful, and 'False'
-  otherwise -}
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `BindingTransformFunc`@.
-noBindingTransformFunc :: Maybe BindingTransformFunc
-noBindingTransformFunc = Nothing
-
-{- |
-A function to be called to transform /@fromValue@/ to /@toValue@/. If
-this is the /@transformTo@/ function of a binding, then /@fromValue@/
-is the /@sourceProperty@/ on the /@source@/ object, and /@toValue@/ is the
-/@targetProperty@/ on the /@target@/ object. If this is the
-/@transformFrom@/ function of a 'GI.GObject.Flags.BindingFlagsBidirectional' binding,
-then those roles are reversed.
-
-/Since: 2.26/
--}
-type BindingTransformFunc_WithClosures =
-    GObject.Binding.Binding
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> GValue
-    {- ^ /@fromValue@/: the 'GI.GObject.Structs.Value.Value' containing the value to transform -}
-    -> GValue
-    {- ^ /@toValue@/: the 'GI.GObject.Structs.Value.Value' in which to store the transformed value -}
-    -> Ptr ()
-    {- ^ /@userData@/: data passed to the transform function -}
-    -> IO Bool
-    {- ^ __Returns:__ 'True' if the transformation was successful, and 'False'
-  otherwise -}
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `BindingTransformFunc_WithClosures`@.
-noBindingTransformFunc_WithClosures :: Maybe BindingTransformFunc_WithClosures
-noBindingTransformFunc_WithClosures = Nothing
-
--- | A simple wrapper that ignores the closure arguments.
-drop_closures_BindingTransformFunc :: BindingTransformFunc -> BindingTransformFunc_WithClosures
-drop_closures_BindingTransformFunc _f binding fromValue toValue _ = _f binding fromValue toValue
-
--- | Wrap the callback into a `GClosure`.
-genClosure_BindingTransformFunc :: MonadIO m => BindingTransformFunc -> m (GClosure C_BindingTransformFunc)
-genClosure_BindingTransformFunc cb = liftIO $ do
-    let cb' = drop_closures_BindingTransformFunc cb
-    let cb'' = wrap_BindingTransformFunc Nothing cb'
-    mk_BindingTransformFunc cb'' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `BindingTransformFunc` into a `C_BindingTransformFunc`.
-wrap_BindingTransformFunc ::
-    Maybe (Ptr (FunPtr C_BindingTransformFunc)) ->
-    BindingTransformFunc_WithClosures ->
-    C_BindingTransformFunc
-wrap_BindingTransformFunc funptrptr _cb binding fromValue toValue userData = do
-    binding' <- (newObject GObject.Binding.Binding) binding
-    B.ManagedPtr.withTransient GValue fromValue $ \fromValue' -> do
-        B.ManagedPtr.withTransient GValue toValue $ \toValue' -> do
-            result <- _cb  binding' fromValue' toValue' userData
-            maybeReleaseFunPtr funptrptr
-            let result' = (fromIntegral . fromEnum) result
-            return result'
-
-
--- callback BaseInitFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to do base initialization\nof the class structures of derived types. It is called as part of the\ninitialization process of all derived classes and should reallocate\nor reset all dynamic class members copied over from the parent class.\nFor example, class members (such as strings) that are not sufficiently\nhandled by a plain memory copy of the parent class into the derived class\nhave to be altered. See GClassInitFunc() for a discussion of the class\ninitialization process.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_BaseInitFunc =
-    Ptr GObject.TypeClass.TypeClass ->
-    IO ()
-
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to initialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_BaseInitFunc :: FunPtr C_BaseInitFunc -> C_BaseInitFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_BaseInitFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_BaseInitFunc
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to initialize -}
-    -> m ()
-dynamic_BaseInitFunc __funPtr gClass = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    (__dynamic_C_BaseInitFunc __funPtr) gClass'
-    touchManagedPtr gClass
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_BaseInitFunc`.
-foreign import ccall "wrapper"
-    mk_BaseInitFunc :: C_BaseInitFunc -> IO (FunPtr C_BaseInitFunc)
-
-{- |
-A callback function used by the type system to do base initialization
-of the class structures of derived types. It is called as part of the
-initialization process of all derived classes and should reallocate
-or reset all dynamic class members copied over from the parent class.
-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
-initialization process.
--}
-type BaseInitFunc =
-    GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to initialize -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `BaseInitFunc`@.
-noBaseInitFunc :: Maybe BaseInitFunc
-noBaseInitFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_BaseInitFunc :: MonadIO m => BaseInitFunc -> m (GClosure C_BaseInitFunc)
-genClosure_BaseInitFunc cb = liftIO $ do
-    let cb' = wrap_BaseInitFunc Nothing cb
-    mk_BaseInitFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `BaseInitFunc` into a `C_BaseInitFunc`.
-wrap_BaseInitFunc ::
-    Maybe (Ptr (FunPtr C_BaseInitFunc)) ->
-    BaseInitFunc ->
-    C_BaseInitFunc
-wrap_BaseInitFunc funptrptr _cb gClass = do
-    gClass' <- (newPtr GObject.TypeClass.TypeClass) gClass
-    _cb  gClass'
-    maybeReleaseFunPtr funptrptr
-
-
--- callback BaseFinalizeFunc
---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to finalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A callback function used by the type system to finalize those portions\nof a derived types class structure that were setup from the corresponding\nGBaseInitFunc() function. Class finalization basically works the inverse\nway in which class initialization is performed.\nSee GClassInitFunc() for a discussion of the class initialization process.", sinceVersion = Nothing}}
--- | Type for the callback on the (unwrapped) C side.
-type C_BaseFinalizeFunc =
-    Ptr GObject.TypeClass.TypeClass ->
-    IO ()
-
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GTypeClass structure to finalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "dynamic" __dynamic_C_BaseFinalizeFunc :: FunPtr C_BaseFinalizeFunc -> C_BaseFinalizeFunc
-
--- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.
-dynamic_BaseFinalizeFunc ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    FunPtr C_BaseFinalizeFunc
-    -> GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to finalize -}
-    -> m ()
-dynamic_BaseFinalizeFunc __funPtr gClass = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    (__dynamic_C_BaseFinalizeFunc __funPtr) gClass'
-    touchManagedPtr gClass
-    return ()
-
--- | Generate a function pointer callable from C code, from a `C_BaseFinalizeFunc`.
-foreign import ccall "wrapper"
-    mk_BaseFinalizeFunc :: C_BaseFinalizeFunc -> IO (FunPtr C_BaseFinalizeFunc)
-
-{- |
-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 initialization is performed.
-See @/GClassInitFunc()/@ for a discussion of the class initialization process.
--}
-type BaseFinalizeFunc =
-    GObject.TypeClass.TypeClass
-    {- ^ /@gClass@/: The 'GI.GObject.Structs.TypeClass.TypeClass' structure to finalize -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `BaseFinalizeFunc`@.
-noBaseFinalizeFunc :: Maybe BaseFinalizeFunc
-noBaseFinalizeFunc = Nothing
-
--- | Wrap the callback into a `GClosure`.
-genClosure_BaseFinalizeFunc :: MonadIO m => BaseFinalizeFunc -> m (GClosure C_BaseFinalizeFunc)
-genClosure_BaseFinalizeFunc cb = liftIO $ do
-    let cb' = wrap_BaseFinalizeFunc Nothing cb
-    mk_BaseFinalizeFunc cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `BaseFinalizeFunc` into a `C_BaseFinalizeFunc`.
-wrap_BaseFinalizeFunc ::
-    Maybe (Ptr (FunPtr C_BaseFinalizeFunc)) ->
-    BaseFinalizeFunc ->
-    C_BaseFinalizeFunc
-wrap_BaseFinalizeFunc funptrptr _cb gClass = do
-    gClass' <- (newPtr GObject.TypeClass.TypeClass) gClass
-    _cb  gClass'
-    maybeReleaseFunPtr funptrptr
-
-
-
diff --git a/GI/GObject/Constants.hs b/GI/GObject/Constants.hs
deleted file mode 100644
--- a/GI/GObject/Constants.hs
+++ /dev/null
@@ -1,132 +0,0 @@
-{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Constants
-    ( 
-    pattern VALUE_NOCOPY_CONTENTS           ,
-    pattern TYPE_RESERVED_USER_FIRST        ,
-    pattern TYPE_RESERVED_GLIB_LAST         ,
-    pattern TYPE_RESERVED_GLIB_FIRST        ,
-    pattern TYPE_RESERVED_BSE_LAST          ,
-    pattern TYPE_RESERVED_BSE_FIRST         ,
-    pattern TYPE_FUNDAMENTAL_SHIFT          ,
-    pattern TYPE_FUNDAMENTAL_MAX            ,
-    pattern TYPE_FLAG_RESERVED_ID_BIT       ,
-    pattern SIGNAL_MATCH_MASK               ,
-    pattern SIGNAL_FLAGS_MASK               ,
-    pattern PARAM_USER_SHIFT                ,
-    pattern PARAM_STATIC_STRINGS            ,
-    pattern PARAM_MASK                      ,
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
-{- |
-If passed to @/G_VALUE_COLLECT()/@, allocated data won\'t be copied
-but used verbatim. This does not affect ref-counted types like
-objects.
--}
-pattern VALUE_NOCOPY_CONTENTS = 134217728 :: Int32
-
-{- |
-First available fundamental type number to create new fundamental
-type id with @/G_TYPE_MAKE_FUNDAMENTAL()/@.
--}
-pattern TYPE_RESERVED_USER_FIRST = 49 :: Int32
-
-{- |
-Last fundamental type number reserved for GLib.
--}
-pattern TYPE_RESERVED_GLIB_LAST = 31 :: Int32
-
-{- |
-First fundamental type number to create a new fundamental type id with
-@/G_TYPE_MAKE_FUNDAMENTAL()/@ reserved for GLib.
--}
-pattern TYPE_RESERVED_GLIB_FIRST = 22 :: Int32
-
-{- |
-Last fundamental type number reserved for BSE.
--}
-pattern TYPE_RESERVED_BSE_LAST = 48 :: Int32
-
-{- |
-First fundamental type number to create a new fundamental type id with
-@/G_TYPE_MAKE_FUNDAMENTAL()/@ reserved for BSE.
--}
-pattern TYPE_RESERVED_BSE_FIRST = 32 :: Int32
-
-{- |
-Shift value used in converting numbers to type IDs.
--}
-pattern TYPE_FUNDAMENTAL_SHIFT = 2 :: Int32
-
-{- |
-An integer constant that represents the number of identifiers reserved
-for types that are assigned at compile-time.
--}
-pattern TYPE_FUNDAMENTAL_MAX = 255 :: Int32
-
-{- |
-A bit in the type number that\'s supposed to be left untouched.
--}
-pattern TYPE_FLAG_RESERVED_ID_BIT = 1 :: Word64
-
-{- |
-A mask for all 'GI.GObject.Flags.SignalMatchType' bits.
--}
-pattern SIGNAL_MATCH_MASK = 63 :: Int32
-
-{- |
-A mask for all 'GI.GObject.Flags.SignalFlags' bits.
--}
-pattern SIGNAL_FLAGS_MASK = 511 :: Int32
-
-{- |
-Minimum shift count to be used for user defined flags, to be stored in
-'GI.GObject.Objects.ParamSpec.ParamSpec'.@/flags/@. The maximum allowed is 10.
--}
-pattern PARAM_USER_SHIFT = 8 :: Int32
-
-{- |
-'GI.GObject.Flags.ParamFlags' value alias for 'GI.GObject.Flags.ParamFlagsStaticName' | 'GI.GObject.Flags.ParamFlagsStaticNick' | 'GI.GObject.Flags.ParamFlagsStaticBlurb'.
-
-Since 2.13.0
--}
-pattern PARAM_STATIC_STRINGS = 224 :: Int32
-
-{- |
-Mask containing the bits of 'GI.GObject.Objects.ParamSpec.ParamSpec'.@/flags/@ which are reserved for GLib.
--}
-pattern PARAM_MASK = 255 :: Int32
-
-
diff --git a/GI/GObject/Flags.hs b/GI/GObject/Flags.hs
deleted file mode 100644
--- a/GI/GObject/Flags.hs
+++ /dev/null
@@ -1,561 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Flags
-    ( 
-
- -- * Flags
--- ** BindingFlags #flag:BindingFlags#
-
-    BindingFlags(..)                        ,
-
-
--- ** ConnectFlags #flag:ConnectFlags#
-
-    ConnectFlags(..)                        ,
-
-
--- ** ParamFlags #flag:ParamFlags#
-
-    ParamFlags(..)                          ,
-
-
--- ** SignalFlags #flag:SignalFlags#
-
-    SignalFlags(..)                         ,
-
-
--- ** SignalMatchType #flag:SignalMatchType#
-
-    SignalMatchType(..)                     ,
-
-
--- ** TypeDebugFlags #flag:TypeDebugFlags#
-
-    TypeDebugFlags(..)                      ,
-
-
--- ** TypeFlags #flag:TypeFlags#
-
-    TypeFlags(..)                           ,
-
-
--- ** TypeFundamentalFlags #flag:TypeFundamentalFlags#
-
-    TypeFundamentalFlags(..)                ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- Flags TypeFundamentalFlags
-{- |
-Bit masks used to check or determine specific characteristics of a
-fundamental type.
--}
-data TypeFundamentalFlags = 
-      TypeFundamentalFlagsClassed
-    {- ^
-    Indicates a classed type
-    -}
-    | TypeFundamentalFlagsInstantiatable
-    {- ^
-    Indicates an instantiable type (implies classed)
-    -}
-    | TypeFundamentalFlagsDerivable
-    {- ^
-    Indicates a flat derivable type
-    -}
-    | TypeFundamentalFlagsDeepDerivable
-    {- ^
-    Indicates a deep derivable type (implies derivable)
-    -}
-    | AnotherTypeFundamentalFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum TypeFundamentalFlags where
-    fromEnum TypeFundamentalFlagsClassed = 1
-    fromEnum TypeFundamentalFlagsInstantiatable = 2
-    fromEnum TypeFundamentalFlagsDerivable = 4
-    fromEnum TypeFundamentalFlagsDeepDerivable = 8
-    fromEnum (AnotherTypeFundamentalFlags k) = k
-
-    toEnum 1 = TypeFundamentalFlagsClassed
-    toEnum 2 = TypeFundamentalFlagsInstantiatable
-    toEnum 4 = TypeFundamentalFlagsDerivable
-    toEnum 8 = TypeFundamentalFlagsDeepDerivable
-    toEnum k = AnotherTypeFundamentalFlags k
-
-instance P.Ord TypeFundamentalFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag TypeFundamentalFlags
-
--- Flags TypeFlags
-{- |
-Bit masks used to check or determine characteristics of a type.
--}
-data TypeFlags = 
-      TypeFlagsAbstract
-    {- ^
-    Indicates an abstract type. No instances can be
-     created for an abstract type
-    -}
-    | TypeFlagsValueAbstract
-    {- ^
-    Indicates an abstract value type, i.e. a type
-     that introduces a value table, but can\'t be used for
-     'GI.GObject.Structs.Value.valueInit'
-    -}
-    | AnotherTypeFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum TypeFlags where
-    fromEnum TypeFlagsAbstract = 16
-    fromEnum TypeFlagsValueAbstract = 32
-    fromEnum (AnotherTypeFlags k) = k
-
-    toEnum 16 = TypeFlagsAbstract
-    toEnum 32 = TypeFlagsValueAbstract
-    toEnum k = AnotherTypeFlags k
-
-instance P.Ord TypeFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag TypeFlags
-
--- Flags TypeDebugFlags
-{-# DEPRECATED TypeDebugFlags ["(Since version 2.36)","'GI.GObject.Functions.typeInit' is now done automatically"] #-}
-{- |
-These flags used to be passed to 'GI.GObject.Functions.typeInitWithDebugFlags' which
-is now deprecated.
-
-If you need to enable debugging features, use the GOBJECT_DEBUG
-environment variable.
--}
-data TypeDebugFlags = 
-      TypeDebugFlagsNone
-    {- ^
-    Print no messages
-    -}
-    | TypeDebugFlagsObjects
-    {- ^
-    Print messages about object bookkeeping
-    -}
-    | TypeDebugFlagsSignals
-    {- ^
-    Print messages about signal emissions
-    -}
-    | TypeDebugFlagsInstanceCount
-    {- ^
-    Keep a count of instances of each type
-    -}
-    | TypeDebugFlagsMask
-    {- ^
-    Mask covering all debug flags
-    -}
-    | AnotherTypeDebugFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum TypeDebugFlags where
-    fromEnum TypeDebugFlagsNone = 0
-    fromEnum TypeDebugFlagsObjects = 1
-    fromEnum TypeDebugFlagsSignals = 2
-    fromEnum TypeDebugFlagsInstanceCount = 4
-    fromEnum TypeDebugFlagsMask = 7
-    fromEnum (AnotherTypeDebugFlags k) = k
-
-    toEnum 0 = TypeDebugFlagsNone
-    toEnum 1 = TypeDebugFlagsObjects
-    toEnum 2 = TypeDebugFlagsSignals
-    toEnum 4 = TypeDebugFlagsInstanceCount
-    toEnum 7 = TypeDebugFlagsMask
-    toEnum k = AnotherTypeDebugFlags k
-
-instance P.Ord TypeDebugFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag TypeDebugFlags
-
--- Flags SignalMatchType
-{- |
-The match types specify what 'GI.GObject.Functions.signalHandlersBlockMatched',
-'GI.GObject.Functions.signalHandlersUnblockMatched' and 'GI.GObject.Functions.signalHandlersDisconnectMatched'
-match signals by.
--}
-data SignalMatchType = 
-      SignalMatchTypeId
-    {- ^
-    The signal id must be equal.
-    -}
-    | SignalMatchTypeDetail
-    {- ^
-    The signal detail be equal.
-    -}
-    | SignalMatchTypeClosure
-    {- ^
-    The closure must be the same.
-    -}
-    | SignalMatchTypeFunc
-    {- ^
-    The C closure callback must be the same.
-    -}
-    | SignalMatchTypeData
-    {- ^
-    The closure data must be the same.
-    -}
-    | SignalMatchTypeUnblocked
-    {- ^
-    Only unblocked signals may matched.
-    -}
-    | AnotherSignalMatchType Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum SignalMatchType where
-    fromEnum SignalMatchTypeId = 1
-    fromEnum SignalMatchTypeDetail = 2
-    fromEnum SignalMatchTypeClosure = 4
-    fromEnum SignalMatchTypeFunc = 8
-    fromEnum SignalMatchTypeData = 16
-    fromEnum SignalMatchTypeUnblocked = 32
-    fromEnum (AnotherSignalMatchType k) = k
-
-    toEnum 1 = SignalMatchTypeId
-    toEnum 2 = SignalMatchTypeDetail
-    toEnum 4 = SignalMatchTypeClosure
-    toEnum 8 = SignalMatchTypeFunc
-    toEnum 16 = SignalMatchTypeData
-    toEnum 32 = SignalMatchTypeUnblocked
-    toEnum k = AnotherSignalMatchType k
-
-instance P.Ord SignalMatchType where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag SignalMatchType
-
--- Flags SignalFlags
-{- |
-The signal flags are used to specify a signal\'s behaviour, the overall
-signal description outlines how especially the RUN flags control the
-stages of a signal emission.
--}
-data SignalFlags = 
-      SignalFlagsRunFirst
-    {- ^
-    Invoke the object method handler in the first emission stage.
-    -}
-    | SignalFlagsRunLast
-    {- ^
-    Invoke the object method handler in the third emission stage.
-    -}
-    | SignalFlagsRunCleanup
-    {- ^
-    Invoke the object method handler in the last emission stage.
-    -}
-    | SignalFlagsNoRecurse
-    {- ^
-    Signals being emitted for an object while currently being in
-     emission for this very object will not be emitted recursively,
-     but instead cause the first emission to be restarted.
-    -}
-    | SignalFlagsDetailed
-    {- ^
-    This signal supports \"::detail\" appendices to the signal name
-     upon handler connections and emissions.
-    -}
-    | SignalFlagsAction
-    {- ^
-    Action signals are signals that may freely be emitted on alive
-     objects from user code via @/g_signal_emit()/@ and friends, without
-     the need of being embedded into extra code that performs pre or
-     post emission adjustments on the object. They can also be thought
-     of as object methods which can be called generically by
-     third-party code.
-    -}
-    | SignalFlagsNoHooks
-    {- ^
-    No emissions hooks are supported for this signal.
-    -}
-    | SignalFlagsMustCollect
-    {- ^
-    Varargs signal emission will always collect the
-      arguments, even if there are no signal handlers connected.  Since 2.30.
-    -}
-    | SignalFlagsDeprecated
-    {- ^
-    The signal is deprecated and will be removed
-      in a future version. A warning will be generated if it is connected while
-      running with G_ENABLE_DIAGNOSTIC=1.  Since 2.32.
-    -}
-    | AnotherSignalFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum SignalFlags where
-    fromEnum SignalFlagsRunFirst = 1
-    fromEnum SignalFlagsRunLast = 2
-    fromEnum SignalFlagsRunCleanup = 4
-    fromEnum SignalFlagsNoRecurse = 8
-    fromEnum SignalFlagsDetailed = 16
-    fromEnum SignalFlagsAction = 32
-    fromEnum SignalFlagsNoHooks = 64
-    fromEnum SignalFlagsMustCollect = 128
-    fromEnum SignalFlagsDeprecated = 256
-    fromEnum (AnotherSignalFlags k) = k
-
-    toEnum 1 = SignalFlagsRunFirst
-    toEnum 2 = SignalFlagsRunLast
-    toEnum 4 = SignalFlagsRunCleanup
-    toEnum 8 = SignalFlagsNoRecurse
-    toEnum 16 = SignalFlagsDetailed
-    toEnum 32 = SignalFlagsAction
-    toEnum 64 = SignalFlagsNoHooks
-    toEnum 128 = SignalFlagsMustCollect
-    toEnum 256 = SignalFlagsDeprecated
-    toEnum k = AnotherSignalFlags k
-
-instance P.Ord SignalFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag SignalFlags
-
--- Flags ParamFlags
-{- |
-Through the 'GI.GObject.Flags.ParamFlags' flag values, certain aspects of parameters
-can be configured. See also 'GI.GObject.Constants.PARAM_STATIC_STRINGS'.
--}
-data ParamFlags = 
-      ParamFlagsReadable
-    {- ^
-    the parameter is readable
-    -}
-    | ParamFlagsWritable
-    {- ^
-    the parameter is writable
-    -}
-    | ParamFlagsReadwrite
-    {- ^
-    alias for 'GI.GObject.Flags.ParamFlagsReadable' | 'GI.GObject.Flags.ParamFlagsWritable'
-    -}
-    | ParamFlagsConstruct
-    {- ^
-    the parameter will be set upon object construction
-    -}
-    | ParamFlagsConstructOnly
-    {- ^
-    the parameter can only be set upon object construction
-    -}
-    | ParamFlagsLaxValidation
-    {- ^
-    upon parameter conversion (see 'GI.GObject.Functions.paramValueConvert')
-     strict validation is not required
-    -}
-    | ParamFlagsStaticName
-    {- ^
-    the string used as name when constructing the
-     parameter is guaranteed to remain valid and
-     unmodified for the lifetime of the parameter.
-     Since 2.8
-    -}
-    | ParamFlagsPrivate
-    {- ^
-    internal
-    -}
-    | ParamFlagsStaticNick
-    {- ^
-    the string used as nick when constructing the
-     parameter is guaranteed to remain valid and
-     unmmodified for the lifetime of the parameter.
-     Since 2.8
-    -}
-    | ParamFlagsStaticBlurb
-    {- ^
-    the string used as blurb when constructing the
-     parameter is guaranteed to remain valid and
-     unmodified for the lifetime of the parameter.
-     Since 2.8
-    -}
-    | ParamFlagsExplicitNotify
-    {- ^
-    calls to 'GI.GObject.Objects.Object.objectSetProperty' for this
-      property will not automatically result in a \"notify\" signal being
-      emitted: the implementation must call 'GI.GObject.Objects.Object.objectNotify' themselves
-      in case the property actually changes.  Since: 2.42.
-    -}
-    | ParamFlagsDeprecated
-    {- ^
-    the parameter is deprecated and will be removed
-     in a future version. A warning will be generated if it is used
-     while running with G_ENABLE_DIAGNOSTIC=1.
-     Since 2.26
-    -}
-    | AnotherParamFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum ParamFlags where
-    fromEnum ParamFlagsReadable = 1
-    fromEnum ParamFlagsWritable = 2
-    fromEnum ParamFlagsReadwrite = 3
-    fromEnum ParamFlagsConstruct = 4
-    fromEnum ParamFlagsConstructOnly = 8
-    fromEnum ParamFlagsLaxValidation = 16
-    fromEnum ParamFlagsStaticName = 32
-    fromEnum ParamFlagsPrivate = 32
-    fromEnum ParamFlagsStaticNick = 64
-    fromEnum ParamFlagsStaticBlurb = 128
-    fromEnum ParamFlagsExplicitNotify = 1073741824
-    fromEnum ParamFlagsDeprecated = 2147483648
-    fromEnum (AnotherParamFlags k) = k
-
-    toEnum 1 = ParamFlagsReadable
-    toEnum 2 = ParamFlagsWritable
-    toEnum 3 = ParamFlagsReadwrite
-    toEnum 4 = ParamFlagsConstruct
-    toEnum 8 = ParamFlagsConstructOnly
-    toEnum 16 = ParamFlagsLaxValidation
-    toEnum 32 = ParamFlagsStaticName
-    toEnum 32 = ParamFlagsPrivate
-    toEnum 64 = ParamFlagsStaticNick
-    toEnum 128 = ParamFlagsStaticBlurb
-    toEnum 1073741824 = ParamFlagsExplicitNotify
-    toEnum 2147483648 = ParamFlagsDeprecated
-    toEnum k = AnotherParamFlags k
-
-instance P.Ord ParamFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag ParamFlags
-
--- Flags ConnectFlags
-{- |
-The connection flags are used to specify the behaviour of a signal\'s
-connection.
--}
-data ConnectFlags = 
-      ConnectFlagsAfter
-    {- ^
-    whether the handler should be called before or after the
-     default handler of the signal.
-    -}
-    | ConnectFlagsSwapped
-    {- ^
-    whether the instance and data should be swapped when
-     calling the handler; see @/g_signal_connect_swapped()/@ for an example.
-    -}
-    | AnotherConnectFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum ConnectFlags where
-    fromEnum ConnectFlagsAfter = 1
-    fromEnum ConnectFlagsSwapped = 2
-    fromEnum (AnotherConnectFlags k) = k
-
-    toEnum 1 = ConnectFlagsAfter
-    toEnum 2 = ConnectFlagsSwapped
-    toEnum k = AnotherConnectFlags k
-
-instance P.Ord ConnectFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-instance IsGFlag ConnectFlags
-
--- Flags BindingFlags
-{- |
-Flags to be passed to 'GI.GObject.Objects.Object.objectBindProperty' or
-@/g_object_bind_property_full()/@.
-
-This enumeration can be extended at later date.
-
-/Since: 2.26/
--}
-data BindingFlags = 
-      BindingFlagsDefault
-    {- ^
-    The default binding; if the source property
-      changes, the target property is updated with its value.
-    -}
-    | BindingFlagsBidirectional
-    {- ^
-    Bidirectional binding; if either the
-      property of the source or the property of the target changes,
-      the other is updated.
-    -}
-    | BindingFlagsSyncCreate
-    {- ^
-    Synchronize the values of the source and
-      target properties when creating the binding; the direction of
-      the synchronization is always from the source to the target.
-    -}
-    | BindingFlagsInvertBoolean
-    {- ^
-    If the two properties being bound are
-      booleans, setting one to 'True' will result in the other being
-      set to 'False' and vice versa. This flag will only work for
-      boolean properties, and cannot be used when passing custom
-      transformation functions to @/g_object_bind_property_full()/@.
-    -}
-    | AnotherBindingFlags Int
-    -- ^ Catch-all for unknown values
-    deriving (Show, Eq)
-
-instance P.Enum BindingFlags where
-    fromEnum BindingFlagsDefault = 0
-    fromEnum BindingFlagsBidirectional = 1
-    fromEnum BindingFlagsSyncCreate = 2
-    fromEnum BindingFlagsInvertBoolean = 4
-    fromEnum (AnotherBindingFlags k) = k
-
-    toEnum 0 = BindingFlagsDefault
-    toEnum 1 = BindingFlagsBidirectional
-    toEnum 2 = BindingFlagsSyncCreate
-    toEnum 4 = BindingFlagsInvertBoolean
-    toEnum k = AnotherBindingFlags k
-
-instance P.Ord BindingFlags where
-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)
-
-foreign import ccall "g_binding_flags_get_type" c_g_binding_flags_get_type :: 
-    IO GType
-
-instance BoxedFlags BindingFlags where
-    boxedFlagsType _ = c_g_binding_flags_get_type
-
-instance IsGFlag BindingFlags
-
-
diff --git a/GI/GObject/Flags.hs-boot b/GI/GObject/Flags.hs-boot
deleted file mode 100644
--- a/GI/GObject/Flags.hs-boot
+++ /dev/null
@@ -1,49 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Flags where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-data TypeFundamentalFlags
-instance P.Enum TypeFundamentalFlags where
-instance IsGFlag TypeFundamentalFlags
-data TypeFlags
-instance P.Enum TypeFlags where
-instance IsGFlag TypeFlags
-data TypeDebugFlags
-instance P.Enum TypeDebugFlags where
-instance IsGFlag TypeDebugFlags
-data SignalMatchType
-instance P.Enum SignalMatchType where
-instance IsGFlag SignalMatchType
-data SignalFlags
-instance P.Enum SignalFlags where
-instance IsGFlag SignalFlags
-data ParamFlags
-instance P.Enum ParamFlags where
-instance IsGFlag ParamFlags
-data ConnectFlags
-instance P.Enum ConnectFlags where
-instance IsGFlag ConnectFlags
-data BindingFlags
-instance P.Enum BindingFlags where
-instance BoxedFlags BindingFlags where
-instance IsGFlag BindingFlags
diff --git a/GI/GObject/Functions.hs b/GI/GObject/Functions.hs
deleted file mode 100644
--- a/GI/GObject/Functions.hs
+++ /dev/null
@@ -1,5118 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Functions
-    ( 
-
- -- * Methods
--- ** boxedCopy #method:boxedCopy#
-
-    boxedCopy                               ,
-
-
--- ** boxedFree #method:boxedFree#
-
-    boxedFree                               ,
-
-
--- ** enumCompleteTypeInfo #method:enumCompleteTypeInfo#
-
-    enumCompleteTypeInfo                    ,
-
-
--- ** enumGetValue #method:enumGetValue#
-
-    enumGetValue                            ,
-
-
--- ** enumGetValueByName #method:enumGetValueByName#
-
-    enumGetValueByName                      ,
-
-
--- ** enumGetValueByNick #method:enumGetValueByNick#
-
-    enumGetValueByNick                      ,
-
-
--- ** enumRegisterStatic #method:enumRegisterStatic#
-
-    enumRegisterStatic                      ,
-
-
--- ** enumToString #method:enumToString#
-
-    enumToString                            ,
-
-
--- ** flagsCompleteTypeInfo #method:flagsCompleteTypeInfo#
-
-    flagsCompleteTypeInfo                   ,
-
-
--- ** flagsGetFirstValue #method:flagsGetFirstValue#
-
-    flagsGetFirstValue                      ,
-
-
--- ** flagsGetValueByName #method:flagsGetValueByName#
-
-    flagsGetValueByName                     ,
-
-
--- ** flagsGetValueByNick #method:flagsGetValueByNick#
-
-    flagsGetValueByNick                     ,
-
-
--- ** flagsRegisterStatic #method:flagsRegisterStatic#
-
-    flagsRegisterStatic                     ,
-
-
--- ** flagsToString #method:flagsToString#
-
-    flagsToString                           ,
-
-
--- ** gtypeGetType #method:gtypeGetType#
-
-    gtypeGetType                            ,
-
-
--- ** paramSpecBoolean #method:paramSpecBoolean#
-
-    paramSpecBoolean                        ,
-
-
--- ** paramSpecBoxed #method:paramSpecBoxed#
-
-    paramSpecBoxed                          ,
-
-
--- ** paramSpecChar #method:paramSpecChar#
-
-    paramSpecChar                           ,
-
-
--- ** paramSpecDouble #method:paramSpecDouble#
-
-    paramSpecDouble                         ,
-
-
--- ** paramSpecEnum #method:paramSpecEnum#
-
-    paramSpecEnum                           ,
-
-
--- ** paramSpecFlags #method:paramSpecFlags#
-
-    paramSpecFlags                          ,
-
-
--- ** paramSpecFloat #method:paramSpecFloat#
-
-    paramSpecFloat                          ,
-
-
--- ** paramSpecGtype #method:paramSpecGtype#
-
-    paramSpecGtype                          ,
-
-
--- ** paramSpecInt #method:paramSpecInt#
-
-    paramSpecInt                            ,
-
-
--- ** paramSpecInt64 #method:paramSpecInt64#
-
-    paramSpecInt64                          ,
-
-
--- ** paramSpecLong #method:paramSpecLong#
-
-    paramSpecLong                           ,
-
-
--- ** paramSpecObject #method:paramSpecObject#
-
-    paramSpecObject                         ,
-
-
--- ** paramSpecParam #method:paramSpecParam#
-
-    paramSpecParam                          ,
-
-
--- ** paramSpecPointer #method:paramSpecPointer#
-
-    paramSpecPointer                        ,
-
-
--- ** paramSpecString #method:paramSpecString#
-
-    paramSpecString                         ,
-
-
--- ** paramSpecUchar #method:paramSpecUchar#
-
-    paramSpecUchar                          ,
-
-
--- ** paramSpecUint #method:paramSpecUint#
-
-    paramSpecUint                           ,
-
-
--- ** paramSpecUint64 #method:paramSpecUint64#
-
-    paramSpecUint64                         ,
-
-
--- ** paramSpecUlong #method:paramSpecUlong#
-
-    paramSpecUlong                          ,
-
-
--- ** paramSpecUnichar #method:paramSpecUnichar#
-
-    paramSpecUnichar                        ,
-
-
--- ** paramSpecVariant #method:paramSpecVariant#
-
-    paramSpecVariant                        ,
-
-
--- ** paramTypeRegisterStatic #method:paramTypeRegisterStatic#
-
-    paramTypeRegisterStatic                 ,
-
-
--- ** paramValueConvert #method:paramValueConvert#
-
-    paramValueConvert                       ,
-
-
--- ** paramValueDefaults #method:paramValueDefaults#
-
-    paramValueDefaults                      ,
-
-
--- ** paramValueSetDefault #method:paramValueSetDefault#
-
-    paramValueSetDefault                    ,
-
-
--- ** paramValueValidate #method:paramValueValidate#
-
-    paramValueValidate                      ,
-
-
--- ** paramValuesCmp #method:paramValuesCmp#
-
-    paramValuesCmp                          ,
-
-
--- ** pointerTypeRegisterStatic #method:pointerTypeRegisterStatic#
-
-    pointerTypeRegisterStatic               ,
-
-
--- ** signalAccumulatorFirstWins #method:signalAccumulatorFirstWins#
-
-    signalAccumulatorFirstWins              ,
-
-
--- ** signalAccumulatorTrueHandled #method:signalAccumulatorTrueHandled#
-
-    signalAccumulatorTrueHandled            ,
-
-
--- ** signalAddEmissionHook #method:signalAddEmissionHook#
-
-    signalAddEmissionHook                   ,
-
-
--- ** signalChainFromOverridden #method:signalChainFromOverridden#
-
-    signalChainFromOverridden               ,
-
-
--- ** signalConnectClosure #method:signalConnectClosure#
-
-    signalConnectClosure                    ,
-
-
--- ** signalConnectClosureById #method:signalConnectClosureById#
-
-    signalConnectClosureById                ,
-
-
--- ** signalEmitv #method:signalEmitv#
-
-    signalEmitv                             ,
-
-
--- ** signalGetInvocationHint #method:signalGetInvocationHint#
-
-    signalGetInvocationHint                 ,
-
-
--- ** signalHandlerBlock #method:signalHandlerBlock#
-
-    signalHandlerBlock                      ,
-
-
--- ** signalHandlerDisconnect #method:signalHandlerDisconnect#
-
-    signalHandlerDisconnect                 ,
-
-
--- ** signalHandlerFind #method:signalHandlerFind#
-
-    signalHandlerFind                       ,
-
-
--- ** signalHandlerIsConnected #method:signalHandlerIsConnected#
-
-    signalHandlerIsConnected                ,
-
-
--- ** signalHandlerUnblock #method:signalHandlerUnblock#
-
-    signalHandlerUnblock                    ,
-
-
--- ** signalHandlersBlockMatched #method:signalHandlersBlockMatched#
-
-    signalHandlersBlockMatched              ,
-
-
--- ** signalHandlersDestroy #method:signalHandlersDestroy#
-
-    signalHandlersDestroy                   ,
-
-
--- ** signalHandlersDisconnectMatched #method:signalHandlersDisconnectMatched#
-
-    signalHandlersDisconnectMatched         ,
-
-
--- ** signalHandlersUnblockMatched #method:signalHandlersUnblockMatched#
-
-    signalHandlersUnblockMatched            ,
-
-
--- ** signalHasHandlerPending #method:signalHasHandlerPending#
-
-    signalHasHandlerPending                 ,
-
-
--- ** signalListIds #method:signalListIds#
-
-    signalListIds                           ,
-
-
--- ** signalLookup #method:signalLookup#
-
-    signalLookup                            ,
-
-
--- ** signalName #method:signalName#
-
-    signalName                              ,
-
-
--- ** signalOverrideClassClosure #method:signalOverrideClassClosure#
-
-    signalOverrideClassClosure              ,
-
-
--- ** signalParseName #method:signalParseName#
-
-    signalParseName                         ,
-
-
--- ** signalQuery #method:signalQuery#
-
-    signalQuery                             ,
-
-
--- ** signalRemoveEmissionHook #method:signalRemoveEmissionHook#
-
-    signalRemoveEmissionHook                ,
-
-
--- ** signalStopEmission #method:signalStopEmission#
-
-    signalStopEmission                      ,
-
-
--- ** signalStopEmissionByName #method:signalStopEmissionByName#
-
-    signalStopEmissionByName                ,
-
-
--- ** signalTypeCclosureNew #method:signalTypeCclosureNew#
-
-    signalTypeCclosureNew                   ,
-
-
--- ** sourceSetClosure #method:sourceSetClosure#
-
-    sourceSetClosure                        ,
-
-
--- ** sourceSetDummyCallback #method:sourceSetDummyCallback#
-
-    sourceSetDummyCallback                  ,
-
-
--- ** strdupValueContents #method:strdupValueContents#
-
-    strdupValueContents                     ,
-
-
--- ** typeAddClassPrivate #method:typeAddClassPrivate#
-
-    typeAddClassPrivate                     ,
-
-
--- ** typeAddInstancePrivate #method:typeAddInstancePrivate#
-
-    typeAddInstancePrivate                  ,
-
-
--- ** typeAddInterfaceDynamic #method:typeAddInterfaceDynamic#
-
-    typeAddInterfaceDynamic                 ,
-
-
--- ** typeAddInterfaceStatic #method:typeAddInterfaceStatic#
-
-    typeAddInterfaceStatic                  ,
-
-
--- ** typeCheckClassIsA #method:typeCheckClassIsA#
-
-    typeCheckClassIsA                       ,
-
-
--- ** typeCheckInstance #method:typeCheckInstance#
-
-    typeCheckInstance                       ,
-
-
--- ** typeCheckInstanceIsA #method:typeCheckInstanceIsA#
-
-    typeCheckInstanceIsA                    ,
-
-
--- ** typeCheckInstanceIsFundamentallyA #method:typeCheckInstanceIsFundamentallyA#
-
-    typeCheckInstanceIsFundamentallyA       ,
-
-
--- ** typeCheckIsValueType #method:typeCheckIsValueType#
-
-    typeCheckIsValueType                    ,
-
-
--- ** typeCheckValue #method:typeCheckValue#
-
-    typeCheckValue                          ,
-
-
--- ** typeCheckValueHolds #method:typeCheckValueHolds#
-
-    typeCheckValueHolds                     ,
-
-
--- ** typeChildren #method:typeChildren#
-
-    typeChildren                            ,
-
-
--- ** typeDefaultInterfacePeek #method:typeDefaultInterfacePeek#
-
-    typeDefaultInterfacePeek                ,
-
-
--- ** typeDefaultInterfaceRef #method:typeDefaultInterfaceRef#
-
-    typeDefaultInterfaceRef                 ,
-
-
--- ** typeDefaultInterfaceUnref #method:typeDefaultInterfaceUnref#
-
-    typeDefaultInterfaceUnref               ,
-
-
--- ** typeDepth #method:typeDepth#
-
-    typeDepth                               ,
-
-
--- ** typeEnsure #method:typeEnsure#
-
-    typeEnsure                              ,
-
-
--- ** typeFreeInstance #method:typeFreeInstance#
-
-    typeFreeInstance                        ,
-
-
--- ** typeFromName #method:typeFromName#
-
-    typeFromName                            ,
-
-
--- ** typeFundamental #method:typeFundamental#
-
-    typeFundamental                         ,
-
-
--- ** typeFundamentalNext #method:typeFundamentalNext#
-
-    typeFundamentalNext                     ,
-
-
--- ** typeGetInstanceCount #method:typeGetInstanceCount#
-
-    typeGetInstanceCount                    ,
-
-
--- ** typeGetPlugin #method:typeGetPlugin#
-
-    typeGetPlugin                           ,
-
-
--- ** typeGetQdata #method:typeGetQdata#
-
-    typeGetQdata                            ,
-
-
--- ** typeGetTypeRegistrationSerial #method:typeGetTypeRegistrationSerial#
-
-    typeGetTypeRegistrationSerial           ,
-
-
--- ** typeInit #method:typeInit#
-
-    typeInit                                ,
-
-
--- ** typeInitWithDebugFlags #method:typeInitWithDebugFlags#
-
-    typeInitWithDebugFlags                  ,
-
-
--- ** typeInterfaces #method:typeInterfaces#
-
-    typeInterfaces                          ,
-
-
--- ** typeIsA #method:typeIsA#
-
-    typeIsA                                 ,
-
-
--- ** typeName #method:typeName#
-
-    typeName                                ,
-
-
--- ** typeNameFromClass #method:typeNameFromClass#
-
-    typeNameFromClass                       ,
-
-
--- ** typeNameFromInstance #method:typeNameFromInstance#
-
-    typeNameFromInstance                    ,
-
-
--- ** typeNextBase #method:typeNextBase#
-
-    typeNextBase                            ,
-
-
--- ** typeParent #method:typeParent#
-
-    typeParent                              ,
-
-
--- ** typeQname #method:typeQname#
-
-    typeQname                               ,
-
-
--- ** typeQuery #method:typeQuery#
-
-    typeQuery                               ,
-
-
--- ** typeRegisterDynamic #method:typeRegisterDynamic#
-
-    typeRegisterDynamic                     ,
-
-
--- ** typeRegisterFundamental #method:typeRegisterFundamental#
-
-    typeRegisterFundamental                 ,
-
-
--- ** typeRegisterStatic #method:typeRegisterStatic#
-
-    typeRegisterStatic                      ,
-
-
--- ** typeSetQdata #method:typeSetQdata#
-
-    typeSetQdata                            ,
-
-
--- ** typeTestFlags #method:typeTestFlags#
-
-    typeTestFlags                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GLib.Callbacks as GLib.Callbacks
-import qualified GI.GLib.Structs.Source as GLib.Source
-import qualified GI.GLib.Structs.VariantType as GLib.VariantType
-import qualified GI.GObject.Callbacks as GObject.Callbacks
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-import {-# SOURCE #-} qualified GI.GObject.Interfaces.TypePlugin as GObject.TypePlugin
-import {-# SOURCE #-} qualified GI.GObject.Objects.Object as GObject.Object
-import {-# SOURCE #-} qualified GI.GObject.Structs.EnumClass as GObject.EnumClass
-import {-# SOURCE #-} qualified GI.GObject.Structs.EnumValue as GObject.EnumValue
-import {-# SOURCE #-} qualified GI.GObject.Structs.FlagsClass as GObject.FlagsClass
-import {-# SOURCE #-} qualified GI.GObject.Structs.FlagsValue as GObject.FlagsValue
-import {-# SOURCE #-} qualified GI.GObject.Structs.InterfaceInfo as GObject.InterfaceInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.ParamSpecTypeInfo as GObject.ParamSpecTypeInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.SignalInvocationHint as GObject.SignalInvocationHint
-import {-# SOURCE #-} qualified GI.GObject.Structs.SignalQuery as GObject.SignalQuery
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeClass as GObject.TypeClass
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeFundamentalInfo as GObject.TypeFundamentalInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInfo as GObject.TypeInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInstance as GObject.TypeInstance
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInterface as GObject.TypeInterface
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeQuery as GObject.TypeQuery
-
--- function g_type_test_flags
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_test_flags" g_type_test_flags :: 
-    CGType ->                               -- type : TBasicType TGType
-    Word32 ->                               -- flags : TBasicType TUInt
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeTestFlags ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    -> Word32
-    -> m Bool
-typeTestFlags type_ flags = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_test_flags type_' flags
-    let result' = (/= 0) result
-    return result'
-
-
--- function g_type_set_qdata
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQuark id to identify the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_set_qdata" g_type_set_qdata :: 
-    CGType ->                               -- type : TBasicType TGType
-    Word32 ->                               -- quark : TBasicType TUInt32
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO ()
-
-{- |
-Attaches arbitrary data to a type.
--}
-typeSetQdata ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: a 'GType' -}
-    -> Word32
-    {- ^ /@quark@/: a @/GQuark/@ id to identify the data -}
-    -> Ptr ()
-    {- ^ /@data@/: the data -}
-    -> m ()
-typeSetQdata type_ quark data_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    g_type_set_qdata type_' quark data_
-    return ()
-
-
--- function g_type_register_static
--- Args : [Arg {argCName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type from which this type will be derived", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "0-terminated string used as the name of the new type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTypeInfo structure for this type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "TypeFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitwise combination of #GTypeFlags values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_register_static" g_type_register_static :: 
-    CGType ->                               -- parent_type : TBasicType TGType
-    CString ->                              -- type_name : TBasicType TUTF8
-    Ptr GObject.TypeInfo.TypeInfo ->        -- info : TInterface (Name {namespace = "GObject", name = "TypeInfo"})
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "TypeFlags"})
-    IO CGType
-
-{- |
-Registers /@typeName@/ as the name of a new static type derived from
-/@parentType@/. The type system uses the information contained in the
-'GI.GObject.Structs.TypeInfo.TypeInfo' structure pointed to by /@info@/ to manage the type and its
-instances (if not abstract). The value of /@flags@/ determines the nature
-(e.g. abstract or not) of the type.
--}
-typeRegisterStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@parentType@/: type from which this type will be derived -}
-    -> T.Text
-    {- ^ /@typeName@/: 0-terminated string used as the name of the new type -}
-    -> GObject.TypeInfo.TypeInfo
-    {- ^ /@info@/: 'GI.GObject.Structs.TypeInfo.TypeInfo' structure for this type -}
-    -> [GObject.Flags.TypeFlags]
-    {- ^ /@flags@/: bitwise combination of 'GI.GObject.Flags.TypeFlags' values -}
-    -> m GType
-    {- ^ __Returns:__ the new type identifier -}
-typeRegisterStatic parentType typeName info flags = liftIO $ do
-    let parentType' = gtypeToCGType parentType
-    typeName' <- textToCString typeName
-    info' <- unsafeManagedPtrGetPtr info
-    let flags' = gflagsToWord flags
-    result <- g_type_register_static parentType' typeName' info' flags'
-    let result' = GType result
-    touchManagedPtr info
-    freeMem typeName'
-    return result'
-
-
--- function g_type_register_fundamental
--- Args : [Arg {argCName = "type_id", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a predefined type identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "0-terminated string used as the name of the new type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTypeInfo structure for this type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "finfo", argType = TInterface (Name {namespace = "GObject", name = "TypeFundamentalInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTypeFundamentalInfo structure for this type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "TypeFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitwise combination of #GTypeFlags values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_register_fundamental" g_type_register_fundamental :: 
-    CGType ->                               -- type_id : TBasicType TGType
-    CString ->                              -- type_name : TBasicType TUTF8
-    Ptr GObject.TypeInfo.TypeInfo ->        -- info : TInterface (Name {namespace = "GObject", name = "TypeInfo"})
-    Ptr GObject.TypeFundamentalInfo.TypeFundamentalInfo -> -- finfo : TInterface (Name {namespace = "GObject", name = "TypeFundamentalInfo"})
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "TypeFlags"})
-    IO CGType
-
-{- |
-Registers /@typeId@/ as the predefined identifier and /@typeName@/ as the
-name of a fundamental type. If /@typeId@/ is already registered, or a
-type named /@typeName@/ is already registered, the behaviour is undefined.
-The type system uses the information contained in the 'GI.GObject.Structs.TypeInfo.TypeInfo' structure
-pointed to by /@info@/ and the 'GI.GObject.Structs.TypeFundamentalInfo.TypeFundamentalInfo' structure pointed to by
-/@finfo@/ to manage the type and its instances. The value of /@flags@/ determines
-additional characteristics of the fundamental type.
--}
-typeRegisterFundamental ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@typeId@/: a predefined type identifier -}
-    -> T.Text
-    {- ^ /@typeName@/: 0-terminated string used as the name of the new type -}
-    -> GObject.TypeInfo.TypeInfo
-    {- ^ /@info@/: 'GI.GObject.Structs.TypeInfo.TypeInfo' structure for this type -}
-    -> GObject.TypeFundamentalInfo.TypeFundamentalInfo
-    {- ^ /@finfo@/: 'GI.GObject.Structs.TypeFundamentalInfo.TypeFundamentalInfo' structure for this type -}
-    -> [GObject.Flags.TypeFlags]
-    {- ^ /@flags@/: bitwise combination of 'GI.GObject.Flags.TypeFlags' values -}
-    -> m GType
-    {- ^ __Returns:__ the predefined type identifier -}
-typeRegisterFundamental typeId typeName info finfo flags = liftIO $ do
-    let typeId' = gtypeToCGType typeId
-    typeName' <- textToCString typeName
-    info' <- unsafeManagedPtrGetPtr info
-    finfo' <- unsafeManagedPtrGetPtr finfo
-    let flags' = gflagsToWord flags
-    result <- g_type_register_fundamental typeId' typeName' info' finfo' flags'
-    let result' = GType result
-    touchManagedPtr info
-    touchManagedPtr finfo
-    freeMem typeName'
-    return result'
-
-
--- function g_type_register_dynamic
--- Args : [Arg {argCName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type from which this type will be derived", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "0-terminated string used as the name of the new type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTypePlugin structure to retrieve the #GTypeInfo from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "TypeFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitwise combination of #GTypeFlags values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_register_dynamic" g_type_register_dynamic :: 
-    CGType ->                               -- parent_type : TBasicType TGType
-    CString ->                              -- type_name : TBasicType TUTF8
-    Ptr GObject.TypePlugin.TypePlugin ->    -- plugin : TInterface (Name {namespace = "GObject", name = "TypePlugin"})
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "TypeFlags"})
-    IO CGType
-
-{- |
-Registers /@typeName@/ as the name of a new dynamic type derived from
-/@parentType@/.  The type system uses the information contained in the
-'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure pointed to by /@plugin@/ to manage the type and its
-instances (if not abstract).  The value of /@flags@/ determines the nature
-(e.g. abstract or not) of the type.
--}
-typeRegisterDynamic ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.TypePlugin.IsTypePlugin a) =>
-    GType
-    {- ^ /@parentType@/: type from which this type will be derived -}
-    -> T.Text
-    {- ^ /@typeName@/: 0-terminated string used as the name of the new type -}
-    -> a
-    {- ^ /@plugin@/: 'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure to retrieve the 'GI.GObject.Structs.TypeInfo.TypeInfo' from -}
-    -> [GObject.Flags.TypeFlags]
-    {- ^ /@flags@/: bitwise combination of 'GI.GObject.Flags.TypeFlags' values -}
-    -> m GType
-    {- ^ __Returns:__ the new type identifier or @/G_TYPE_INVALID/@ if registration failed -}
-typeRegisterDynamic parentType typeName plugin flags = liftIO $ do
-    let parentType' = gtypeToCGType parentType
-    typeName' <- textToCString typeName
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    let flags' = gflagsToWord flags
-    result <- g_type_register_dynamic parentType' typeName' plugin' flags'
-    let result' = GType result
-    touchManagedPtr plugin
-    freeMem typeName'
-    return result'
-
-
--- function g_type_query
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType of a static, classed type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "GObject", name = "TypeQuery"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a user provided structure that is\n    filled in with constant values upon success", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_query" g_type_query :: 
-    CGType ->                               -- type : TBasicType TGType
-    Ptr GObject.TypeQuery.TypeQuery ->      -- query : TInterface (Name {namespace = "GObject", name = "TypeQuery"})
-    IO ()
-
-{- |
-Queries the type system for information about a specific type.
-This function will fill in a user-provided structure to hold
-type-specific information. If an invalid 'GType' is passed in, the
-/@type@/ member of the 'GI.GObject.Structs.TypeQuery.TypeQuery' is 0. All members filled into the
-'GI.GObject.Structs.TypeQuery.TypeQuery' structure should be considered constant and have to be
-left untouched.
--}
-typeQuery ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: 'GType' of a static, classed type -}
-    -> m (GObject.TypeQuery.TypeQuery)
-typeQuery type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    query <- callocBytes 24 :: IO (Ptr GObject.TypeQuery.TypeQuery)
-    g_type_query type_' query
-    query' <- (wrapPtr GObject.TypeQuery.TypeQuery) query
-    return query'
-
-
--- function g_type_qname
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type to return quark of type name for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt32)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_qname" g_type_qname :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO Word32
-
-{- |
-Get the corresponding quark of the type IDs name.
--}
-typeQname ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: type to return quark of type name for -}
-    -> m Word32
-    {- ^ __Returns:__ the type names quark or 0 -}
-typeQname type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_qname type_'
-    return result
-
-
--- function g_type_parent
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the derived type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_parent" g_type_parent :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO CGType
-
-{- |
-Return the direct parent type of the passed in type. If the passed
-in type has no parent, i.e. is a fundamental type, 0 is returned.
--}
-typeParent ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: the derived type -}
-    -> m GType
-    {- ^ __Returns:__ the parent type -}
-typeParent type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_parent type_'
-    let result' = GType result
-    return result'
-
-
--- function g_type_next_base
--- Args : [Arg {argCName = "leaf_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "descendant of @root_type and the type to be returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "immediate parent of the returned type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_next_base" g_type_next_base :: 
-    CGType ->                               -- leaf_type : TBasicType TGType
-    CGType ->                               -- root_type : TBasicType TGType
-    IO CGType
-
-{- |
-Given a /@leafType@/ and a /@rootType@/ which is contained in its
-anchestry, return the type that /@rootType@/ is the immediate parent
-of. In other words, this function determines the type that is
-derived directly from /@rootType@/ which is also a base class of
-/@leafType@/.  Given a root type and a leaf type, this function can
-be used to determine the types and order in which the leaf type is
-descended from the root type.
--}
-typeNextBase ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@leafType@/: descendant of /@rootType@/ and the type to be returned -}
-    -> GType
-    {- ^ /@rootType@/: immediate parent of the returned type -}
-    -> m GType
-    {- ^ __Returns:__ immediate child of /@rootType@/ and anchestor of /@leafType@/ -}
-typeNextBase leafType rootType = liftIO $ do
-    let leafType' = gtypeToCGType leafType
-    let rootType' = gtypeToCGType rootType
-    result <- g_type_next_base leafType' rootType'
-    let result' = GType result
-    return result'
-
-
--- function g_type_name_from_instance
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_name_from_instance" g_type_name_from_instance :: 
-    Ptr GObject.TypeInstance.TypeInstance -> -- instance : TInterface (Name {namespace = "GObject", name = "TypeInstance"})
-    IO CString
-
-{- |
-/No description available in the introspection data./
--}
-typeNameFromInstance ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInstance.TypeInstance
-    -> m T.Text
-typeNameFromInstance instance_ = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    result <- g_type_name_from_instance instance_'
-    checkUnexpectedReturnNULL "typeNameFromInstance" result
-    result' <- cstringToText result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_type_name_from_class
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_name_from_class" g_type_name_from_class :: 
-    Ptr GObject.TypeClass.TypeClass ->      -- g_class : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    IO CString
-
-{- |
-/No description available in the introspection data./
--}
-typeNameFromClass ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeClass.TypeClass
-    -> m T.Text
-typeNameFromClass gClass = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    result <- g_type_name_from_class gClass'
-    checkUnexpectedReturnNULL "typeNameFromClass" result
-    result' <- cstringToText result
-    touchManagedPtr gClass
-    return result'
-
-
--- function g_type_name
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type to return name for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_name" g_type_name :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO CString
-
-{- |
-Get the unique name that is assigned to a type ID.  Note that this
-function (like all other GType API) cannot cope with invalid type
-IDs. @/G_TYPE_INVALID/@ may be passed to this function, as may be any
-other validly registered type ID, but randomized type IDs should
-not be passed in and will most likely lead to a crash.
--}
-typeName ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: type to return name for -}
-    -> m T.Text
-    {- ^ __Returns:__ static type name or 'Nothing' -}
-typeName type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_name type_'
-    checkUnexpectedReturnNULL "typeName" result
-    result' <- cstringToText result
-    return result'
-
-
--- function g_type_is_a
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type to check anchestry for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "possible anchestor of @type or interface that @type\n    could conform to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_is_a" g_type_is_a :: 
-    CGType ->                               -- type : TBasicType TGType
-    CGType ->                               -- is_a_type : TBasicType TGType
-    IO CInt
-
-{- |
-If /@isAType@/ is a derivable type, check whether /@type@/ is a
-descendant of /@isAType@/. If /@isAType@/ is an interface, check
-whether /@type@/ conforms to it.
--}
-typeIsA ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: type to check anchestry for -}
-    -> GType
-    {- ^ /@isAType@/: possible anchestor of /@type@/ or interface that /@type@/
-    could conform to -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' if /@type@/ is a /@isAType@/ -}
-typeIsA type_ isAType = liftIO $ do
-    let type_' = gtypeToCGType type_
-    let isAType' = gtypeToCGType isAType
-    result <- g_type_is_a type_' isAType'
-    let result' = (/= 0) result
-    return result'
-
-
--- function g_type_interfaces
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type to list interface types for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_interfaces", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the length of\n    the returned array, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_interfaces", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the length of\n    the returned array, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- returnType : Just (TCArray False (-1) 1 (TBasicType TGType))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interfaces" g_type_interfaces :: 
-    CGType ->                               -- type : TBasicType TGType
-    Ptr Word32 ->                           -- n_interfaces : TBasicType TUInt
-    IO (Ptr CGType)
-
-{- |
-Return a newly allocated and 0-terminated array of type IDs, listing
-the interface types that /@type@/ conforms to.
--}
-typeInterfaces ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: the type to list interface types for -}
-    -> m [GType]
-    {- ^ __Returns:__ Newly allocated
-    and 0-terminated array of interface types, free with 'GI.GLib.Functions.free' -}
-typeInterfaces type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    nInterfaces <- allocMem :: IO (Ptr Word32)
-    result <- g_type_interfaces type_' nInterfaces
-    nInterfaces' <- peek nInterfaces
-    checkUnexpectedReturnNULL "typeInterfaces" result
-    result' <- (unpackMapStorableArrayWithLength GType nInterfaces') result
-    freeMem result
-    freeMem nInterfaces
-    return result'
-
-
--- function g_type_init_with_debug_flags
--- Args : [Arg {argCName = "debug_flags", argType = TInterface (Name {namespace = "GObject", name = "TypeDebugFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitwise combination of #GTypeDebugFlags values for\n    debugging purposes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_init_with_debug_flags" g_type_init_with_debug_flags :: 
-    CUInt ->                                -- debug_flags : TInterface (Name {namespace = "GObject", name = "TypeDebugFlags"})
-    IO ()
-
-{-# DEPRECATED typeInitWithDebugFlags ["(Since version 2.36)","the type system is now initialised automatically"] #-}
-{- |
-This function used to initialise the type system with debugging
-flags.  Since GLib 2.36, the type system is initialised automatically
-and this function does nothing.
-
-If you need to enable debugging features, use the GOBJECT_DEBUG
-environment variable.
--}
-typeInitWithDebugFlags ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    [GObject.Flags.TypeDebugFlags]
-    {- ^ /@debugFlags@/: bitwise combination of 'GI.GObject.Flags.TypeDebugFlags' values for
-    debugging purposes -}
-    -> m ()
-typeInitWithDebugFlags debugFlags = liftIO $ do
-    let debugFlags' = gflagsToWord debugFlags
-    g_type_init_with_debug_flags debugFlags'
-    return ()
-
-
--- function g_type_init
--- Args : []
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_init" g_type_init :: 
-    IO ()
-
-{-# DEPRECATED typeInit ["(Since version 2.36)","the type system is now initialised automatically"] #-}
-{- |
-This function used to initialise the type system.  Since GLib 2.36,
-the type system is initialised automatically and this function does
-nothing.
--}
-typeInit ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    m ()
-typeInit  = liftIO $ do
-    g_type_init
-    return ()
-
-
--- function g_type_get_type_registration_serial
--- Args : []
--- Lengths : []
--- returnType : Just (TBasicType TUInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_get_type_registration_serial" g_type_get_type_registration_serial :: 
-    IO Word32
-
-{- |
-Returns an opaque serial number that represents the state of the set
-of registered types. Any time a type is registered this serial changes,
-which means you can cache information based on type lookups (such as
-'GI.GObject.Functions.typeFromName') and know if the cache is still valid at a later
-time by comparing the current serial with the one at the type lookup.
-
-/Since: 2.36/
--}
-typeGetTypeRegistrationSerial ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    m Word32
-    {- ^ __Returns:__ An unsigned int, representing the state of type registrations -}
-typeGetTypeRegistrationSerial  = liftIO $ do
-    result <- g_type_get_type_registration_serial
-    return result
-
-
--- function g_type_get_qdata
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQuark id to identify the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_get_qdata" g_type_get_qdata :: 
-    CGType ->                               -- type : TBasicType TGType
-    Word32 ->                               -- quark : TBasicType TUInt32
-    IO (Ptr ())
-
-{- |
-Obtains data which has previously been attached to /@type@/
-with 'GI.GObject.Functions.typeSetQdata'.
-
-Note that this does not take subtyping into account; data
-attached to one type with 'GI.GObject.Functions.typeSetQdata' cannot
-be retrieved from a subtype using 'GI.GObject.Functions.typeGetQdata'.
--}
-typeGetQdata ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: a 'GType' -}
-    -> Word32
-    {- ^ /@quark@/: a @/GQuark/@ id to identify the data -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ the data, or 'Nothing' if no data was found -}
-typeGetQdata type_ quark = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_get_qdata type_' quark
-    return result
-
-
--- function g_type_get_plugin
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType to retrieve the plugin for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypePlugin"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_get_plugin" g_type_get_plugin :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO (Ptr GObject.TypePlugin.TypePlugin)
-
-{- |
-Returns the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure for /@type@/.
--}
-typeGetPlugin ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: 'GType' to retrieve the plugin for -}
-    -> m GObject.TypePlugin.TypePlugin
-    {- ^ __Returns:__ the corresponding plugin
-    if /@type@/ is a dynamic type, 'Nothing' otherwise -}
-typeGetPlugin type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_get_plugin type_'
-    checkUnexpectedReturnNULL "typeGetPlugin" result
-    result' <- (newPtr GObject.TypePlugin.TypePlugin) result
-    return result'
-
-
--- function g_type_get_instance_count
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_get_instance_count" g_type_get_instance_count :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO Int32
-
-{- |
-Returns the number of instances allocated of the particular type;
-this is only available if GLib is built with debugging support and
-the instance_count debug flag is set (by setting the GOBJECT_DEBUG
-variable to include instance-count).
-
-/Since: 2.44/
--}
-typeGetInstanceCount ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: a 'GType' -}
-    -> m Int32
-    {- ^ __Returns:__ the number of instances allocated of the given type;
-  if instance counts are not available, returns 0. -}
-typeGetInstanceCount type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_get_instance_count type_'
-    return result
-
-
--- function g_type_fundamental_next
--- Args : []
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_fundamental_next" g_type_fundamental_next :: 
-    IO CGType
-
-{- |
-Returns the next free fundamental type id which can be used to
-register a new fundamental type with 'GI.GObject.Functions.typeRegisterFundamental'.
-The returned type ID represents the highest currently registered
-fundamental type identifier.
--}
-typeFundamentalNext ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    m GType
-    {- ^ __Returns:__ the next available fundamental type ID to be registered,
-    or 0 if the type system ran out of fundamental type IDs -}
-typeFundamentalNext  = liftIO $ do
-    result <- g_type_fundamental_next
-    let result' = GType result
-    return result'
-
-
--- function g_type_fundamental
--- Args : [Arg {argCName = "type_id", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid type ID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_fundamental" g_type_fundamental :: 
-    CGType ->                               -- type_id : TBasicType TGType
-    IO CGType
-
-{- |
-Internal function, used to extract the fundamental type ID portion.
-Use @/G_TYPE_FUNDAMENTAL()/@ instead.
--}
-typeFundamental ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@typeId@/: valid type ID -}
-    -> m GType
-    {- ^ __Returns:__ fundamental type ID -}
-typeFundamental typeId = liftIO $ do
-    let typeId' = gtypeToCGType typeId
-    result <- g_type_fundamental typeId'
-    let result' = GType result
-    return result'
-
-
--- function g_type_from_name
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type name to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_from_name" g_type_from_name :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CGType
-
-{- |
-Lookup the type ID from a given type name, returning 0 if no type
-has been registered under this name (this is the preferred method
-to find out by name whether a specific type has been registered
-yet).
--}
-typeFromName ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: type name to lookup -}
-    -> m GType
-    {- ^ __Returns:__ corresponding type ID or 0 -}
-typeFromName name = liftIO $ do
-    name' <- textToCString name
-    result <- g_type_from_name name'
-    let result' = GType result
-    freeMem name'
-    return result'
-
-
--- function g_type_free_instance
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an instance of a type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_free_instance" g_type_free_instance :: 
-    Ptr GObject.TypeInstance.TypeInstance -> -- instance : TInterface (Name {namespace = "GObject", name = "TypeInstance"})
-    IO ()
-
-{- |
-Frees an instance of a type, returning it to the instance pool for
-the type, if there is one.
-
-Like @/g_type_create_instance()/@, this function is reserved for
-implementors of fundamental types.
--}
-typeFreeInstance ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInstance.TypeInstance
-    {- ^ /@instance@/: an instance of a type -}
-    -> m ()
-typeFreeInstance instance_ = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    g_type_free_instance instance_'
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_type_ensure
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_ensure" g_type_ensure :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO ()
-
-{- |
-Ensures that the indicated /@type@/ has been registered with the
-type system, and its @/_class_init()/@ method has been run.
-
-In theory, simply calling the type\'s @/_get_type()/@ method (or using
-the corresponding macro) is supposed take care of this. However,
-@/_get_type()/@ methods are often marked @/G_GNUC_CONST/@ for performance
-reasons, even though this is technically incorrect (since
-@/G_GNUC_CONST/@ requires that the function not have side effects,
-which @/_get_type()/@ methods do on the first call). As a result, if
-you write a bare call to a @/_get_type()/@ macro, it may get optimized
-out by the compiler. Using 'GI.GObject.Functions.typeEnsure' guarantees that the
-type\'s @/_get_type()/@ method is called.
-
-/Since: 2.34/
--}
-typeEnsure ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: a 'GType' -}
-    -> m ()
-typeEnsure type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    g_type_ensure type_'
-    return ()
-
-
--- function g_type_depth
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_depth" g_type_depth :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO Word32
-
-{- |
-Returns the length of the ancestry of the passed in type. This
-includes the type itself, so that e.g. a fundamental type has depth 1.
--}
-typeDepth ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: a 'GType' -}
-    -> m Word32
-    {- ^ __Returns:__ the depth of /@type@/ -}
-typeDepth type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_depth type_'
-    return result
-
-
--- function g_type_default_interface_unref
--- Args : [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default vtable\n    structure for a interface, as returned by g_type_default_interface_ref()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_default_interface_unref" g_type_default_interface_unref :: 
-    Ptr GObject.TypeInterface.TypeInterface -> -- g_iface : TInterface (Name {namespace = "GObject", name = "TypeInterface"})
-    IO ()
-
-{- |
-Decrements the reference count for the type corresponding to the
-interface default vtable /@gIface@/. If the type is dynamic, then
-when no one is using the interface and all references have
-been released, the finalize function for the interface\'s default
-vtable (the /@classFinalize@/ member of 'GI.GObject.Structs.TypeInfo.TypeInfo') will be called.
-
-/Since: 2.4/
--}
-typeDefaultInterfaceUnref ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: the default vtable
-    structure for a interface, as returned by 'GI.GObject.Functions.typeDefaultInterfaceRef' -}
-    -> m ()
-typeDefaultInterfaceUnref gIface = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    g_type_default_interface_unref gIface'
-    touchManagedPtr gIface
-    return ()
-
-
--- function g_type_default_interface_ref
--- Args : [Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeInterface"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_default_interface_ref" g_type_default_interface_ref :: 
-    CGType ->                               -- g_type : TBasicType TGType
-    IO (Ptr GObject.TypeInterface.TypeInterface)
-
-{- |
-Increments the reference count for the interface type /@gType@/,
-and returns the default interface vtable for the type.
-
-If the type is not currently in use, then the default vtable
-for the type will be created and initalized by calling
-the base interface init and default vtable init functions for
-the type (the /@baseInit@/ and /@classInit@/ members of 'GI.GObject.Structs.TypeInfo.TypeInfo').
-Calling 'GI.GObject.Functions.typeDefaultInterfaceRef' is useful when you
-want to make sure that signals and properties for an interface
-have been installed.
-
-/Since: 2.4/
--}
-typeDefaultInterfaceRef ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@gType@/: an interface type -}
-    -> m GObject.TypeInterface.TypeInterface
-    {- ^ __Returns:__ the default
-    vtable for the interface; call 'GI.GObject.Functions.typeDefaultInterfaceUnref'
-    when you are done using the interface. -}
-typeDefaultInterfaceRef gType = liftIO $ do
-    let gType' = gtypeToCGType gType
-    result <- g_type_default_interface_ref gType'
-    checkUnexpectedReturnNULL "typeDefaultInterfaceRef" result
-    result' <- (newPtr GObject.TypeInterface.TypeInterface) result
-    return result'
-
-
--- function g_type_default_interface_peek
--- Args : [Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeInterface"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_default_interface_peek" g_type_default_interface_peek :: 
-    CGType ->                               -- g_type : TBasicType TGType
-    IO (Ptr GObject.TypeInterface.TypeInterface)
-
-{- |
-If the interface type /@gType@/ is currently in use, returns its
-default interface vtable.
-
-/Since: 2.4/
--}
-typeDefaultInterfacePeek ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@gType@/: an interface type -}
-    -> m GObject.TypeInterface.TypeInterface
-    {- ^ __Returns:__ the default
-    vtable for the interface, or 'Nothing' if the type is not currently
-    in use -}
-typeDefaultInterfacePeek gType = liftIO $ do
-    let gType' = gtypeToCGType gType
-    result <- g_type_default_interface_peek gType'
-    checkUnexpectedReturnNULL "typeDefaultInterfacePeek" result
-    result' <- (newPtr GObject.TypeInterface.TypeInterface) result
-    return result'
-
-
--- function g_type_children
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_children", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the length of\n    the returned array, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_children", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the length of\n    the returned array, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- returnType : Just (TCArray False (-1) 1 (TBasicType TGType))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_children" g_type_children :: 
-    CGType ->                               -- type : TBasicType TGType
-    Ptr Word32 ->                           -- n_children : TBasicType TUInt
-    IO (Ptr CGType)
-
-{- |
-Return a newly allocated and 0-terminated array of type IDs, listing
-the child types of /@type@/.
--}
-typeChildren ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: the parent type -}
-    -> m [GType]
-    {- ^ __Returns:__ Newly allocated
-    and 0-terminated array of child types, free with 'GI.GLib.Functions.free' -}
-typeChildren type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    nChildren <- allocMem :: IO (Ptr Word32)
-    result <- g_type_children type_' nChildren
-    nChildren' <- peek nChildren
-    checkUnexpectedReturnNULL "typeChildren" result
-    result' <- (unpackMapStorableArrayWithLength GType nChildren') result
-    freeMem result
-    freeMem nChildren
-    return result'
-
-
--- function g_type_check_value_holds
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_value_holds" g_type_check_value_holds :: 
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    CGType ->                               -- type : TBasicType TGType
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeCheckValueHolds ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GValue
-    -> GType
-    -> m Bool
-typeCheckValueHolds value type_ = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    let type_' = gtypeToCGType type_
-    result <- g_type_check_value_holds value' type_'
-    let result' = (/= 0) result
-    touchManagedPtr value
-    return result'
-
-
--- function g_type_check_value
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_value" g_type_check_value :: 
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeCheckValue ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GValue
-    -> m Bool
-typeCheckValue value = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    result <- g_type_check_value value'
-    let result' = (/= 0) result
-    touchManagedPtr value
-    return result'
-
-
--- function g_type_check_is_value_type
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_is_value_type" g_type_check_is_value_type :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeCheckIsValueType ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    -> m Bool
-typeCheckIsValueType type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_check_is_value_type type_'
-    let result' = (/= 0) result
-    return result'
-
-
--- function g_type_check_instance_is_fundamentally_a
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fundamental_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_instance_is_fundamentally_a" g_type_check_instance_is_fundamentally_a :: 
-    Ptr GObject.TypeInstance.TypeInstance -> -- instance : TInterface (Name {namespace = "GObject", name = "TypeInstance"})
-    CGType ->                               -- fundamental_type : TBasicType TGType
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeCheckInstanceIsFundamentallyA ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInstance.TypeInstance
-    -> GType
-    -> m Bool
-typeCheckInstanceIsFundamentallyA instance_ fundamentalType = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    let fundamentalType' = gtypeToCGType fundamentalType
-    result <- g_type_check_instance_is_fundamentally_a instance_' fundamentalType'
-    let result' = (/= 0) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_type_check_instance_is_a
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_instance_is_a" g_type_check_instance_is_a :: 
-    Ptr GObject.TypeInstance.TypeInstance -> -- instance : TInterface (Name {namespace = "GObject", name = "TypeInstance"})
-    CGType ->                               -- iface_type : TBasicType TGType
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeCheckInstanceIsA ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInstance.TypeInstance
-    -> GType
-    -> m Bool
-typeCheckInstanceIsA instance_ ifaceType = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    let ifaceType' = gtypeToCGType ifaceType
-    result <- g_type_check_instance_is_a instance_' ifaceType'
-    let result' = (/= 0) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_type_check_instance
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GTypeInstance structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_instance" g_type_check_instance :: 
-    Ptr GObject.TypeInstance.TypeInstance -> -- instance : TInterface (Name {namespace = "GObject", name = "TypeInstance"})
-    IO CInt
-
-{- |
-Private helper function to aid implementation of the
-@/G_TYPE_CHECK_INSTANCE()/@ macro.
--}
-typeCheckInstance ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInstance.TypeInstance
-    {- ^ /@instance@/: a valid 'GI.GObject.Structs.TypeInstance.TypeInstance' structure -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' if /@instance@/ is valid, 'False' otherwise -}
-typeCheckInstance instance_ = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    result <- g_type_check_instance instance_'
-    let result' = (/= 0) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_type_check_class_is_a
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_check_class_is_a" g_type_check_class_is_a :: 
-    Ptr GObject.TypeClass.TypeClass ->      -- g_class : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    CGType ->                               -- is_a_type : TBasicType TGType
-    IO CInt
-
-{- |
-/No description available in the introspection data./
--}
-typeCheckClassIsA ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeClass.TypeClass
-    -> GType
-    -> m Bool
-typeCheckClassIsA gClass isAType = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    let isAType' = gtypeToCGType isAType
-    result <- g_type_check_class_is_a gClass' isAType'
-    let result' = (/= 0) result
-    touchManagedPtr gClass
-    return result'
-
-
--- function g_type_add_interface_static
--- Args : [Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType value of an instantiable type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType value of an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "InterfaceInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GInterfaceInfo structure for this\n       (@instance_type, @interface_type) combination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_add_interface_static" g_type_add_interface_static :: 
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr GObject.InterfaceInfo.InterfaceInfo -> -- info : TInterface (Name {namespace = "GObject", name = "InterfaceInfo"})
-    IO ()
-
-{- |
-Adds the static /@interfaceType@/ to /@instantiableType@/.
-The information contained in the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' structure
-pointed to by /@info@/ is used to manage the relationship.
--}
-typeAddInterfaceStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@instanceType@/: 'GType' value of an instantiable type -}
-    -> GType
-    {- ^ /@interfaceType@/: 'GType' value of an interface type -}
-    -> GObject.InterfaceInfo.InterfaceInfo
-    {- ^ /@info@/: 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' structure for this
-       (/@instanceType@/, /@interfaceType@/) combination -}
-    -> m ()
-typeAddInterfaceStatic instanceType interfaceType info = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    info' <- unsafeManagedPtrGetPtr info
-    g_type_add_interface_static instanceType' interfaceType' info'
-    touchManagedPtr info
-    return ()
-
-
--- function g_type_add_interface_dynamic
--- Args : [Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType value of an instantiable type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType value of an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTypePlugin structure to retrieve the #GInterfaceInfo from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_add_interface_dynamic" g_type_add_interface_dynamic :: 
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr GObject.TypePlugin.TypePlugin ->    -- plugin : TInterface (Name {namespace = "GObject", name = "TypePlugin"})
-    IO ()
-
-{- |
-Adds the dynamic /@interfaceType@/ to /@instantiableType@/. The information
-contained in the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure pointed to by /@plugin@/
-is used to manage the relationship.
--}
-typeAddInterfaceDynamic ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.TypePlugin.IsTypePlugin a) =>
-    GType
-    {- ^ /@instanceType@/: 'GType' value of an instantiable type -}
-    -> GType
-    {- ^ /@interfaceType@/: 'GType' value of an interface type -}
-    -> a
-    {- ^ /@plugin@/: 'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure to retrieve the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' from -}
-    -> m ()
-typeAddInterfaceDynamic instanceType interfaceType plugin = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    g_type_add_interface_dynamic instanceType' interfaceType' plugin'
-    touchManagedPtr plugin
-    return ()
-
-
--- function g_type_add_instance_private
--- Args : [Arg {argCName = "class_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_add_instance_private" g_type_add_instance_private :: 
-    CGType ->                               -- class_type : TBasicType TGType
-    Word64 ->                               -- private_size : TBasicType TUInt64
-    IO Int32
-
-{- |
-/No description available in the introspection data./
--}
-typeAddInstancePrivate ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    -> Word64
-    -> m Int32
-typeAddInstancePrivate classType privateSize = liftIO $ do
-    let classType' = gtypeToCGType classType
-    result <- g_type_add_instance_private classType' privateSize
-    return result
-
-
--- function g_type_add_class_private
--- Args : [Arg {argCName = "class_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GType of an classed type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of private structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_add_class_private" g_type_add_class_private :: 
-    CGType ->                               -- class_type : TBasicType TGType
-    Word64 ->                               -- private_size : TBasicType TUInt64
-    IO ()
-
-{- |
-Registers a private class structure for a classed type;
-when the class is allocated, the private structures for
-the class and all of its parent types are allocated
-sequentially in the same memory block as the public
-structures, and are zero-filled.
-
-This function should be called in the
-type\'s @/get_type()/@ function after the type is registered.
-The private structure can be retrieved using the
-@/G_TYPE_CLASS_GET_PRIVATE()/@ macro.
-
-/Since: 2.24/
--}
-typeAddClassPrivate ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@classType@/: GType of an classed type -}
-    -> Word64
-    {- ^ /@privateSize@/: size of private structure -}
-    -> m ()
-typeAddClassPrivate classType privateSize = liftIO $ do
-    let classType' = gtypeToCGType classType
-    g_type_add_class_private classType' privateSize
-    return ()
-
-
--- function g_strdup_value_contents
--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValue which contents are to be described.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_strdup_value_contents" g_strdup_value_contents :: 
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO CString
-
-{- |
-Return a newly allocated string, which describes the contents of a
-'GI.GObject.Structs.Value.Value'.  The main purpose of this function is to describe 'GI.GObject.Structs.Value.Value'
-contents for debugging output, the way in which the contents are
-described may change between different GLib versions.
--}
-strdupValueContents ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GValue
-    {- ^ /@value@/: 'GI.GObject.Structs.Value.Value' which contents are to be described. -}
-    -> m T.Text
-    {- ^ __Returns:__ Newly allocated string. -}
-strdupValueContents value = liftIO $ do
-    value' <- unsafeManagedPtrGetPtr value
-    result <- g_strdup_value_contents value'
-    checkUnexpectedReturnNULL "strdupValueContents" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr value
-    return result'
-
-
--- function g_source_set_dummy_callback
--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_source_set_dummy_callback" g_source_set_dummy_callback :: 
-    Ptr GLib.Source.Source ->               -- source : TInterface (Name {namespace = "GLib", name = "Source"})
-    IO ()
-
-{- |
-Sets a dummy callback for /@source@/. The callback will do nothing, and
-if the source expects a 'Bool' return value, it will return 'True'.
-(If the source expects any other type of return value, it will return
-a 0\/'Nothing' value; whatever 'GI.GObject.Structs.Value.valueInit' initializes a 'GI.GObject.Structs.Value.Value' to for
-that type.)
-
-If the source is not one of the standard GLib types, the
-/@closureCallback@/ and /@closureMarshal@/ fields of the 'GI.GLib.Structs.SourceFuncs.SourceFuncs'
-structure must have been filled in with pointers to appropriate
-functions.
--}
-sourceSetDummyCallback ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GLib.Source.Source
-    {- ^ /@source@/: the source -}
-    -> m ()
-sourceSetDummyCallback source = liftIO $ do
-    source' <- unsafeManagedPtrGetPtr source
-    g_source_set_dummy_callback source'
-    touchManagedPtr source
-    return ()
-
-
--- function g_source_set_closure
--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GClosure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_source_set_closure" g_source_set_closure :: 
-    Ptr GLib.Source.Source ->               -- source : TInterface (Name {namespace = "GLib", name = "Source"})
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    IO ()
-
-{- |
-Set the callback for a source as a 'GI.GObject.Structs.Closure.Closure'.
-
-If the source is not one of the standard GLib types, the /@closureCallback@/
-and /@closureMarshal@/ fields of the 'GI.GLib.Structs.SourceFuncs.SourceFuncs' structure must have been
-filled in with pointers to appropriate functions.
--}
-sourceSetClosure ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GLib.Source.Source
-    {- ^ /@source@/: the source -}
-    -> GClosure a
-    {- ^ /@closure@/: a 'GI.GObject.Structs.Closure.Closure' -}
-    -> m ()
-sourceSetClosure source closure = liftIO $ do
-    source' <- unsafeManagedPtrGetPtr source
-    closure' <- unsafeManagedPtrCastPtr closure
-    g_source_set_closure source' closure'
-    touchManagedPtr source
-    touchManagedPtr closure
-    return ()
-
-
--- function g_signal_type_cclosure_new
--- Args : [Arg {argCName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType identifier of an interface or classed type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "struct_offset", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the member function of @itype's class\n structure which is to be invoked by the new closure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TGClosure Nothing)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_type_cclosure_new" g_signal_type_cclosure_new :: 
-    CGType ->                               -- itype : TBasicType TGType
-    Word32 ->                               -- struct_offset : TBasicType TUInt
-    IO (Ptr (GClosure ()))
-
-{- |
-Creates a new closure which invokes the function found at the offset
-/@structOffset@/ in the class structure of the interface or classed type
-identified by /@itype@/.
--}
-signalTypeCclosureNew ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@itype@/: the 'GType' identifier of an interface or classed type -}
-    -> Word32
-    {- ^ /@structOffset@/: the offset of the member function of /@itype@/\'s class
- structure which is to be invoked by the new closure -}
-    -> m (GClosure a)
-    {- ^ __Returns:__ a floating reference to a new 'GI.GObject.Structs.CClosure.CClosure' -}
-signalTypeCclosureNew itype structOffset = liftIO $ do
-    let itype' = gtypeToCGType itype
-    result <- g_signal_type_cclosure_new itype' structOffset
-    checkUnexpectedReturnNULL "signalTypeCclosureNew" result
-    result' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) result
-    return result'
-
-
--- function g_signal_stop_emission_by_name
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object whose signal handlers you wish to stop.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string of the form \"signal-name::detail\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_stop_emission_by_name" g_signal_stop_emission_by_name :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- detailed_signal : TBasicType TUTF8
-    IO ()
-
-{- |
-Stops a signal\'s current emission.
-
-This is just like 'GI.GObject.Functions.signalStopEmission' except it will look up the
-signal id for you.
--}
-signalStopEmissionByName ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: the object whose signal handlers you wish to stop. -}
-    -> T.Text
-    {- ^ /@detailedSignal@/: a string of the form \"signal-name::detail\". -}
-    -> m ()
-signalStopEmissionByName instance_ detailedSignal = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    detailedSignal' <- textToCString detailedSignal
-    g_signal_stop_emission_by_name instance_' detailedSignal'
-    touchManagedPtr instance_
-    freeMem detailedSignal'
-    return ()
-
-
--- function g_signal_stop_emission
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object whose signal handlers you wish to stop.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal identifier, as returned by g_signal_lookup().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the detail which the signal was emitted with.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_stop_emission" g_signal_stop_emission :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    IO ()
-
-{- |
-Stops a signal\'s current emission.
-
-This will prevent the default method from running, if the signal was
-'GI.GObject.Flags.SignalFlagsRunLast' and you connected normally (i.e. without the \"after\"
-flag).
-
-Prints a warning if used on a signal which isn\'t being emitted.
--}
-signalStopEmission ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: the object whose signal handlers you wish to stop. -}
-    -> Word32
-    {- ^ /@signalId@/: the signal identifier, as returned by 'GI.GObject.Functions.signalLookup'. -}
-    -> Word32
-    {- ^ /@detail@/: the detail which the signal was emitted with. -}
-    -> m ()
-signalStopEmission instance_ signalId detail = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    g_signal_stop_emission instance_' signalId detail
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_remove_emission_hook
--- Args : [Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the emission hook, as returned by\n g_signal_add_emission_hook()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_remove_emission_hook" g_signal_remove_emission_hook :: 
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    CULong ->                               -- hook_id : TBasicType TULong
-    IO ()
-
-{- |
-Deletes an emission hook.
--}
-signalRemoveEmissionHook ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word32
-    {- ^ /@signalId@/: the id of the signal -}
-    -> CULong
-    {- ^ /@hookId@/: the id of the emission hook, as returned by
- 'GI.GObject.Functions.signalAddEmissionHook' -}
-    -> m ()
-signalRemoveEmissionHook signalId hookId = liftIO $ do
-    g_signal_remove_emission_hook signalId hookId
-    return ()
-
-
--- function g_signal_query
--- Args : [Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The signal id of the signal to query information for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "GObject", name = "SignalQuery"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A user provided structure that is\n filled in with constant values upon success.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_query" g_signal_query :: 
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Ptr GObject.SignalQuery.SignalQuery ->  -- query : TInterface (Name {namespace = "GObject", name = "SignalQuery"})
-    IO ()
-
-{- |
-Queries the signal system for in-depth information about a
-specific signal. This function will fill in a user-provided
-structure to hold signal-specific information. If an invalid
-signal id is passed in, the /@signalId@/ member of the 'GI.GObject.Structs.SignalQuery.SignalQuery'
-is 0. All members filled into the 'GI.GObject.Structs.SignalQuery.SignalQuery' structure should
-be considered constant and have to be left untouched.
--}
-signalQuery ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word32
-    {- ^ /@signalId@/: The signal id of the signal to query information for. -}
-    -> m (GObject.SignalQuery.SignalQuery)
-signalQuery signalId = liftIO $ do
-    query <- callocBytes 56 :: IO (Ptr GObject.SignalQuery.SignalQuery)
-    g_signal_query signalId query
-    query' <- (wrapPtr GObject.SignalQuery.SignalQuery) query
-    return query'
-
-
--- function g_signal_parse_name
--- Args : [Arg {argCName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string of the form \"signal-name::detail\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The interface/instance type that introduced \"signal-name\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id_p", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to store the signal id.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "detail_p", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to store the detail quark.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "force_detail_quark", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE forces creation of a #GQuark for the detail.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_parse_name" g_signal_parse_name :: 
-    CString ->                              -- detailed_signal : TBasicType TUTF8
-    CGType ->                               -- itype : TBasicType TGType
-    Ptr Word32 ->                           -- signal_id_p : TBasicType TUInt
-    Ptr Word32 ->                           -- detail_p : TBasicType TUInt32
-    CInt ->                                 -- force_detail_quark : TBasicType TBoolean
-    IO CInt
-
-{- |
-Internal function to parse a signal name into its /@signalId@/
-and /@detail@/ quark.
--}
-signalParseName ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@detailedSignal@/: a string of the form \"signal-name::detail\". -}
-    -> GType
-    {- ^ /@itype@/: The interface\/instance type that introduced \"signal-name\". -}
-    -> Bool
-    {- ^ /@forceDetailQuark@/: 'True' forces creation of a @/GQuark/@ for the detail. -}
-    -> m ((Bool, Word32, Word32))
-    {- ^ __Returns:__ Whether the signal name could successfully be parsed and /@signalIdP@/ and /@detailP@/ contain valid return values. -}
-signalParseName detailedSignal itype forceDetailQuark = liftIO $ do
-    detailedSignal' <- textToCString detailedSignal
-    let itype' = gtypeToCGType itype
-    signalIdP <- allocMem :: IO (Ptr Word32)
-    detailP <- allocMem :: IO (Ptr Word32)
-    let forceDetailQuark' = (fromIntegral . fromEnum) forceDetailQuark
-    result <- g_signal_parse_name detailedSignal' itype' signalIdP detailP forceDetailQuark'
-    let result' = (/= 0) result
-    signalIdP' <- peek signalIdP
-    detailP' <- peek detailP
-    freeMem detailedSignal'
-    freeMem signalIdP
-    freeMem detailP
-    return (result', signalIdP', detailP')
-
-
--- function g_signal_override_class_closure
--- Args : [Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the instance type on which to override the class closure\n for the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the closure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_override_class_closure" g_signal_override_class_closure :: 
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    CGType ->                               -- instance_type : TBasicType TGType
-    Ptr (GClosure ()) ->                    -- class_closure : TGClosure Nothing
-    IO ()
-
-{- |
-Overrides the class closure (i.e. the default handler) for the given signal
-for emissions on instances of /@instanceType@/. /@instanceType@/ must be derived
-from the type to which the signal belongs.
-
-See 'GI.GObject.Functions.signalChainFromOverridden' and
-@/g_signal_chain_from_overridden_handler()/@ for how to chain up to the
-parent class closure from inside the overridden one.
--}
-signalOverrideClassClosure ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word32
-    {- ^ /@signalId@/: the signal id -}
-    -> GType
-    {- ^ /@instanceType@/: the instance type on which to override the class closure
- for the signal. -}
-    -> GClosure a
-    {- ^ /@classClosure@/: the closure. -}
-    -> m ()
-signalOverrideClassClosure signalId instanceType classClosure = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    classClosure' <- unsafeManagedPtrCastPtr classClosure
-    g_signal_override_class_closure signalId instanceType' classClosure'
-    touchManagedPtr classClosure
-    return ()
-
-
--- function g_signal_name
--- Args : [Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal's identifying number.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_name" g_signal_name :: 
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    IO CString
-
-{- |
-Given the signal\'s identifier, finds its name.
-
-Two different signals may have the same name, if they have differing types.
--}
-signalName ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word32
-    {- ^ /@signalId@/: the signal\'s identifying number. -}
-    -> m T.Text
-    {- ^ __Returns:__ the signal name, or 'Nothing' if the signal number was invalid. -}
-signalName signalId = liftIO $ do
-    result <- g_signal_name signalId
-    checkUnexpectedReturnNULL "signalName" result
-    result' <- cstringToText result
-    return result'
-
-
--- function g_signal_lookup
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal's name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type that the signal operates on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_lookup" g_signal_lookup :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CGType ->                               -- itype : TBasicType TGType
-    IO Word32
-
-{- |
-Given the name of the signal and the type of object it connects to, gets
-the signal\'s identifying integer. Emitting the signal by number is
-somewhat faster than using the name each time.
-
-Also tries the ancestors of the given type.
-
-See @/g_signal_new()/@ for details on allowed signal names.
--}
-signalLookup ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: the signal\'s name. -}
-    -> GType
-    {- ^ /@itype@/: the type that the signal operates on. -}
-    -> m Word32
-    {- ^ __Returns:__ the signal\'s identifying number, or 0 if no signal was found. -}
-signalLookup name itype = liftIO $ do
-    name' <- textToCString name
-    let itype' = gtypeToCGType itype
-    result <- g_signal_lookup name' itype'
-    freeMem name'
-    return result
-
-
--- function g_signal_list_ids
--- Args : [Arg {argCName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Instance or interface type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_ids", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to store the number of signal ids for @itype.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_ids", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to store the number of signal ids for @itype.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_list_ids" g_signal_list_ids :: 
-    CGType ->                               -- itype : TBasicType TGType
-    Ptr Word32 ->                           -- n_ids : TBasicType TUInt
-    IO (Ptr Word32)
-
-{- |
-Lists the signals by id that a certain instance or interface type
-created. Further information about the signals can be acquired through
-'GI.GObject.Functions.signalQuery'.
--}
-signalListIds ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@itype@/: Instance or interface type. -}
-    -> m [Word32]
-    {- ^ __Returns:__ Newly allocated array of signal IDs. -}
-signalListIds itype = liftIO $ do
-    let itype' = gtypeToCGType itype
-    nIds <- allocMem :: IO (Ptr Word32)
-    result <- g_signal_list_ids itype' nIds
-    nIds' <- peek nIds
-    checkUnexpectedReturnNULL "signalListIds" result
-    result' <- (unpackStorableArrayWithLength nIds') result
-    freeMem result
-    freeMem nIds
-    return result'
-
-
--- function g_signal_has_handler_pending
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object whose signal handlers are sought.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal id.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the detail.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "may_be_blocked", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether blocked handlers should count as match.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_has_handler_pending" g_signal_has_handler_pending :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    CInt ->                                 -- may_be_blocked : TBasicType TBoolean
-    IO CInt
-
-{- |
-Returns whether there are any handlers connected to /@instance@/ for the
-given signal id and detail.
-
-If /@detail@/ is 0 then it will only match handlers that were connected
-without detail.  If /@detail@/ is non-zero then it will match handlers
-connected both without detail and with the given detail.  This is
-consistent with how a signal emitted with /@detail@/ would be delivered
-to those handlers.
-
-Since 2.46 this also checks for a non-default class closure being
-installed, as this is basically always what you want.
-
-One example of when you might use this is when the arguments to the
-signal are difficult to compute. A class implementor may opt to not
-emit the signal if no one is attached anyway, thus saving the cost
-of building the arguments.
--}
-signalHasHandlerPending ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: the object whose signal handlers are sought. -}
-    -> Word32
-    {- ^ /@signalId@/: the signal id. -}
-    -> Word32
-    {- ^ /@detail@/: the detail. -}
-    -> Bool
-    {- ^ /@mayBeBlocked@/: whether blocked handlers should count as match. -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' if a handler is connected to the signal, 'False'
-         otherwise. -}
-signalHasHandlerPending instance_ signalId detail mayBeBlocked = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    let mayBeBlocked' = (fromIntegral . fromEnum) mayBeBlocked
-    result <- g_signal_has_handler_pending instance_' signalId detail mayBeBlocked'
-    let result' = (/= 0) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_signal_handlers_unblock_matched
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to unblock handlers from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface (Name {namespace = "GObject", name = "SignalMatchType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mask indicating which of @signal_id, @detail, @closure, @func\n and/or @data the handlers have to match.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal the handlers have to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal detail the handlers have to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure the handlers will invoke.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The C closure callback of the handlers (useless for non-C closures).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure data of the handlers' closures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handlers_unblock_matched" g_signal_handlers_unblock_matched :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CUInt ->                                -- mask : TInterface (Name {namespace = "GObject", name = "SignalMatchType"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word32
-
-{- |
-Unblocks all handlers on an instance that match a certain selection
-criteria. The criteria mask is passed as an OR-ed combination of
-'GI.GObject.Flags.SignalMatchType' flags, and the criteria values are passed as arguments.
-Passing at least one of the 'GI.GObject.Flags.SignalMatchTypeClosure', 'GI.GObject.Flags.SignalMatchTypeFunc'
-or 'GI.GObject.Flags.SignalMatchTypeData' match flags is required for successful matches.
-If no handlers were found, 0 is returned, the number of unblocked handlers
-otherwise. The match criteria should not apply to any handlers that are
-not currently blocked.
--}
-signalHandlersUnblockMatched ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance to unblock handlers from. -}
-    -> [GObject.Flags.SignalMatchType]
-    {- ^ /@mask@/: Mask indicating which of /@signalId@/, /@detail@/, /@closure@/, /@func@/
- and\/or /@data@/ the handlers have to match. -}
-    -> Word32
-    {- ^ /@signalId@/: Signal the handlers have to be connected to. -}
-    -> Word32
-    {- ^ /@detail@/: Signal detail the handlers have to be connected to. -}
-    -> Maybe (GClosure b)
-    {- ^ /@closure@/: The closure the handlers will invoke. -}
-    -> Ptr ()
-    {- ^ /@func@/: The C closure callback of the handlers (useless for non-C closures). -}
-    -> Ptr ()
-    {- ^ /@data@/: The closure data of the handlers\' closures. -}
-    -> m Word32
-    {- ^ __Returns:__ The number of handlers that matched. -}
-signalHandlersUnblockMatched instance_ mask signalId detail closure func data_ = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            jClosure' <- unsafeManagedPtrCastPtr jClosure
-            return jClosure'
-    result <- g_signal_handlers_unblock_matched instance_' mask' signalId detail maybeClosure func data_
-    touchManagedPtr instance_
-    whenJust closure touchManagedPtr
-    return result
-
-
--- function g_signal_handlers_disconnect_matched
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to remove handlers from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface (Name {namespace = "GObject", name = "SignalMatchType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mask indicating which of @signal_id, @detail, @closure, @func\n and/or @data the handlers have to match.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal the handlers have to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal detail the handlers have to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure the handlers will invoke.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The C closure callback of the handlers (useless for non-C closures).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure data of the handlers' closures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handlers_disconnect_matched" g_signal_handlers_disconnect_matched :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CUInt ->                                -- mask : TInterface (Name {namespace = "GObject", name = "SignalMatchType"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word32
-
-{- |
-Disconnects all handlers on an instance that match a certain
-selection criteria. The criteria mask is passed as an OR-ed
-combination of 'GI.GObject.Flags.SignalMatchType' flags, and the criteria values are
-passed as arguments.  Passing at least one of the
-'GI.GObject.Flags.SignalMatchTypeClosure', 'GI.GObject.Flags.SignalMatchTypeFunc' or
-'GI.GObject.Flags.SignalMatchTypeData' match flags is required for successful
-matches.  If no handlers were found, 0 is returned, the number of
-disconnected handlers otherwise.
--}
-signalHandlersDisconnectMatched ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance to remove handlers from. -}
-    -> [GObject.Flags.SignalMatchType]
-    {- ^ /@mask@/: Mask indicating which of /@signalId@/, /@detail@/, /@closure@/, /@func@/
- and\/or /@data@/ the handlers have to match. -}
-    -> Word32
-    {- ^ /@signalId@/: Signal the handlers have to be connected to. -}
-    -> Word32
-    {- ^ /@detail@/: Signal detail the handlers have to be connected to. -}
-    -> Maybe (GClosure b)
-    {- ^ /@closure@/: The closure the handlers will invoke. -}
-    -> Ptr ()
-    {- ^ /@func@/: The C closure callback of the handlers (useless for non-C closures). -}
-    -> Ptr ()
-    {- ^ /@data@/: The closure data of the handlers\' closures. -}
-    -> m Word32
-    {- ^ __Returns:__ The number of handlers that matched. -}
-signalHandlersDisconnectMatched instance_ mask signalId detail closure func data_ = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            jClosure' <- unsafeManagedPtrCastPtr jClosure
-            return jClosure'
-    result <- g_signal_handlers_disconnect_matched instance_' mask' signalId detail maybeClosure func data_
-    touchManagedPtr instance_
-    whenJust closure touchManagedPtr
-    return result
-
-
--- function g_signal_handlers_destroy
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance whose signal handlers are destroyed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handlers_destroy" g_signal_handlers_destroy :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO ()
-
-{- |
-Destroy all signal handlers of a type instance. This function is
-an implementation detail of the 'GI.GObject.Objects.Object.Object' dispose implementation,
-and should not be used outside of the type system.
--}
-signalHandlersDestroy ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance whose signal handlers are destroyed -}
-    -> m ()
-signalHandlersDestroy instance_ = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    g_signal_handlers_destroy instance_'
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_handlers_block_matched
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to block handlers from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface (Name {namespace = "GObject", name = "SignalMatchType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mask indicating which of @signal_id, @detail, @closure, @func\n and/or @data the handlers have to match.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal the handlers have to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal detail the handlers have to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure the handlers will invoke.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The C closure callback of the handlers (useless for non-C closures).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure data of the handlers' closures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handlers_block_matched" g_signal_handlers_block_matched :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CUInt ->                                -- mask : TInterface (Name {namespace = "GObject", name = "SignalMatchType"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word32
-
-{- |
-Blocks all handlers on an instance that match a certain selection criteria.
-The criteria mask is passed as an OR-ed combination of 'GI.GObject.Flags.SignalMatchType'
-flags, and the criteria values are passed as arguments.
-Passing at least one of the 'GI.GObject.Flags.SignalMatchTypeClosure', 'GI.GObject.Flags.SignalMatchTypeFunc'
-or 'GI.GObject.Flags.SignalMatchTypeData' match flags is required for successful matches.
-If no handlers were found, 0 is returned, the number of blocked handlers
-otherwise.
--}
-signalHandlersBlockMatched ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance to block handlers from. -}
-    -> [GObject.Flags.SignalMatchType]
-    {- ^ /@mask@/: Mask indicating which of /@signalId@/, /@detail@/, /@closure@/, /@func@/
- and\/or /@data@/ the handlers have to match. -}
-    -> Word32
-    {- ^ /@signalId@/: Signal the handlers have to be connected to. -}
-    -> Word32
-    {- ^ /@detail@/: Signal detail the handlers have to be connected to. -}
-    -> Maybe (GClosure b)
-    {- ^ /@closure@/: The closure the handlers will invoke. -}
-    -> Ptr ()
-    {- ^ /@func@/: The C closure callback of the handlers (useless for non-C closures). -}
-    -> Ptr ()
-    {- ^ /@data@/: The closure data of the handlers\' closures. -}
-    -> m Word32
-    {- ^ __Returns:__ The number of handlers that matched. -}
-signalHandlersBlockMatched instance_ mask signalId detail closure func data_ = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            jClosure' <- unsafeManagedPtrCastPtr jClosure
-            return jClosure'
-    result <- g_signal_handlers_block_matched instance_' mask' signalId detail maybeClosure func data_
-    touchManagedPtr instance_
-    whenJust closure touchManagedPtr
-    return result
-
-
--- function g_signal_handler_unblock
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to unblock the signal handler of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Handler id of the handler to be unblocked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handler_unblock" g_signal_handler_unblock :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO ()
-
-{- |
-Undoes the effect of a previous 'GI.GObject.Functions.signalHandlerBlock' call.  A
-blocked handler is skipped during signal emissions and will not be
-invoked, unblocking it (for exactly the amount of times it has been
-blocked before) reverts its \"blocked\" state, so the handler will be
-recognized by the signal system and is called upon future or
-currently ongoing signal emissions (since the order in which
-handlers are called during signal emissions is deterministic,
-whether the unblocked handler in question is called as part of a
-currently ongoing emission depends on how far that emission has
-proceeded yet).
-
-The /@handlerId@/ has to be a valid id of a signal handler that is
-connected to a signal of /@instance@/ and is currently blocked.
--}
-signalHandlerUnblock ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance to unblock the signal handler of. -}
-    -> CULong
-    {- ^ /@handlerId@/: Handler id of the handler to be unblocked. -}
-    -> m ()
-signalHandlerUnblock instance_ handlerId = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    g_signal_handler_unblock instance_' handlerId
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_handler_is_connected
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance where a signal handler is sought.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the handler ID.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handler_is_connected" g_signal_handler_is_connected :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO CInt
-
-{- |
-Returns whether /@handlerId@/ is the ID of a handler connected to /@instance@/.
--}
-signalHandlerIsConnected ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance where a signal handler is sought. -}
-    -> CULong
-    {- ^ /@handlerId@/: the handler ID. -}
-    -> m Bool
-    {- ^ __Returns:__ whether /@handlerId@/ identifies a handler connected to /@instance@/. -}
-signalHandlerIsConnected instance_ handlerId = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    result <- g_signal_handler_is_connected instance_' handlerId
-    let result' = (/= 0) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_signal_handler_find
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance owning the signal handler to be found.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface (Name {namespace = "GObject", name = "SignalMatchType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mask indicating which of @signal_id, @detail, @closure, @func\n and/or @data the handler has to match.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal the handler has to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal detail the handler has to be connected to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure the handler will invoke.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The C closure callback of the handler (useless for non-C closures).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The closure data of the handler's closure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TULong)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handler_find" g_signal_handler_find :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CUInt ->                                -- mask : TInterface (Name {namespace = "GObject", name = "SignalMatchType"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO CULong
-
-{- |
-Finds the first signal handler that matches certain selection criteria.
-The criteria mask is passed as an OR-ed combination of 'GI.GObject.Flags.SignalMatchType'
-flags, and the criteria values are passed as arguments.
-The match /@mask@/ has to be non-0 for successful matches.
-If no handler was found, 0 is returned.
--}
-signalHandlerFind ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance owning the signal handler to be found. -}
-    -> [GObject.Flags.SignalMatchType]
-    {- ^ /@mask@/: Mask indicating which of /@signalId@/, /@detail@/, /@closure@/, /@func@/
- and\/or /@data@/ the handler has to match. -}
-    -> Word32
-    {- ^ /@signalId@/: Signal the handler has to be connected to. -}
-    -> Word32
-    {- ^ /@detail@/: Signal detail the handler has to be connected to. -}
-    -> Maybe (GClosure b)
-    {- ^ /@closure@/: The closure the handler will invoke. -}
-    -> Ptr ()
-    {- ^ /@func@/: The C closure callback of the handler (useless for non-C closures). -}
-    -> Ptr ()
-    {- ^ /@data@/: The closure data of the handler\'s closure. -}
-    -> m CULong
-    {- ^ __Returns:__ A valid non-0 signal handler id for a successful match. -}
-signalHandlerFind instance_ mask signalId detail closure func data_ = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            jClosure' <- unsafeManagedPtrCastPtr jClosure
-            return jClosure'
-    result <- g_signal_handler_find instance_' mask' signalId detail maybeClosure func data_
-    touchManagedPtr instance_
-    whenJust closure touchManagedPtr
-    return result
-
-
--- function g_signal_handler_disconnect
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to remove the signal handler from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Handler id of the handler to be disconnected.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handler_disconnect" g_signal_handler_disconnect :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO ()
-
-{- |
-Disconnects a handler from an instance so it will not be called during
-any future or currently ongoing emissions of the signal it has been
-connected to. The /@handlerId@/ becomes invalid and may be reused.
-
-The /@handlerId@/ has to be a valid signal handler id, connected to a
-signal of /@instance@/.
--}
-signalHandlerDisconnect ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance to remove the signal handler from. -}
-    -> CULong
-    {- ^ /@handlerId@/: Handler id of the handler to be disconnected. -}
-    -> m ()
-signalHandlerDisconnect instance_ handlerId = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    g_signal_handler_disconnect instance_' handlerId
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_handler_block
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The instance to block the signal handler of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Handler id of the handler to be blocked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_handler_block" g_signal_handler_block :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO ()
-
-{- |
-Blocks a handler of an instance so it will not be called during any
-signal emissions unless it is unblocked again. Thus \"blocking\" a
-signal handler means to temporarily deactive it, a signal handler
-has to be unblocked exactly the same amount of times it has been
-blocked before to become active again.
-
-The /@handlerId@/ has to be a valid signal handler id, connected to a
-signal of /@instance@/.
--}
-signalHandlerBlock ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: The instance to block the signal handler of. -}
-    -> CULong
-    {- ^ /@handlerId@/: Handler id of the handler to be blocked. -}
-    -> m ()
-signalHandlerBlock instance_ handlerId = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    g_signal_handler_block instance_' handlerId
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_get_invocation_hint
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the instance to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_get_invocation_hint" g_signal_get_invocation_hint :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO (Ptr GObject.SignalInvocationHint.SignalInvocationHint)
-
-{- |
-Returns the invocation hint of the innermost signal emission of instance.
--}
-signalGetInvocationHint ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: the instance to query -}
-    -> m GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ __Returns:__ the invocation hint of the innermost signal  emission. -}
-signalGetInvocationHint instance_ = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    result <- g_signal_get_invocation_hint instance_'
-    checkUnexpectedReturnNULL "signalGetInvocationHint" result
-    result' <- (newPtr GObject.SignalInvocationHint.SignalInvocationHint) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_signal_emitv
--- Args : [Arg {argCName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "argument list for the signal emission.\n The first element in the array is a #GValue for the instance the signal\n is being emitted on. The rest are any arguments to be passed to the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the detail", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to\nstore the return value of the signal emission. This must be provided if the\nspecified signal returns a value, but may be ignored otherwise.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_emitv" g_signal_emitv :: 
-    Ptr GValue ->                           -- instance_and_params : TCArray False (-1) (-1) (TInterface (Name {namespace = "GObject", name = "Value"}))
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO ()
-
-{- |
-Emits a signal.
-
-Note that 'GI.GObject.Functions.signalEmitv' doesn\'t change /@returnValue@/ if no handlers are
-connected, in contrast to @/g_signal_emit()/@ and @/g_signal_emit_valist()/@.
--}
-signalEmitv ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    [GValue]
-    {- ^ /@instanceAndParams@/: argument list for the signal emission.
- The first element in the array is a 'GI.GObject.Structs.Value.Value' for the instance the signal
- is being emitted on. The rest are any arguments to be passed to the signal. -}
-    -> Word32
-    {- ^ /@signalId@/: the signal id -}
-    -> Word32
-    {- ^ /@detail@/: the detail -}
-    -> m (GValue)
-signalEmitv instanceAndParams signalId detail = liftIO $ do
-    instanceAndParams' <- mapM unsafeManagedPtrGetPtr instanceAndParams
-    instanceAndParams'' <- packBlockArray 24 instanceAndParams'
-    returnValue <- callocBoxedBytes 24 :: IO (Ptr GValue)
-    g_signal_emitv instanceAndParams'' signalId detail returnValue
-    returnValue' <- (wrapBoxed GValue) returnValue
-    mapM_ touchManagedPtr instanceAndParams
-    freeMem instanceAndParams''
-    return returnValue'
-
-
--- function g_signal_connect_closure_by_id
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the instance to connect to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the detail.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the closure to connect.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the handler should be called before or after the\n default handler of the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TULong)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_connect_closure_by_id" g_signal_connect_closure_by_id :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    CInt ->                                 -- after : TBasicType TBoolean
-    IO CULong
-
-{- |
-Connects a closure to a signal for a particular object.
--}
-signalConnectClosureById ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: the instance to connect to. -}
-    -> Word32
-    {- ^ /@signalId@/: the id of the signal. -}
-    -> Word32
-    {- ^ /@detail@/: the detail. -}
-    -> GClosure b
-    {- ^ /@closure@/: the closure to connect. -}
-    -> Bool
-    {- ^ /@after@/: whether the handler should be called before or after the
- default handler of the signal. -}
-    -> m CULong
-    {- ^ __Returns:__ the handler ID (always greater than 0 for successful connections) -}
-signalConnectClosureById instance_ signalId detail closure after = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    closure' <- unsafeManagedPtrCastPtr closure
-    let after' = (fromIntegral . fromEnum) after
-    result <- g_signal_connect_closure_by_id instance_' signalId detail closure' after'
-    touchManagedPtr instance_
-    touchManagedPtr closure
-    return result
-
-
--- function g_signal_connect_closure
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the instance to connect to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string of the form \"signal-name::detail\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the closure to connect.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the handler should be called before or after the\n default handler of the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TULong)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_connect_closure" g_signal_connect_closure :: 
-    Ptr GObject.Object.Object ->            -- instance : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- detailed_signal : TBasicType TUTF8
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    CInt ->                                 -- after : TBasicType TBoolean
-    IO CULong
-
-{- |
-Connects a closure to a signal for a particular object.
--}
-signalConnectClosure ::
-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
-    a
-    {- ^ /@instance@/: the instance to connect to. -}
-    -> T.Text
-    {- ^ /@detailedSignal@/: a string of the form \"signal-name::detail\". -}
-    -> GClosure b
-    {- ^ /@closure@/: the closure to connect. -}
-    -> Bool
-    {- ^ /@after@/: whether the handler should be called before or after the
- default handler of the signal. -}
-    -> m CULong
-    {- ^ __Returns:__ the handler ID (always greater than 0 for successful connections) -}
-signalConnectClosure instance_ detailedSignal closure after = liftIO $ do
-    instance_' <- unsafeManagedPtrCastPtr instance_
-    detailedSignal' <- textToCString detailedSignal
-    closure' <- unsafeManagedPtrCastPtr closure
-    let after' = (fromIntegral . fromEnum) after
-    result <- g_signal_connect_closure instance_' detailedSignal' closure' after'
-    touchManagedPtr instance_
-    touchManagedPtr closure
-    freeMem detailedSignal'
-    return result
-
-
--- function g_signal_chain_from_overridden
--- Args : [Arg {argCName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the argument list of the signal emission.\n The first element in the array is a #GValue for the instance the signal\n is being emitted on. The rest are any arguments to be passed to the signal.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location for the return value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_chain_from_overridden" g_signal_chain_from_overridden :: 
-    Ptr GValue ->                           -- instance_and_params : TCArray False (-1) (-1) (TInterface (Name {namespace = "GObject", name = "Value"}))
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO ()
-
-{- |
-Calls the original class closure of a signal. This function should only
-be called from an overridden class closure; see
-'GI.GObject.Functions.signalOverrideClassClosure' and
-@/g_signal_override_class_handler()/@.
--}
-signalChainFromOverridden ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    [GValue]
-    {- ^ /@instanceAndParams@/: the argument list of the signal emission.
- The first element in the array is a 'GI.GObject.Structs.Value.Value' for the instance the signal
- is being emitted on. The rest are any arguments to be passed to the signal. -}
-    -> GValue
-    {- ^ /@returnValue@/: Location for the return value. -}
-    -> m ()
-signalChainFromOverridden instanceAndParams returnValue = liftIO $ do
-    instanceAndParams' <- mapM unsafeManagedPtrGetPtr instanceAndParams
-    instanceAndParams'' <- packBlockArray 24 instanceAndParams'
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    g_signal_chain_from_overridden instanceAndParams'' returnValue'
-    mapM_ touchManagedPtr instanceAndParams
-    touchManagedPtr returnValue
-    freeMem instanceAndParams''
-    return ()
-
-
--- function g_signal_add_emission_hook
--- Args : [Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal identifier, as returned by g_signal_lookup().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the detail on which to call the hook.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_func", argType = TInterface (Name {namespace = "GObject", name = "SignalEmissionHook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSignalEmissionHook function.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @hook_func.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data_destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDestroyNotify for @hook_data.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TULong)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_add_emission_hook" g_signal_add_emission_hook :: 
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    FunPtr GObject.Callbacks.C_SignalEmissionHook -> -- hook_func : TInterface (Name {namespace = "GObject", name = "SignalEmissionHook"})
-    Ptr () ->                               -- hook_data : TBasicType TPtr
-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- data_destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
-    IO CULong
-
-{- |
-Adds an emission hook for a signal, which will get called for any emission
-of that signal, independent of the instance. This is possible only
-for signals which don\'t have @/G_SIGNAL_NO_HOOKS/@ flag set.
--}
-signalAddEmissionHook ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word32
-    {- ^ /@signalId@/: the signal identifier, as returned by 'GI.GObject.Functions.signalLookup'. -}
-    -> Word32
-    {- ^ /@detail@/: the detail on which to call the hook. -}
-    -> GObject.Callbacks.SignalEmissionHook
-    {- ^ /@hookFunc@/: a 'GI.GObject.Callbacks.SignalEmissionHook' function. -}
-    -> m CULong
-    {- ^ __Returns:__ the hook id, for later use with 'GI.GObject.Functions.signalRemoveEmissionHook'. -}
-signalAddEmissionHook signalId detail hookFunc = liftIO $ do
-    hookFunc' <- GObject.Callbacks.mk_SignalEmissionHook (GObject.Callbacks.wrap_SignalEmissionHook Nothing hookFunc)
-    let hookData = castFunPtrToPtr hookFunc'
-    let dataDestroy = safeFreeFunPtrPtr
-    result <- g_signal_add_emission_hook signalId detail hookFunc' hookData dataDestroy
-    return result
-
-
--- function g_signal_accumulator_true_handled
--- Args : [Arg {argCName = "ihint", argType = TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_accu", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_return", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dummy", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_accumulator_true_handled" g_signal_accumulator_true_handled :: 
-    Ptr GObject.SignalInvocationHint.SignalInvocationHint -> -- ihint : TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"})
-    Ptr GValue ->                           -- return_accu : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr GValue ->                           -- handler_return : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- dummy : TBasicType TPtr
-    IO CInt
-
-{- |
-A predefined 'GI.GObject.Callbacks.SignalAccumulator' for signals that return a
-boolean values. The behavior that this accumulator gives is
-that a return of 'True' stops the signal emission: no further
-callbacks will be invoked, while a return of 'False' allows
-the emission to continue. The idea here is that a 'True' return
-indicates that the callback handled the signal, and no further
-handling is needed.
-
-/Since: 2.4/
--}
-signalAccumulatorTrueHandled ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ /@ihint@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> GValue
-    {- ^ /@returnAccu@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> GValue
-    {- ^ /@handlerReturn@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> Ptr ()
-    {- ^ /@dummy@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> m Bool
-    {- ^ __Returns:__ standard 'GI.GObject.Callbacks.SignalAccumulator' result -}
-signalAccumulatorTrueHandled ihint returnAccu handlerReturn dummy = liftIO $ do
-    ihint' <- unsafeManagedPtrGetPtr ihint
-    returnAccu' <- unsafeManagedPtrGetPtr returnAccu
-    handlerReturn' <- unsafeManagedPtrGetPtr handlerReturn
-    result <- g_signal_accumulator_true_handled ihint' returnAccu' handlerReturn' dummy
-    let result' = (/= 0) result
-    touchManagedPtr ihint
-    touchManagedPtr returnAccu
-    touchManagedPtr handlerReturn
-    return result'
-
-
--- function g_signal_accumulator_first_wins
--- Args : [Arg {argCName = "ihint", argType = TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_accu", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_return", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dummy", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "standard #GSignalAccumulator parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_accumulator_first_wins" g_signal_accumulator_first_wins :: 
-    Ptr GObject.SignalInvocationHint.SignalInvocationHint -> -- ihint : TInterface (Name {namespace = "GObject", name = "SignalInvocationHint"})
-    Ptr GValue ->                           -- return_accu : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr GValue ->                           -- handler_return : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- dummy : TBasicType TPtr
-    IO CInt
-
-{- |
-A predefined 'GI.GObject.Callbacks.SignalAccumulator' for signals intended to be used as a
-hook for application code to provide a particular value.  Usually
-only one such value is desired and multiple handlers for the same
-signal don\'t make much sense (except for the case of the default
-handler defined in the class structure, in which case you will
-usually want the signal connection to override the class handler).
-
-This accumulator will use the return value from the first signal
-handler that is run as the return value for the signal and not run
-any further handlers (ie: the first handler \"wins\").
-
-/Since: 2.28/
--}
-signalAccumulatorFirstWins ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.SignalInvocationHint.SignalInvocationHint
-    {- ^ /@ihint@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> GValue
-    {- ^ /@returnAccu@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> GValue
-    {- ^ /@handlerReturn@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> Ptr ()
-    {- ^ /@dummy@/: standard 'GI.GObject.Callbacks.SignalAccumulator' parameter -}
-    -> m Bool
-    {- ^ __Returns:__ standard 'GI.GObject.Callbacks.SignalAccumulator' result -}
-signalAccumulatorFirstWins ihint returnAccu handlerReturn dummy = liftIO $ do
-    ihint' <- unsafeManagedPtrGetPtr ihint
-    returnAccu' <- unsafeManagedPtrGetPtr returnAccu
-    handlerReturn' <- unsafeManagedPtrGetPtr handlerReturn
-    result <- g_signal_accumulator_first_wins ihint' returnAccu' handlerReturn' dummy
-    let result' = (/= 0) result
-    touchManagedPtr ihint
-    touchManagedPtr returnAccu
-    touchManagedPtr handlerReturn
-    return result'
-
-
--- function g_pointer_type_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the new pointer type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_pointer_type_register_static" g_pointer_type_register_static :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CGType
-
-{- |
-Creates a new @/G_TYPE_POINTER/@ derived type id for a new
-pointer type with name /@name@/.
--}
-pointerTypeRegisterStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: the name of the new pointer type. -}
-    -> m GType
-    {- ^ __Returns:__ a new @/G_TYPE_POINTER/@ derived type id for /@name@/. -}
-pointerTypeRegisterStatic name = liftIO $ do
-    name' <- textToCString name
-    result <- g_pointer_type_register_static name'
-    let result' = GType result
-    freeMem name'
-    return result'
-
-
--- function g_param_values_cmp
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue of correct type for @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue of correct type for @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_values_cmp" g_param_values_cmp :: 
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO Int32
-
-{- |
-Compares /@value1@/ with /@value2@/ according to /@pspec@/, and return -1, 0 or +1,
-if /@value1@/ is found to be less than, equal to or greater than /@value2@/,
-respectively.
--}
-paramValuesCmp ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GParamSpec
-    {- ^ /@pspec@/: a valid 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
-    -> GValue
-    {- ^ /@value1@/: a 'GI.GObject.Structs.Value.Value' of correct type for /@pspec@/ -}
-    -> GValue
-    {- ^ /@value2@/: a 'GI.GObject.Structs.Value.Value' of correct type for /@pspec@/ -}
-    -> m Int32
-    {- ^ __Returns:__ -1, 0 or +1, for a less than, equal to or greater than result -}
-paramValuesCmp pspec value1 value2 = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value1' <- unsafeManagedPtrGetPtr value1
-    value2' <- unsafeManagedPtrGetPtr value2
-    result <- g_param_values_cmp pspec' value1' value2'
-    touchManagedPtr pspec
-    touchManagedPtr value1
-    touchManagedPtr value2
-    return result
-
-
--- function g_param_value_validate
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue of correct type for @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_value_validate" g_param_value_validate :: 
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO CInt
-
-{- |
-Ensures that the contents of /@value@/ comply with the specifications
-set out by /@pspec@/. For example, a 'GI.GObject.Objects.ParamSpecInt.ParamSpecInt' might require
-that integers stored in /@value@/ may not be smaller than -42 and not be
-greater than +42. If /@value@/ contains an integer outside of this range,
-it is modified accordingly, so the resulting value will fit into the
-range -42 .. +42.
--}
-paramValueValidate ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GParamSpec
-    {- ^ /@pspec@/: a valid 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
-    -> GValue
-    {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' of correct type for /@pspec@/ -}
-    -> m Bool
-    {- ^ __Returns:__ whether modifying /@value@/ was necessary to ensure validity -}
-paramValueValidate pspec value = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value' <- unsafeManagedPtrGetPtr value
-    result <- g_param_value_validate pspec' value'
-    let result' = (/= 0) result
-    touchManagedPtr pspec
-    touchManagedPtr value
-    return result'
-
-
--- function g_param_value_set_default
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue of correct type for @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_value_set_default" g_param_value_set_default :: 
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO ()
-
-{- |
-Sets /@value@/ to its default value as specified in /@pspec@/.
--}
-paramValueSetDefault ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GParamSpec
-    {- ^ /@pspec@/: a valid 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
-    -> GValue
-    {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' of correct type for /@pspec@/ -}
-    -> m ()
-paramValueSetDefault pspec value = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value' <- unsafeManagedPtrGetPtr value
-    g_param_value_set_default pspec' value'
-    touchManagedPtr pspec
-    touchManagedPtr value
-    return ()
-
-
--- function g_param_value_defaults
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue of correct type for @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_value_defaults" g_param_value_defaults :: 
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO CInt
-
-{- |
-Checks whether /@value@/ contains the default value as specified in /@pspec@/.
--}
-paramValueDefaults ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GParamSpec
-    {- ^ /@pspec@/: a valid 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
-    -> GValue
-    {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' of correct type for /@pspec@/ -}
-    -> m Bool
-    {- ^ __Returns:__ whether /@value@/ contains the canonical default for this /@pspec@/ -}
-paramValueDefaults pspec value = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    value' <- unsafeManagedPtrGetPtr value
-    result <- g_param_value_defaults pspec' value'
-    let result' = (/= 0) result
-    touchManagedPtr pspec
-    touchManagedPtr value
-    return result'
-
-
--- function g_param_value_convert
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GParamSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "souce #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destination #GValue of correct type for @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "strict_validation", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE requires @dest_value to conform to @pspec\nwithout modifications", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_value_convert" g_param_value_convert :: 
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    Ptr GValue ->                           -- src_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr GValue ->                           -- dest_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    CInt ->                                 -- strict_validation : TBasicType TBoolean
-    IO CInt
-
-{- |
-Transforms /@srcValue@/ into /@destValue@/ if possible, and then
-validates /@destValue@/, in order for it to conform to /@pspec@/.  If
-/@strictValidation@/ is 'True' this function will only succeed if the
-transformed /@destValue@/ complied to /@pspec@/ without modifications.
-
-See also 'GI.GObject.Functions.valueTypeTransformable', 'GI.GObject.Structs.Value.valueTransform' and
-'GI.GObject.Functions.paramValueValidate'.
--}
-paramValueConvert ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GParamSpec
-    {- ^ /@pspec@/: a valid 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
-    -> GValue
-    {- ^ /@srcValue@/: souce 'GI.GObject.Structs.Value.Value' -}
-    -> GValue
-    {- ^ /@destValue@/: destination 'GI.GObject.Structs.Value.Value' of correct type for /@pspec@/ -}
-    -> Bool
-    {- ^ /@strictValidation@/: 'True' requires /@destValue@/ to conform to /@pspec@/
-without modifications -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' if transformation and validation were successful,
- 'False' otherwise and /@destValue@/ is left untouched. -}
-paramValueConvert pspec srcValue destValue strictValidation = liftIO $ do
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    srcValue' <- unsafeManagedPtrGetPtr srcValue
-    destValue' <- unsafeManagedPtrGetPtr destValue
-    let strictValidation' = (fromIntegral . fromEnum) strictValidation
-    result <- g_param_value_convert pspec' srcValue' destValue' strictValidation'
-    let result' = (/= 0) result
-    touchManagedPtr pspec
-    touchManagedPtr srcValue
-    touchManagedPtr destValue
-    return result'
-
-
--- function g_param_type_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "0-terminated string used as the name of the new #GParamSpec type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec_info", argType = TInterface (Name {namespace = "GObject", name = "ParamSpecTypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GParamSpecTypeInfo for this #GParamSpec type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_type_register_static" g_param_type_register_static :: 
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GObject.ParamSpecTypeInfo.ParamSpecTypeInfo -> -- pspec_info : TInterface (Name {namespace = "GObject", name = "ParamSpecTypeInfo"})
-    IO CGType
-
-{- |
-Registers /@name@/ as the name of a new static type derived from
-@/G_TYPE_PARAM/@. The type system uses the information contained in
-the 'GI.GObject.Structs.ParamSpecTypeInfo.ParamSpecTypeInfo' structure pointed to by /@info@/ to manage the
-'GI.GObject.Objects.ParamSpec.ParamSpec' type and its instances.
--}
-paramTypeRegisterStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: 0-terminated string used as the name of the new 'GI.GObject.Objects.ParamSpec.ParamSpec' type. -}
-    -> GObject.ParamSpecTypeInfo.ParamSpecTypeInfo
-    {- ^ /@pspecInfo@/: The 'GI.GObject.Structs.ParamSpecTypeInfo.ParamSpecTypeInfo' for this 'GI.GObject.Objects.ParamSpec.ParamSpec' type. -}
-    -> m GType
-    {- ^ __Returns:__ The new type identifier. -}
-paramTypeRegisterStatic name pspecInfo = liftIO $ do
-    name' <- textToCString name
-    pspecInfo' <- unsafeManagedPtrGetPtr pspecInfo
-    result <- g_param_type_register_static name' pspecInfo'
-    let result' = GType result
-    touchManagedPtr pspecInfo
-    freeMem name'
-    return result'
-
-
--- function g_param_spec_variant
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GVariant of type @type to\n                use as the default value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_variant" g_param_spec_variant :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Ptr GLib.VariantType.VariantType ->     -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})
-    Ptr GVariant ->                         -- default_value : TVariant
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecVariant.ParamSpecVariant' instance specifying a 'GVariant'
-property.
-
-If /@defaultValue@/ is floating, it is consumed.
-
-See @/g_param_spec_internal()/@ for details on property names.
-
-/Since: 2.26/
--}
-paramSpecVariant ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GLib.VariantType.VariantType
-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}
-    -> Maybe (GVariant)
-    {- ^ /@defaultValue@/: a 'GVariant' of type /@type@/ to
-                use as the default value, or 'Nothing' -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ the newly created 'GI.GObject.Objects.ParamSpec.ParamSpec' -}
-paramSpecVariant name nick blurb type_ defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    type_' <- unsafeManagedPtrGetPtr type_
-    maybeDefaultValue <- case defaultValue of
-        Nothing -> return nullPtr
-        Just jDefaultValue -> do
-            jDefaultValue' <- B.GVariant.disownGVariant jDefaultValue
-            return jDefaultValue'
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_variant name' nick' blurb' type_' maybeDefaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecVariant" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    touchManagedPtr type_
-    whenJust defaultValue touchManagedPtr
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_unichar
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_unichar" g_param_spec_unichar :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CInt ->                                 -- default_value : TBasicType TUniChar
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecUnichar.ParamSpecUnichar' instance specifying a @/G_TYPE_UINT/@
-property. 'GI.GObject.Structs.Value.Value' structures for this property can be accessed with
-'GI.GObject.Structs.Value.valueSetUint' and 'GI.GObject.Structs.Value.valueGetUint'.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecUnichar ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Char
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecUnichar name nick blurb defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let defaultValue' = (fromIntegral . ord) defaultValue
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_unichar name' nick' blurb' defaultValue' flags'
-    checkUnexpectedReturnNULL "paramSpecUnichar" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_ulong
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_ulong" g_param_spec_ulong :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CULong ->                               -- minimum : TBasicType TULong
-    CULong ->                               -- maximum : TBasicType TULong
-    CULong ->                               -- default_value : TBasicType TULong
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecULong.ParamSpecULong' instance specifying a @/G_TYPE_ULONG/@
-property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecUlong ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> CULong
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> CULong
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> CULong
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecUlong name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_ulong name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecUlong" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_uint64
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_uint64" g_param_spec_uint64 :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Word64 ->                               -- minimum : TBasicType TUInt64
-    Word64 ->                               -- maximum : TBasicType TUInt64
-    Word64 ->                               -- default_value : TBasicType TUInt64
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecUInt64.ParamSpecUInt64' instance specifying a @/G_TYPE_UINT64/@
-property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecUint64 ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Word64
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Word64
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Word64
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecUint64 name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_uint64 name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecUint64" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_uint
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_uint" g_param_spec_uint :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Word32 ->                               -- minimum : TBasicType TUInt
-    Word32 ->                               -- maximum : TBasicType TUInt
-    Word32 ->                               -- default_value : TBasicType TUInt
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecUInt.ParamSpecUInt' instance specifying a @/G_TYPE_UINT/@ property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecUint ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Word32
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Word32
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Word32
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecUint name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_uint name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecUint" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_uchar
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_uchar" g_param_spec_uchar :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Word8 ->                                -- minimum : TBasicType TUInt8
-    Word8 ->                                -- maximum : TBasicType TUInt8
-    Word8 ->                                -- default_value : TBasicType TUInt8
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecUChar.ParamSpecUChar' instance specifying a @/G_TYPE_UCHAR/@ property.
--}
-paramSpecUchar ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Word8
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Word8
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Word8
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecUchar name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_uchar name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecUchar" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_string
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_string" g_param_spec_string :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CString ->                              -- default_value : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecString.ParamSpecString' instance.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecString ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Maybe (T.Text)
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecString name nick blurb defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    maybeDefaultValue <- case defaultValue of
-        Nothing -> return nullPtr
-        Just jDefaultValue -> do
-            jDefaultValue' <- textToCString jDefaultValue
-            return jDefaultValue'
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_string name' nick' blurb' maybeDefaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecString" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    freeMem maybeDefaultValue
-    return result'
-
-
--- function g_param_spec_pointer
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_pointer" g_param_spec_pointer :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecPointer.ParamSpecPointer' instance specifying a pointer property.
-Where possible, it is better to use 'GI.GObject.Functions.paramSpecObject' or
-'GI.GObject.Functions.paramSpecBoxed' to expose memory management information.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecPointer ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecPointer name nick blurb flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_pointer name' nick' blurb' flags'
-    checkUnexpectedReturnNULL "paramSpecPointer" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_param
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType derived from %G_TYPE_PARAM", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_param" g_param_spec_param :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CGType ->                               -- param_type : TBasicType TGType
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecParam.ParamSpecParam' instance specifying a @/G_TYPE_PARAM/@
-property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecParam ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GType
-    {- ^ /@paramType@/: a 'GType' derived from @/G_TYPE_PARAM/@ -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecParam name nick blurb paramType flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let paramType' = gtypeToCGType paramType
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_param name' nick' blurb' paramType' flags'
-    checkUnexpectedReturnNULL "paramSpecParam" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_object
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%G_TYPE_OBJECT derived type of this property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_object" g_param_spec_object :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CGType ->                               -- object_type : TBasicType TGType
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecBoxed.ParamSpecBoxed' instance specifying a @/G_TYPE_OBJECT/@
-derived property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecObject ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GType
-    {- ^ /@objectType@/: @/G_TYPE_OBJECT/@ derived type of this property -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecObject name nick blurb objectType flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let objectType' = gtypeToCGType objectType
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_object name' nick' blurb' objectType' flags'
-    checkUnexpectedReturnNULL "paramSpecObject" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_long
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_long" g_param_spec_long :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CLong ->                                -- minimum : TBasicType TLong
-    CLong ->                                -- maximum : TBasicType TLong
-    CLong ->                                -- default_value : TBasicType TLong
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecLong.ParamSpecLong' instance specifying a @/G_TYPE_LONG/@ property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecLong ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> CLong
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> CLong
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> CLong
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecLong name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_long name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecLong" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_int64
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_int64" g_param_spec_int64 :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Int64 ->                                -- minimum : TBasicType TInt64
-    Int64 ->                                -- maximum : TBasicType TInt64
-    Int64 ->                                -- default_value : TBasicType TInt64
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecInt64.ParamSpecInt64' instance specifying a @/G_TYPE_INT64/@ property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecInt64 ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Int64
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Int64
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Int64
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecInt64 name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_int64 name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecInt64" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_int
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_int" g_param_spec_int :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Int32 ->                                -- minimum : TBasicType TInt
-    Int32 ->                                -- maximum : TBasicType TInt
-    Int32 ->                                -- default_value : TBasicType TInt
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecInt.ParamSpecInt' instance specifying a @/G_TYPE_INT/@ property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecInt ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Int32
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Int32
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Int32
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecInt name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_int name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecInt" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_gtype
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType whose subtypes are allowed as values\n of the property (use %G_TYPE_NONE for any type)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_gtype" g_param_spec_gtype :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CGType ->                               -- is_a_type : TBasicType TGType
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecGType.ParamSpecGType' instance specifying a
-@/G_TYPE_GTYPE/@ property.
-
-See @/g_param_spec_internal()/@ for details on property names.
-
-/Since: 2.10/
--}
-paramSpecGtype ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GType
-    {- ^ /@isAType@/: a 'GType' whose subtypes are allowed as values
- of the property (use @/G_TYPE_NONE/@ for any type) -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecGtype name nick blurb isAType flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let isAType' = gtypeToCGType isAType
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_gtype name' nick' blurb' isAType' flags'
-    checkUnexpectedReturnNULL "paramSpecGtype" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_float
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_float" g_param_spec_float :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CFloat ->                               -- minimum : TBasicType TFloat
-    CFloat ->                               -- maximum : TBasicType TFloat
-    CFloat ->                               -- default_value : TBasicType TFloat
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecFloat.ParamSpecFloat' instance specifying a @/G_TYPE_FLOAT/@ property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecFloat ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Float
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Float
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Float
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecFloat name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let minimum' = realToFrac minimum
-    let maximum' = realToFrac maximum
-    let defaultValue' = realToFrac defaultValue
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_float name' nick' blurb' minimum' maximum' defaultValue' flags'
-    checkUnexpectedReturnNULL "paramSpecFloat" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_flags
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType derived from %G_TYPE_FLAGS", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_flags" g_param_spec_flags :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CGType ->                               -- flags_type : TBasicType TGType
-    Word32 ->                               -- default_value : TBasicType TUInt
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecFlags.ParamSpecFlags' instance specifying a @/G_TYPE_FLAGS/@
-property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecFlags ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GType
-    {- ^ /@flagsType@/: a 'GType' derived from @/G_TYPE_FLAGS/@ -}
-    -> Word32
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecFlags name nick blurb flagsType defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flagsType' = gtypeToCGType flagsType
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_flags name' nick' blurb' flagsType' defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecFlags" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_enum
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType derived from %G_TYPE_ENUM", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_enum" g_param_spec_enum :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CGType ->                               -- enum_type : TBasicType TGType
-    Int32 ->                                -- default_value : TBasicType TInt
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecEnum.ParamSpecEnum' instance specifying a @/G_TYPE_ENUM/@
-property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecEnum ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GType
-    {- ^ /@enumType@/: a 'GType' derived from @/G_TYPE_ENUM/@ -}
-    -> Int32
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecEnum name nick blurb enumType defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let enumType' = gtypeToCGType enumType
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_enum name' nick' blurb' enumType' defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecEnum" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_double
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_double" g_param_spec_double :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CDouble ->                              -- minimum : TBasicType TDouble
-    CDouble ->                              -- maximum : TBasicType TDouble
-    CDouble ->                              -- default_value : TBasicType TDouble
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecDouble.ParamSpecDouble' instance specifying a @/G_TYPE_DOUBLE/@
-property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecDouble ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Double
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Double
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Double
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecDouble name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let minimum' = realToFrac minimum
-    let maximum' = realToFrac maximum
-    let defaultValue' = realToFrac defaultValue
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_double name' nick' blurb' minimum' maximum' defaultValue' flags'
-    checkUnexpectedReturnNULL "paramSpecDouble" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_char
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_char" g_param_spec_char :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    Int8 ->                                 -- minimum : TBasicType TInt8
-    Int8 ->                                 -- maximum : TBasicType TInt8
-    Int8 ->                                 -- default_value : TBasicType TInt8
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecChar.ParamSpecChar' instance specifying a @/G_TYPE_CHAR/@ property.
--}
-paramSpecChar ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Int8
-    {- ^ /@minimum@/: minimum value for the property specified -}
-    -> Int8
-    {- ^ /@maximum@/: maximum value for the property specified -}
-    -> Int8
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecChar name nick blurb minimum maximum defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_char name' nick' blurb' minimum maximum defaultValue flags'
-    checkUnexpectedReturnNULL "paramSpecChar" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_boxed
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%G_TYPE_BOXED derived type of this property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_boxed" g_param_spec_boxed :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CGType ->                               -- boxed_type : TBasicType TGType
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecBoxed.ParamSpecBoxed' instance specifying a @/G_TYPE_BOXED/@
-derived property.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecBoxed ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> GType
-    {- ^ /@boxedType@/: @/G_TYPE_BOXED/@ derived type of this property -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecBoxed name nick blurb boxedType flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let boxedType' = gtypeToCGType boxedType
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_boxed name' nick' blurb' boxedType' flags'
-    checkUnexpectedReturnNULL "paramSpecBoxed" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_boolean
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_boolean" g_param_spec_boolean :: 
-    CString ->                              -- name : TBasicType TUTF8
-    CString ->                              -- nick : TBasicType TUTF8
-    CString ->                              -- blurb : TBasicType TUTF8
-    CInt ->                                 -- default_value : TBasicType TBoolean
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})
-    IO (Ptr GParamSpec)
-
-{- |
-Creates a new 'GI.GObject.Objects.ParamSpecBoolean.ParamSpecBoolean' instance specifying a @/G_TYPE_BOOLEAN/@
-property. In many cases, it may be more appropriate to use an enum with
-'GI.GObject.Functions.paramSpecEnum', both to improve code clarity by using explicitly named
-values, and to allow for more values to be added in future without breaking
-API.
-
-See @/g_param_spec_internal()/@ for details on property names.
--}
-paramSpecBoolean ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: canonical name of the property specified -}
-    -> T.Text
-    {- ^ /@nick@/: nick name for the property specified -}
-    -> T.Text
-    {- ^ /@blurb@/: description of the property specified -}
-    -> Bool
-    {- ^ /@defaultValue@/: default value for the property specified -}
-    -> [GObject.Flags.ParamFlags]
-    {- ^ /@flags@/: flags for the property specified -}
-    -> m GParamSpec
-    {- ^ __Returns:__ a newly created parameter specification -}
-paramSpecBoolean name nick blurb defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let defaultValue' = (fromIntegral . fromEnum) defaultValue
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_boolean name' nick' blurb' defaultValue' flags'
-    checkUnexpectedReturnNULL "paramSpecBoolean" result
-    result' <- B.GParamSpec.wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_gtype_get_type
--- Args : []
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_gtype_get_type" g_gtype_get_type :: 
-    IO CGType
-
-{- |
-/No description available in the introspection data./
--}
-gtypeGetType ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    m GType
-gtypeGetType  = liftIO $ do
-    result <- g_gtype_get_type
-    let result' = GType result
-    return result'
-
-
--- function g_flags_to_string
--- Args : [Arg {argCName = "flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type identifier of a #GFlagsClass type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_to_string" g_flags_to_string :: 
-    CGType ->                               -- flags_type : TBasicType TGType
-    Word32 ->                               -- value : TBasicType TUInt
-    IO CString
-
-{- |
-Pretty-prints /@value@/ in the form of the flag names separated by @ | @ and
-sorted. Any extra bits will be shown at the end as a hexadecimal number.
-
-This is intended to be used for debugging purposes. The format of the output
-may change in the future.
-
-/Since: 2.54/
--}
-flagsToString ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@flagsType@/: the type identifier of a 'GI.GObject.Structs.FlagsClass.FlagsClass' type -}
-    -> Word32
-    {- ^ /@value@/: the value -}
-    -> m T.Text
-    {- ^ __Returns:__ a newly-allocated text string -}
-flagsToString flagsType value = liftIO $ do
-    let flagsType' = gtypeToCGType flagsType
-    result <- g_flags_to_string flagsType' value
-    checkUnexpectedReturnNULL "flagsToString" result
-    result' <- cstringToText result
-    freeMem result
-    return result'
-
-
--- function g_flags_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A nul-terminated string used as the name of the new type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface (Name {namespace = "GObject", name = "FlagsValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GFlagsValue structs for the possible\n flags values. The array is terminated by a struct with all members being 0.\n GObject keeps a reference to the data, so it cannot be stack-allocated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_register_static" g_flags_register_static :: 
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GObject.FlagsValue.FlagsValue ->    -- const_static_values : TInterface (Name {namespace = "GObject", name = "FlagsValue"})
-    IO CGType
-
-{- |
-Registers a new static flags type with the name /@name@/.
-
-It is normally more convenient to let [glib-mkenums][glib-mkenums]
-generate a @/my_flags_get_type()/@ function from a usual C enumeration
-definition than to write one yourself using 'GI.GObject.Functions.flagsRegisterStatic'.
--}
-flagsRegisterStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: A nul-terminated string used as the name of the new type. -}
-    -> GObject.FlagsValue.FlagsValue
-    {- ^ /@constStaticValues@/: An array of 'GI.GObject.Structs.FlagsValue.FlagsValue' structs for the possible
- flags values. The array is terminated by a struct with all members being 0.
- GObject keeps a reference to the data, so it cannot be stack-allocated. -}
-    -> m GType
-    {- ^ __Returns:__ The new type identifier. -}
-flagsRegisterStatic name constStaticValues = liftIO $ do
-    name' <- textToCString name
-    constStaticValues' <- unsafeManagedPtrGetPtr constStaticValues
-    result <- g_flags_register_static name' constStaticValues'
-    let result' = GType result
-    touchManagedPtr constStaticValues
-    freeMem name'
-    return result'
-
-
--- function g_flags_get_value_by_nick
--- Args : [Arg {argCName = "flags_class", argType = TInterface (Name {namespace = "GObject", name = "FlagsClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFlagsClass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nickname to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "FlagsValue"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_get_value_by_nick" g_flags_get_value_by_nick :: 
-    Ptr GObject.FlagsClass.FlagsClass ->    -- flags_class : TInterface (Name {namespace = "GObject", name = "FlagsClass"})
-    CString ->                              -- nick : TBasicType TUTF8
-    IO (Ptr GObject.FlagsValue.FlagsValue)
-
-{- |
-Looks up a 'GI.GObject.Structs.FlagsValue.FlagsValue' by nickname.
--}
-flagsGetValueByNick ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.FlagsClass.FlagsClass
-    {- ^ /@flagsClass@/: a 'GI.GObject.Structs.FlagsClass.FlagsClass' -}
-    -> T.Text
-    {- ^ /@nick@/: the nickname to look up -}
-    -> m GObject.FlagsValue.FlagsValue
-    {- ^ __Returns:__ the 'GI.GObject.Structs.FlagsValue.FlagsValue' with nickname /@nick@/,
-         or 'Nothing' if there is no flag with that nickname -}
-flagsGetValueByNick flagsClass nick = liftIO $ do
-    flagsClass' <- unsafeManagedPtrGetPtr flagsClass
-    nick' <- textToCString nick
-    result <- g_flags_get_value_by_nick flagsClass' nick'
-    checkUnexpectedReturnNULL "flagsGetValueByNick" result
-    result' <- (newPtr GObject.FlagsValue.FlagsValue) result
-    touchManagedPtr flagsClass
-    freeMem nick'
-    return result'
-
-
--- function g_flags_get_value_by_name
--- Args : [Arg {argCName = "flags_class", argType = TInterface (Name {namespace = "GObject", name = "FlagsClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFlagsClass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "FlagsValue"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_get_value_by_name" g_flags_get_value_by_name :: 
-    Ptr GObject.FlagsClass.FlagsClass ->    -- flags_class : TInterface (Name {namespace = "GObject", name = "FlagsClass"})
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr GObject.FlagsValue.FlagsValue)
-
-{- |
-Looks up a 'GI.GObject.Structs.FlagsValue.FlagsValue' by name.
--}
-flagsGetValueByName ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.FlagsClass.FlagsClass
-    {- ^ /@flagsClass@/: a 'GI.GObject.Structs.FlagsClass.FlagsClass' -}
-    -> T.Text
-    {- ^ /@name@/: the name to look up -}
-    -> m GObject.FlagsValue.FlagsValue
-    {- ^ __Returns:__ the 'GI.GObject.Structs.FlagsValue.FlagsValue' with name /@name@/,
-         or 'Nothing' if there is no flag with that name -}
-flagsGetValueByName flagsClass name = liftIO $ do
-    flagsClass' <- unsafeManagedPtrGetPtr flagsClass
-    name' <- textToCString name
-    result <- g_flags_get_value_by_name flagsClass' name'
-    checkUnexpectedReturnNULL "flagsGetValueByName" result
-    result' <- (newPtr GObject.FlagsValue.FlagsValue) result
-    touchManagedPtr flagsClass
-    freeMem name'
-    return result'
-
-
--- function g_flags_get_first_value
--- Args : [Arg {argCName = "flags_class", argType = TInterface (Name {namespace = "GObject", name = "FlagsClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFlagsClass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "FlagsValue"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_get_first_value" g_flags_get_first_value :: 
-    Ptr GObject.FlagsClass.FlagsClass ->    -- flags_class : TInterface (Name {namespace = "GObject", name = "FlagsClass"})
-    Word32 ->                               -- value : TBasicType TUInt
-    IO (Ptr GObject.FlagsValue.FlagsValue)
-
-{- |
-Returns the first 'GI.GObject.Structs.FlagsValue.FlagsValue' which is set in /@value@/.
--}
-flagsGetFirstValue ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.FlagsClass.FlagsClass
-    {- ^ /@flagsClass@/: a 'GI.GObject.Structs.FlagsClass.FlagsClass' -}
-    -> Word32
-    {- ^ /@value@/: the value -}
-    -> m GObject.FlagsValue.FlagsValue
-    {- ^ __Returns:__ the first 'GI.GObject.Structs.FlagsValue.FlagsValue' which is set in
-         /@value@/, or 'Nothing' if none is set -}
-flagsGetFirstValue flagsClass value = liftIO $ do
-    flagsClass' <- unsafeManagedPtrGetPtr flagsClass
-    result <- g_flags_get_first_value flagsClass' value
-    checkUnexpectedReturnNULL "flagsGetFirstValue" result
-    result' <- (newPtr GObject.FlagsValue.FlagsValue) result
-    touchManagedPtr flagsClass
-    return result'
-
-
--- function g_flags_complete_type_info
--- Args : [Arg {argCName = "g_flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type identifier of the type being completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeInfo struct to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "const_values", argType = TInterface (Name {namespace = "GObject", name = "FlagsValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GFlagsValue structs for the possible\n enumeration values. The array is terminated by a struct with all\n members being 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_complete_type_info" g_flags_complete_type_info :: 
-    CGType ->                               -- g_flags_type : TBasicType TGType
-    Ptr (Ptr GObject.TypeInfo.TypeInfo) ->  -- info : TInterface (Name {namespace = "GObject", name = "TypeInfo"})
-    Ptr GObject.FlagsValue.FlagsValue ->    -- const_values : TInterface (Name {namespace = "GObject", name = "FlagsValue"})
-    IO ()
-
-{- |
-This function is meant to be called from the @/complete_type_info()/@
-function of a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' implementation, see the example for
-'GI.GObject.Functions.enumCompleteTypeInfo' above.
--}
-flagsCompleteTypeInfo ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@gFlagsType@/: the type identifier of the type being completed -}
-    -> GObject.FlagsValue.FlagsValue
-    {- ^ /@constValues@/: An array of 'GI.GObject.Structs.FlagsValue.FlagsValue' structs for the possible
- enumeration values. The array is terminated by a struct with all
- members being 0. -}
-    -> m (GObject.TypeInfo.TypeInfo)
-flagsCompleteTypeInfo gFlagsType constValues = liftIO $ do
-    let gFlagsType' = gtypeToCGType gFlagsType
-    info <- allocMem :: IO (Ptr (Ptr GObject.TypeInfo.TypeInfo))
-    constValues' <- unsafeManagedPtrGetPtr constValues
-    g_flags_complete_type_info gFlagsType' info constValues'
-    info' <- peek info
-    info'' <- (wrapPtr GObject.TypeInfo.TypeInfo) info'
-    touchManagedPtr constValues
-    freeMem info
-    return info''
-
-
--- function g_enum_to_string
--- Args : [Arg {argCName = "g_enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type identifier of a #GEnumClass type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_to_string" g_enum_to_string :: 
-    CGType ->                               -- g_enum_type : TBasicType TGType
-    Int32 ->                                -- value : TBasicType TInt
-    IO CString
-
-{- |
-Pretty-prints /@value@/ in the form of the enum’s name.
-
-This is intended to be used for debugging purposes. The format of the output
-may change in the future.
-
-/Since: 2.54/
--}
-enumToString ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@gEnumType@/: the type identifier of a 'GI.GObject.Structs.EnumClass.EnumClass' type -}
-    -> Int32
-    {- ^ /@value@/: the value -}
-    -> m T.Text
-    {- ^ __Returns:__ a newly-allocated text string -}
-enumToString gEnumType value = liftIO $ do
-    let gEnumType' = gtypeToCGType gEnumType
-    result <- g_enum_to_string gEnumType' value
-    checkUnexpectedReturnNULL "enumToString" result
-    result' <- cstringToText result
-    freeMem result
-    return result'
-
-
--- function g_enum_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A nul-terminated string used as the name of the new type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface (Name {namespace = "GObject", name = "EnumValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GEnumValue structs for the possible\n enumeration values. The array is terminated by a struct with all\n members being 0. GObject keeps a reference to the data, so it cannot\n be stack-allocated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_register_static" g_enum_register_static :: 
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GObject.EnumValue.EnumValue ->      -- const_static_values : TInterface (Name {namespace = "GObject", name = "EnumValue"})
-    IO CGType
-
-{- |
-Registers a new static enumeration type with the name /@name@/.
-
-It is normally more convenient to let [glib-mkenums][glib-mkenums],
-generate a @/my_enum_get_type()/@ function from a usual C enumeration
-definition  than to write one yourself using 'GI.GObject.Functions.enumRegisterStatic'.
--}
-enumRegisterStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    T.Text
-    {- ^ /@name@/: A nul-terminated string used as the name of the new type. -}
-    -> GObject.EnumValue.EnumValue
-    {- ^ /@constStaticValues@/: An array of 'GI.GObject.Structs.EnumValue.EnumValue' structs for the possible
- enumeration values. The array is terminated by a struct with all
- members being 0. GObject keeps a reference to the data, so it cannot
- be stack-allocated. -}
-    -> m GType
-    {- ^ __Returns:__ The new type identifier. -}
-enumRegisterStatic name constStaticValues = liftIO $ do
-    name' <- textToCString name
-    constStaticValues' <- unsafeManagedPtrGetPtr constStaticValues
-    result <- g_enum_register_static name' constStaticValues'
-    let result' = GType result
-    touchManagedPtr constStaticValues
-    freeMem name'
-    return result'
-
-
--- function g_enum_get_value_by_nick
--- Args : [Arg {argCName = "enum_class", argType = TInterface (Name {namespace = "GObject", name = "EnumClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GEnumClass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nickname to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "EnumValue"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_get_value_by_nick" g_enum_get_value_by_nick :: 
-    Ptr GObject.EnumClass.EnumClass ->      -- enum_class : TInterface (Name {namespace = "GObject", name = "EnumClass"})
-    CString ->                              -- nick : TBasicType TUTF8
-    IO (Ptr GObject.EnumValue.EnumValue)
-
-{- |
-Looks up a 'GI.GObject.Structs.EnumValue.EnumValue' by nickname.
--}
-enumGetValueByNick ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.EnumClass.EnumClass
-    {- ^ /@enumClass@/: a 'GI.GObject.Structs.EnumClass.EnumClass' -}
-    -> T.Text
-    {- ^ /@nick@/: the nickname to look up -}
-    -> m GObject.EnumValue.EnumValue
-    {- ^ __Returns:__ the 'GI.GObject.Structs.EnumValue.EnumValue' with nickname /@nick@/,
-         or 'Nothing' if the enumeration doesn\'t have a member
-         with that nickname -}
-enumGetValueByNick enumClass nick = liftIO $ do
-    enumClass' <- unsafeManagedPtrGetPtr enumClass
-    nick' <- textToCString nick
-    result <- g_enum_get_value_by_nick enumClass' nick'
-    checkUnexpectedReturnNULL "enumGetValueByNick" result
-    result' <- (newPtr GObject.EnumValue.EnumValue) result
-    touchManagedPtr enumClass
-    freeMem nick'
-    return result'
-
-
--- function g_enum_get_value_by_name
--- Args : [Arg {argCName = "enum_class", argType = TInterface (Name {namespace = "GObject", name = "EnumClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GEnumClass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "EnumValue"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_get_value_by_name" g_enum_get_value_by_name :: 
-    Ptr GObject.EnumClass.EnumClass ->      -- enum_class : TInterface (Name {namespace = "GObject", name = "EnumClass"})
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr GObject.EnumValue.EnumValue)
-
-{- |
-Looks up a 'GI.GObject.Structs.EnumValue.EnumValue' by name.
--}
-enumGetValueByName ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.EnumClass.EnumClass
-    {- ^ /@enumClass@/: a 'GI.GObject.Structs.EnumClass.EnumClass' -}
-    -> T.Text
-    {- ^ /@name@/: the name to look up -}
-    -> m GObject.EnumValue.EnumValue
-    {- ^ __Returns:__ the 'GI.GObject.Structs.EnumValue.EnumValue' with name /@name@/,
-         or 'Nothing' if the enumeration doesn\'t have a member
-         with that name -}
-enumGetValueByName enumClass name = liftIO $ do
-    enumClass' <- unsafeManagedPtrGetPtr enumClass
-    name' <- textToCString name
-    result <- g_enum_get_value_by_name enumClass' name'
-    checkUnexpectedReturnNULL "enumGetValueByName" result
-    result' <- (newPtr GObject.EnumValue.EnumValue) result
-    touchManagedPtr enumClass
-    freeMem name'
-    return result'
-
-
--- function g_enum_get_value
--- Args : [Arg {argCName = "enum_class", argType = TInterface (Name {namespace = "GObject", name = "EnumClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GEnumClass", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "EnumValue"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_get_value" g_enum_get_value :: 
-    Ptr GObject.EnumClass.EnumClass ->      -- enum_class : TInterface (Name {namespace = "GObject", name = "EnumClass"})
-    Int32 ->                                -- value : TBasicType TInt
-    IO (Ptr GObject.EnumValue.EnumValue)
-
-{- |
-Returns the 'GI.GObject.Structs.EnumValue.EnumValue' for a value.
--}
-enumGetValue ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.EnumClass.EnumClass
-    {- ^ /@enumClass@/: a 'GI.GObject.Structs.EnumClass.EnumClass' -}
-    -> Int32
-    {- ^ /@value@/: the value to look up -}
-    -> m GObject.EnumValue.EnumValue
-    {- ^ __Returns:__ the 'GI.GObject.Structs.EnumValue.EnumValue' for /@value@/, or 'Nothing'
-         if /@value@/ is not a member of the enumeration -}
-enumGetValue enumClass value = liftIO $ do
-    enumClass' <- unsafeManagedPtrGetPtr enumClass
-    result <- g_enum_get_value enumClass' value
-    checkUnexpectedReturnNULL "enumGetValue" result
-    result' <- (newPtr GObject.EnumValue.EnumValue) result
-    touchManagedPtr enumClass
-    return result'
-
-
--- function g_enum_complete_type_info
--- Args : [Arg {argCName = "g_enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type identifier of the type being completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeInfo struct to be filled in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "const_values", argType = TInterface (Name {namespace = "GObject", name = "EnumValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GEnumValue structs for the possible\n enumeration values. The array is terminated by a struct with all\n members being 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_complete_type_info" g_enum_complete_type_info :: 
-    CGType ->                               -- g_enum_type : TBasicType TGType
-    Ptr (Ptr GObject.TypeInfo.TypeInfo) ->  -- info : TInterface (Name {namespace = "GObject", name = "TypeInfo"})
-    Ptr GObject.EnumValue.EnumValue ->      -- const_values : TInterface (Name {namespace = "GObject", name = "EnumValue"})
-    IO ()
-
-{- |
-This function is meant to be called from the @complete_type_info@
-function of a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' implementation, as in the following
-example:
-
-
-=== /C code/
->
->static void
->my_enum_complete_type_info (GTypePlugin     *plugin,
->                            GType            g_type,
->                            GTypeInfo       *info,
->                            GTypeValueTable *value_table)
->{
->  static const GEnumValue values[] = {
->    { MY_ENUM_FOO, "MY_ENUM_FOO", "foo" },
->    { MY_ENUM_BAR, "MY_ENUM_BAR", "bar" },
->    { 0, NULL, NULL }
->  };
->
->  g_enum_complete_type_info (type, info, values);
->}
--}
-enumCompleteTypeInfo ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@gEnumType@/: the type identifier of the type being completed -}
-    -> GObject.EnumValue.EnumValue
-    {- ^ /@constValues@/: An array of 'GI.GObject.Structs.EnumValue.EnumValue' structs for the possible
- enumeration values. The array is terminated by a struct with all
- members being 0. -}
-    -> m (GObject.TypeInfo.TypeInfo)
-enumCompleteTypeInfo gEnumType constValues = liftIO $ do
-    let gEnumType' = gtypeToCGType gEnumType
-    info <- allocMem :: IO (Ptr (Ptr GObject.TypeInfo.TypeInfo))
-    constValues' <- unsafeManagedPtrGetPtr constValues
-    g_enum_complete_type_info gEnumType' info constValues'
-    info' <- peek info
-    info'' <- (wrapPtr GObject.TypeInfo.TypeInfo) info'
-    touchManagedPtr constValues
-    freeMem info
-    return info''
-
-
--- function g_boxed_free
--- Args : [Arg {argCName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type of @boxed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The boxed structure to be freed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_boxed_free" g_boxed_free :: 
-    CGType ->                               -- boxed_type : TBasicType TGType
-    Ptr () ->                               -- boxed : TBasicType TPtr
-    IO ()
-
-{- |
-Free the boxed structure /@boxed@/ which is of type /@boxedType@/.
--}
-boxedFree ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@boxedType@/: The type of /@boxed@/. -}
-    -> Ptr ()
-    {- ^ /@boxed@/: The boxed structure to be freed. -}
-    -> m ()
-boxedFree boxedType boxed = liftIO $ do
-    let boxedType' = gtypeToCGType boxedType
-    g_boxed_free boxedType' boxed
-    return ()
-
-
--- function g_boxed_copy
--- Args : [Arg {argCName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type of @src_boxed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The boxed structure to be copied.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_boxed_copy" g_boxed_copy :: 
-    CGType ->                               -- boxed_type : TBasicType TGType
-    Ptr () ->                               -- src_boxed : TBasicType TPtr
-    IO (Ptr ())
-
-{- |
-Provide a copy of a boxed structure /@srcBoxed@/ which is of type /@boxedType@/.
--}
-boxedCopy ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@boxedType@/: The type of /@srcBoxed@/. -}
-    -> Ptr ()
-    {- ^ /@srcBoxed@/: The boxed structure to be copied. -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ The newly created copy of the boxed
-   structure. -}
-boxedCopy boxedType srcBoxed = liftIO $ do
-    let boxedType' = gtypeToCGType boxedType
-    result <- g_boxed_copy boxedType' srcBoxed
-    return result
-
-
-
diff --git a/GI/GObject/Interfaces.hs b/GI/GObject/Interfaces.hs
deleted file mode 100644
--- a/GI/GObject/Interfaces.hs
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Interfaces
-    (     module GI.GObject.Interfaces.TypePlugin ,
-
-
-    ) where
-
-import GI.GObject.Interfaces.TypePlugin
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
-
diff --git a/GI/GObject/Interfaces/TypePlugin.hs b/GI/GObject/Interfaces/TypePlugin.hs
deleted file mode 100644
--- a/GI/GObject/Interfaces/TypePlugin.hs
+++ /dev/null
@@ -1,341 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The GObject type system supports dynamic loading of types.
-The 'GI.GObject.Interfaces.TypePlugin.TypePlugin' interface is used to handle the lifecycle
-of dynamically loaded types. It goes as follows:
-
-1. The type is initially introduced (usually upon loading the module
-   the first time, or by your main application that knows what modules
-   introduces what types), like this:
-   
-=== /C code/
->
->   new_type_id = g_type_register_dynamic (parent_type_id,
->                                          "TypeName",
->                                          new_type_plugin,
->                                          type_flags);
->   
-
-   where /@newTypePlugin@/ is an implementation of the
-   'GI.GObject.Interfaces.TypePlugin.TypePlugin' interface.
-
-2. The type\'s implementation is referenced, e.g. through
-   'GI.GObject.Functions.typeClassRef' or through @/g_type_create_instance()/@ (this is
-   being called by @/g_object_new()/@) or through one of the above done on
-   a type derived from /@newTypeId@/.
-
-3. This causes the type system to load the type\'s implementation by
-   calling 'GI.GObject.Interfaces.TypePlugin.typePluginUse' and 'GI.GObject.Interfaces.TypePlugin.typePluginCompleteTypeInfo'
-   on /@newTypePlugin@/.
-
-4. At some point the type\'s implementation isn\'t required anymore,
-   e.g. after 'GI.GObject.Structs.TypeClass.typeClassUnref' or 'GI.GObject.Functions.typeFreeInstance' (called
-   when the reference count of an instance drops to zero).
-
-5. This causes the type system to throw away the information retrieved
-   from 'GI.GObject.Interfaces.TypePlugin.typePluginCompleteTypeInfo' and then it calls
-   'GI.GObject.Interfaces.TypePlugin.typePluginUnuse' on /@newTypePlugin@/.
-
-6. Things may repeat from the second step.
-
-So basically, you need to implement a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' type that
-carries a use_count, once use_count goes from zero to one, you need
-to load the implementation to successfully handle the upcoming
-'GI.GObject.Interfaces.TypePlugin.typePluginCompleteTypeInfo' call. Later, maybe after
-succeeding use\/unuse calls, once use_count drops to zero, you can
-unload the implementation again. The type system makes sure to call
-'GI.GObject.Interfaces.TypePlugin.typePluginUse' and 'GI.GObject.Interfaces.TypePlugin.typePluginCompleteTypeInfo' again
-when the type is needed again.
-
-'GI.GObject.Objects.TypeModule.TypeModule' is an implementation of 'GI.GObject.Interfaces.TypePlugin.TypePlugin' that already
-implements most of this except for the actual module loading and
-unloading. It even handles multiple registered types per module.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Interfaces.TypePlugin
-    ( 
-
--- * Exported types
-    TypePlugin(..)                          ,
-    noTypePlugin                            ,
-    IsTypePlugin                            ,
-
-
- -- * Methods
--- ** completeInterfaceInfo #method:completeInterfaceInfo#
-
-#if ENABLE_OVERLOADING
-    TypePluginCompleteInterfaceInfoMethodInfo,
-#endif
-    typePluginCompleteInterfaceInfo         ,
-
-
--- ** completeTypeInfo #method:completeTypeInfo#
-
-#if ENABLE_OVERLOADING
-    TypePluginCompleteTypeInfoMethodInfo    ,
-#endif
-    typePluginCompleteTypeInfo              ,
-
-
--- ** unuse #method:unuse#
-
-#if ENABLE_OVERLOADING
-    TypePluginUnuseMethodInfo               ,
-#endif
-    typePluginUnuse                         ,
-
-
--- ** use #method:use#
-
-#if ENABLE_OVERLOADING
-    TypePluginUseMethodInfo                 ,
-#endif
-    typePluginUse                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Structs.InterfaceInfo as GObject.InterfaceInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInfo as GObject.TypeInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeValueTable as GObject.TypeValueTable
-
--- interface TypePlugin 
--- | Memory-managed wrapper type.
-newtype TypePlugin = TypePlugin (ManagedPtr TypePlugin)
--- | A convenience alias for `Nothing` :: `Maybe` `TypePlugin`.
-noTypePlugin :: Maybe TypePlugin
-noTypePlugin = Nothing
-
-#if ENABLE_OVERLOADING
-type instance O.SignalList TypePlugin = TypePluginSignalList
-type TypePluginSignalList = ('[ ] :: [(Symbol, *)])
-
-#endif
-
--- | Type class for types which implement `TypePlugin`.
-class ManagedPtrNewtype a => IsTypePlugin a
-instance IsTypePlugin TypePlugin
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr TypePlugin where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-
-#if ENABLE_OVERLOADING
-type family ResolveTypePluginMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypePluginMethod "completeInterfaceInfo" o = TypePluginCompleteInterfaceInfoMethodInfo
-    ResolveTypePluginMethod "completeTypeInfo" o = TypePluginCompleteTypeInfoMethodInfo
-    ResolveTypePluginMethod "unuse" o = TypePluginUnuseMethodInfo
-    ResolveTypePluginMethod "use" o = TypePluginUseMethodInfo
-    ResolveTypePluginMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypePluginMethod t TypePlugin, O.MethodInfo info TypePlugin p) => OL.IsLabel t (TypePlugin -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
--- method TypePlugin::complete_interface_info
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an instantiable type to which the interface\n is added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of the interface whose info is completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "InterfaceInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GInterfaceInfo to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_plugin_complete_interface_info" g_type_plugin_complete_interface_info :: 
-    Ptr TypePlugin ->                       -- plugin : TInterface (Name {namespace = "GObject", name = "TypePlugin"})
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr GObject.InterfaceInfo.InterfaceInfo -> -- info : TInterface (Name {namespace = "GObject", name = "InterfaceInfo"})
-    IO ()
-
-{- |
-Calls the /@completeInterfaceInfo@/ function from the
-@/GTypePluginClass/@ of /@plugin@/. There should be no need to use this
-function outside of the GObject type system itself.
--}
-typePluginCompleteInterfaceInfo ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypePlugin a) =>
-    a
-    {- ^ /@plugin@/: the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> GType
-    {- ^ /@instanceType@/: the 'GType' of an instantiable type to which the interface
- is added -}
-    -> GType
-    {- ^ /@interfaceType@/: the 'GType' of the interface whose info is completed -}
-    -> GObject.InterfaceInfo.InterfaceInfo
-    {- ^ /@info@/: the 'GI.GObject.Structs.InterfaceInfo.InterfaceInfo' to fill in -}
-    -> m ()
-typePluginCompleteInterfaceInfo plugin instanceType interfaceType info = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    info' <- unsafeManagedPtrGetPtr info
-    g_type_plugin_complete_interface_info plugin' instanceType' interfaceType' info'
-    touchManagedPtr plugin
-    touchManagedPtr info
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypePluginCompleteInterfaceInfoMethodInfo
-instance (signature ~ (GType -> GType -> GObject.InterfaceInfo.InterfaceInfo -> m ()), MonadIO m, IsTypePlugin a) => O.MethodInfo TypePluginCompleteInterfaceInfoMethodInfo a signature where
-    overloadedMethod _ = typePluginCompleteInterfaceInfo
-
-#endif
-
--- method TypePlugin::complete_type_info
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType whose info is completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeInfo struct to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value_table", argType = TInterface (Name {namespace = "GObject", name = "TypeValueTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeValueTable to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_plugin_complete_type_info" g_type_plugin_complete_type_info :: 
-    Ptr TypePlugin ->                       -- plugin : TInterface (Name {namespace = "GObject", name = "TypePlugin"})
-    CGType ->                               -- g_type : TBasicType TGType
-    Ptr GObject.TypeInfo.TypeInfo ->        -- info : TInterface (Name {namespace = "GObject", name = "TypeInfo"})
-    Ptr GObject.TypeValueTable.TypeValueTable -> -- value_table : TInterface (Name {namespace = "GObject", name = "TypeValueTable"})
-    IO ()
-
-{- |
-Calls the /@completeTypeInfo@/ function from the @/GTypePluginClass/@ of /@plugin@/.
-There should be no need to use this function outside of the GObject
-type system itself.
--}
-typePluginCompleteTypeInfo ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypePlugin a) =>
-    a
-    {- ^ /@plugin@/: a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> GType
-    {- ^ /@gType@/: the 'GType' whose info is completed -}
-    -> GObject.TypeInfo.TypeInfo
-    {- ^ /@info@/: the 'GI.GObject.Structs.TypeInfo.TypeInfo' struct to fill in -}
-    -> GObject.TypeValueTable.TypeValueTable
-    {- ^ /@valueTable@/: the 'GI.GObject.Structs.TypeValueTable.TypeValueTable' to fill in -}
-    -> m ()
-typePluginCompleteTypeInfo plugin gType info valueTable = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    let gType' = gtypeToCGType gType
-    info' <- unsafeManagedPtrGetPtr info
-    valueTable' <- unsafeManagedPtrGetPtr valueTable
-    g_type_plugin_complete_type_info plugin' gType' info' valueTable'
-    touchManagedPtr plugin
-    touchManagedPtr info
-    touchManagedPtr valueTable
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypePluginCompleteTypeInfoMethodInfo
-instance (signature ~ (GType -> GObject.TypeInfo.TypeInfo -> GObject.TypeValueTable.TypeValueTable -> m ()), MonadIO m, IsTypePlugin a) => O.MethodInfo TypePluginCompleteTypeInfoMethodInfo a signature where
-    overloadedMethod _ = typePluginCompleteTypeInfo
-
-#endif
-
--- method TypePlugin::unuse
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_plugin_unuse" g_type_plugin_unuse :: 
-    Ptr TypePlugin ->                       -- plugin : TInterface (Name {namespace = "GObject", name = "TypePlugin"})
-    IO ()
-
-{- |
-Calls the /@unusePlugin@/ function from the @/GTypePluginClass/@ of
-/@plugin@/.  There should be no need to use this function outside of
-the GObject type system itself.
--}
-typePluginUnuse ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypePlugin a) =>
-    a
-    {- ^ /@plugin@/: a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> m ()
-typePluginUnuse plugin = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    g_type_plugin_unuse plugin'
-    touchManagedPtr plugin
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypePluginUnuseMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsTypePlugin a) => O.MethodInfo TypePluginUnuseMethodInfo a signature where
-    overloadedMethod _ = typePluginUnuse
-
-#endif
-
--- method TypePlugin::use
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "GObject", name = "TypePlugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypePlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_plugin_use" g_type_plugin_use :: 
-    Ptr TypePlugin ->                       -- plugin : TInterface (Name {namespace = "GObject", name = "TypePlugin"})
-    IO ()
-
-{- |
-Calls the /@usePlugin@/ function from the @/GTypePluginClass/@ of
-/@plugin@/.  There should be no need to use this function outside of
-the GObject type system itself.
--}
-typePluginUse ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypePlugin a) =>
-    a
-    {- ^ /@plugin@/: a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' -}
-    -> m ()
-typePluginUse plugin = liftIO $ do
-    plugin' <- unsafeManagedPtrCastPtr plugin
-    g_type_plugin_use plugin'
-    touchManagedPtr plugin
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypePluginUseMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsTypePlugin a) => O.MethodInfo TypePluginUseMethodInfo a signature where
-    overloadedMethod _ = typePluginUse
-
-#endif
-
-
diff --git a/GI/GObject/Interfaces/TypePlugin.hs-boot b/GI/GObject/Interfaces/TypePlugin.hs-boot
deleted file mode 100644
--- a/GI/GObject/Interfaces/TypePlugin.hs-boot
+++ /dev/null
@@ -1,39 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Interfaces.TypePlugin where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypePlugin = TypePlugin (ManagedPtr TypePlugin)
-class ManagedPtrNewtype a => IsTypePlugin a
-instance WrappedPtr TypePlugin where
-#if ENABLE_OVERLOADING
-data TypePluginCompleteInterfaceInfoMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypePluginCompleteTypeInfoMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypePluginUnuseMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypePluginUseMethodInfo
-#endif
diff --git a/GI/GObject/Objects.hs b/GI/GObject/Objects.hs
deleted file mode 100644
--- a/GI/GObject/Objects.hs
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects
-    (     module GI.GObject.Objects.Binding       ,
-    module GI.GObject.Objects.InitiallyUnowned,
-    module GI.GObject.Objects.Object        ,
-    module GI.GObject.Objects.ParamSpec     ,
-    module GI.GObject.Objects.ParamSpecBoolean,
-    module GI.GObject.Objects.ParamSpecBoxed,
-    module GI.GObject.Objects.ParamSpecChar ,
-    module GI.GObject.Objects.ParamSpecDouble,
-    module GI.GObject.Objects.ParamSpecEnum ,
-    module GI.GObject.Objects.ParamSpecFlags,
-    module GI.GObject.Objects.ParamSpecFloat,
-    module GI.GObject.Objects.ParamSpecGType,
-    module GI.GObject.Objects.ParamSpecInt  ,
-    module GI.GObject.Objects.ParamSpecInt64,
-    module GI.GObject.Objects.ParamSpecLong ,
-    module GI.GObject.Objects.ParamSpecObject,
-    module GI.GObject.Objects.ParamSpecOverride,
-    module GI.GObject.Objects.ParamSpecParam,
-    module GI.GObject.Objects.ParamSpecPointer,
-    module GI.GObject.Objects.ParamSpecString,
-    module GI.GObject.Objects.ParamSpecUChar,
-    module GI.GObject.Objects.ParamSpecUInt ,
-    module GI.GObject.Objects.ParamSpecUInt64,
-    module GI.GObject.Objects.ParamSpecULong,
-    module GI.GObject.Objects.ParamSpecUnichar,
-    module GI.GObject.Objects.ParamSpecValueArray,
-    module GI.GObject.Objects.ParamSpecVariant,
-    module GI.GObject.Objects.TypeModule    ,
-
-
-    ) where
-
-import GI.GObject.Objects.Binding
-import GI.GObject.Objects.InitiallyUnowned
-import GI.GObject.Objects.Object
-import GI.GObject.Objects.ParamSpec
-import GI.GObject.Objects.ParamSpecBoolean
-import GI.GObject.Objects.ParamSpecBoxed
-import GI.GObject.Objects.ParamSpecChar
-import GI.GObject.Objects.ParamSpecDouble
-import GI.GObject.Objects.ParamSpecEnum
-import GI.GObject.Objects.ParamSpecFlags
-import GI.GObject.Objects.ParamSpecFloat
-import GI.GObject.Objects.ParamSpecGType
-import GI.GObject.Objects.ParamSpecInt
-import GI.GObject.Objects.ParamSpecInt64
-import GI.GObject.Objects.ParamSpecLong
-import GI.GObject.Objects.ParamSpecObject
-import GI.GObject.Objects.ParamSpecOverride
-import GI.GObject.Objects.ParamSpecParam
-import GI.GObject.Objects.ParamSpecPointer
-import GI.GObject.Objects.ParamSpecString
-import GI.GObject.Objects.ParamSpecUChar
-import GI.GObject.Objects.ParamSpecUInt
-import GI.GObject.Objects.ParamSpecUInt64
-import GI.GObject.Objects.ParamSpecULong
-import GI.GObject.Objects.ParamSpecUnichar
-import GI.GObject.Objects.ParamSpecValueArray
-import GI.GObject.Objects.ParamSpecVariant
-import GI.GObject.Objects.TypeModule
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
-
diff --git a/GI/GObject/Objects/Binding.hs b/GI/GObject/Objects/Binding.hs
deleted file mode 100644
--- a/GI/GObject/Objects/Binding.hs
+++ /dev/null
@@ -1,776 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-'GI.GObject.Objects.Binding.Binding' is the representation of a binding between a property on a
-'GI.GObject.Objects.Object.Object' instance (or source) and another property on another 'GI.GObject.Objects.Object.Object'
-instance (or target). Whenever the source property changes, the same
-value is applied to the target property; for instance, the following
-binding:
-
-
-=== /C code/
->
->  g_object_bind_property (object1, "property-a",
->                          object2, "property-b",
->                          G_BINDING_DEFAULT);
-
-
-will cause the property named \"property-b\" of /@object2@/ to be updated
-every time @/g_object_set()/@ or the specific accessor changes the value of
-the property \"property-a\" of /@object1@/.
-
-It is possible to create a bidirectional binding between two properties
-of two 'GI.GObject.Objects.Object.Object' instances, so that if either property changes, the
-other is updated as well, for instance:
-
-
-=== /C code/
->
->  g_object_bind_property (object1, "property-a",
->                          object2, "property-b",
->                          G_BINDING_BIDIRECTIONAL);
-
-
-will keep the two properties in sync.
-
-It is also possible to set a custom transformation function (in both
-directions, in case of a bidirectional binding) to apply a custom
-transformation from the source value to the target value before
-applying it; for instance, the following binding:
-
-
-=== /C code/
->
->  g_object_bind_property_full (adjustment1, "value",
->                               adjustment2, "value",
->                               G_BINDING_BIDIRECTIONAL,
->                               celsius_to_fahrenheit,
->                               fahrenheit_to_celsius,
->                               NULL, NULL);
-
-
-will keep the \"value\" property of the two adjustments in sync; the
-/@celsiusToFahrenheit@/ function will be called whenever the \"value\"
-property of /@adjustment1@/ changes and will transform the current value
-of the property before applying it to the \"value\" property of /@adjustment2@/.
-
-Vice versa, the /@fahrenheitToCelsius@/ function will be called whenever
-the \"value\" property of /@adjustment2@/ changes, and will transform the
-current value of the property before applying it to the \"value\" property
-of /@adjustment1@/.
-
-Note that 'GI.GObject.Objects.Binding.Binding' does not resolve cycles by itself; a cycle like
-
->
->  object1:propertyA -> object2:propertyB
->  object2:propertyB -> object3:propertyC
->  object3:propertyC -> object1:propertyA
-
-
-might lead to an infinite loop. The loop, in this particular case,
-can be avoided if the objects emit the 'GI.GObject.Objects.Object.Object'::@/notify/@ signal only
-if the value has effectively been changed. A binding is implemented
-using the 'GI.GObject.Objects.Object.Object'::@/notify/@ signal, so it is susceptible to all the
-various ways of blocking a signal emission, like 'GI.GObject.Functions.signalStopEmission'
-or 'GI.GObject.Functions.signalHandlerBlock'.
-
-A binding will be severed, and the resources it allocates freed, whenever
-either one of the 'GI.GObject.Objects.Object.Object' instances it refers to are finalized, or when
-the 'GI.GObject.Objects.Binding.Binding' instance loses its last reference.
-
-Bindings for languages with garbage collection can use
-'GI.GObject.Objects.Binding.bindingUnbind' to explicitly release a binding between the source
-and target properties, instead of relying on the last reference on the
-binding, source, and target instances to drop.
-
-'GI.GObject.Objects.Binding.Binding' is available since GObject 2.26
-
-/Since: 2.26/
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.Binding
-    ( 
-
--- * Exported types
-    Binding(..)                             ,
-    IsBinding                               ,
-    toBinding                               ,
-    noBinding                               ,
-
-
- -- * Methods
--- ** getFlags #method:getFlags#
-
-#if ENABLE_OVERLOADING
-    BindingGetFlagsMethodInfo               ,
-#endif
-    bindingGetFlags                         ,
-
-
--- ** getSource #method:getSource#
-
-#if ENABLE_OVERLOADING
-    BindingGetSourceMethodInfo              ,
-#endif
-    bindingGetSource                        ,
-
-
--- ** getSourceProperty #method:getSourceProperty#
-
-#if ENABLE_OVERLOADING
-    BindingGetSourcePropertyMethodInfo      ,
-#endif
-    bindingGetSourceProperty                ,
-
-
--- ** getTarget #method:getTarget#
-
-#if ENABLE_OVERLOADING
-    BindingGetTargetMethodInfo              ,
-#endif
-    bindingGetTarget                        ,
-
-
--- ** getTargetProperty #method:getTargetProperty#
-
-#if ENABLE_OVERLOADING
-    BindingGetTargetPropertyMethodInfo      ,
-#endif
-    bindingGetTargetProperty                ,
-
-
--- ** unbind #method:unbind#
-
-#if ENABLE_OVERLOADING
-    BindingUnbindMethodInfo                 ,
-#endif
-    bindingUnbind                           ,
-
-
-
-
- -- * Properties
--- ** flags #attr:flags#
-{- | Flags to be used to control the 'GI.GObject.Objects.Binding.Binding'
-
-/Since: 2.26/
--}
-#if ENABLE_OVERLOADING
-    BindingFlagsPropertyInfo                ,
-#endif
-#if ENABLE_OVERLOADING
-    bindingFlags                            ,
-#endif
-    constructBindingFlags                   ,
-    getBindingFlags                         ,
-
-
--- ** source #attr:source#
-{- | The 'GI.GObject.Objects.Object.Object' that should be used as the source of the binding
-
-/Since: 2.26/
--}
-#if ENABLE_OVERLOADING
-    BindingSourcePropertyInfo               ,
-#endif
-#if ENABLE_OVERLOADING
-    bindingSource                           ,
-#endif
-    constructBindingSource                  ,
-    getBindingSource                        ,
-
-
--- ** sourceProperty #attr:sourceProperty#
-{- | The name of the property of 'GI.GObject.Objects.Binding.Binding':@/source/@ that should be used
-as the source of the binding
-
-/Since: 2.26/
--}
-#if ENABLE_OVERLOADING
-    BindingSourcePropertyPropertyInfo       ,
-#endif
-#if ENABLE_OVERLOADING
-    bindingSourceProperty                   ,
-#endif
-    constructBindingSourceProperty          ,
-    getBindingSourceProperty                ,
-
-
--- ** target #attr:target#
-{- | The 'GI.GObject.Objects.Object.Object' that should be used as the target of the binding
-
-/Since: 2.26/
--}
-#if ENABLE_OVERLOADING
-    BindingTargetPropertyInfo               ,
-#endif
-#if ENABLE_OVERLOADING
-    bindingTarget                           ,
-#endif
-    constructBindingTarget                  ,
-    getBindingTarget                        ,
-
-
--- ** targetProperty #attr:targetProperty#
-{- | The name of the property of 'GI.GObject.Objects.Binding.Binding':@/target/@ that should be used
-as the target of the binding
-
-/Since: 2.26/
--}
-#if ENABLE_OVERLOADING
-    BindingTargetPropertyPropertyInfo       ,
-#endif
-#if ENABLE_OVERLOADING
-    bindingTargetProperty                   ,
-#endif
-    constructBindingTargetProperty          ,
-    getBindingTargetProperty                ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-import {-# SOURCE #-} qualified GI.GObject.Objects.Object as GObject.Object
-
--- | Memory-managed wrapper type.
-newtype Binding = Binding (ManagedPtr Binding)
-foreign import ccall "g_binding_get_type"
-    c_g_binding_get_type :: IO GType
-
-instance GObject Binding where
-    gobjectType = c_g_binding_get_type
-    
-
--- | Type class for types which can be safely cast to `Binding`, for instance with `toBinding`.
-class (GObject o, O.IsDescendantOf Binding o) => IsBinding o
-instance (GObject o, O.IsDescendantOf Binding o) => IsBinding o
-
-instance O.HasParentTypes Binding
-type instance O.ParentTypes Binding = '[GObject.Object.Object]
-
--- | Cast to `Binding`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
-toBinding :: (MonadIO m, IsBinding o) => o -> m Binding
-toBinding = liftIO . unsafeCastTo Binding
-
--- | A convenience alias for `Nothing` :: `Maybe` `Binding`.
-noBinding :: Maybe Binding
-noBinding = Nothing
-
-#if ENABLE_OVERLOADING
-type family ResolveBindingMethod (t :: Symbol) (o :: *) :: * where
-    ResolveBindingMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
-    ResolveBindingMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
-    ResolveBindingMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
-    ResolveBindingMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
-    ResolveBindingMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
-    ResolveBindingMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
-    ResolveBindingMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
-    ResolveBindingMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
-    ResolveBindingMethod "ref" o = GObject.Object.ObjectRefMethodInfo
-    ResolveBindingMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
-    ResolveBindingMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
-    ResolveBindingMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
-    ResolveBindingMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
-    ResolveBindingMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
-    ResolveBindingMethod "unbind" o = BindingUnbindMethodInfo
-    ResolveBindingMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
-    ResolveBindingMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
-    ResolveBindingMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
-    ResolveBindingMethod "getFlags" o = BindingGetFlagsMethodInfo
-    ResolveBindingMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
-    ResolveBindingMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
-    ResolveBindingMethod "getSource" o = BindingGetSourceMethodInfo
-    ResolveBindingMethod "getSourceProperty" o = BindingGetSourcePropertyMethodInfo
-    ResolveBindingMethod "getTarget" o = BindingGetTargetMethodInfo
-    ResolveBindingMethod "getTargetProperty" o = BindingGetTargetPropertyMethodInfo
-    ResolveBindingMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
-    ResolveBindingMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
-    ResolveBindingMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
-    ResolveBindingMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveBindingMethod t Binding, O.MethodInfo info Binding p) => OL.IsLabel t (Binding -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
--- VVV Prop "flags"
-   -- Type: TInterface (Name {namespace = "GObject", name = "BindingFlags"})
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-{- |
-Get the value of the “@flags@” property.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' binding #flags
-@
--}
-getBindingFlags :: (MonadIO m, IsBinding o) => o -> m [GObject.Flags.BindingFlags]
-getBindingFlags obj = liftIO $ B.Properties.getObjectPropertyFlags obj "flags"
-
-{- |
-Construct a `GValueConstruct` with valid value for the “@flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
--}
-constructBindingFlags :: (IsBinding o) => [GObject.Flags.BindingFlags] -> IO (GValueConstruct o)
-constructBindingFlags val = B.Properties.constructObjectPropertyFlags "flags" val
-
-#if ENABLE_OVERLOADING
-data BindingFlagsPropertyInfo
-instance AttrInfo BindingFlagsPropertyInfo where
-    type AttrAllowedOps BindingFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint BindingFlagsPropertyInfo = (~) [GObject.Flags.BindingFlags]
-    type AttrBaseTypeConstraint BindingFlagsPropertyInfo = IsBinding
-    type AttrGetType BindingFlagsPropertyInfo = [GObject.Flags.BindingFlags]
-    type AttrLabel BindingFlagsPropertyInfo = "flags"
-    type AttrOrigin BindingFlagsPropertyInfo = Binding
-    attrGet _ = getBindingFlags
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingFlags
-    attrClear _ = undefined
-#endif
-
--- VVV Prop "source"
-   -- Type: TInterface (Name {namespace = "GObject", name = "Object"})
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-{- |
-Get the value of the “@source@” property.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' binding #source
-@
--}
-getBindingSource :: (MonadIO m, IsBinding o) => o -> m GObject.Object.Object
-getBindingSource obj = liftIO $ checkUnexpectedNothing "getBindingSource" $ B.Properties.getObjectPropertyObject obj "source" GObject.Object.Object
-
-{- |
-Construct a `GValueConstruct` with valid value for the “@source@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
--}
-constructBindingSource :: (IsBinding o, GObject.Object.IsObject a) => a -> IO (GValueConstruct o)
-constructBindingSource val = B.Properties.constructObjectPropertyObject "source" (Just val)
-
-#if ENABLE_OVERLOADING
-data BindingSourcePropertyInfo
-instance AttrInfo BindingSourcePropertyInfo where
-    type AttrAllowedOps BindingSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingSourcePropertyInfo = GObject.Object.IsObject
-    type AttrBaseTypeConstraint BindingSourcePropertyInfo = IsBinding
-    type AttrGetType BindingSourcePropertyInfo = GObject.Object.Object
-    type AttrLabel BindingSourcePropertyInfo = "source"
-    type AttrOrigin BindingSourcePropertyInfo = Binding
-    attrGet _ = getBindingSource
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingSource
-    attrClear _ = undefined
-#endif
-
--- VVV Prop "source-property"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-{- |
-Get the value of the “@source-property@” property.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' binding #sourceProperty
-@
--}
-getBindingSourceProperty :: (MonadIO m, IsBinding o) => o -> m T.Text
-getBindingSourceProperty obj = liftIO $ checkUnexpectedNothing "getBindingSourceProperty" $ B.Properties.getObjectPropertyString obj "source-property"
-
-{- |
-Construct a `GValueConstruct` with valid value for the “@source-property@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
--}
-constructBindingSourceProperty :: (IsBinding o) => T.Text -> IO (GValueConstruct o)
-constructBindingSourceProperty val = B.Properties.constructObjectPropertyString "source-property" (Just val)
-
-#if ENABLE_OVERLOADING
-data BindingSourcePropertyPropertyInfo
-instance AttrInfo BindingSourcePropertyPropertyInfo where
-    type AttrAllowedOps BindingSourcePropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingSourcePropertyPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint BindingSourcePropertyPropertyInfo = IsBinding
-    type AttrGetType BindingSourcePropertyPropertyInfo = T.Text
-    type AttrLabel BindingSourcePropertyPropertyInfo = "source-property"
-    type AttrOrigin BindingSourcePropertyPropertyInfo = Binding
-    attrGet _ = getBindingSourceProperty
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingSourceProperty
-    attrClear _ = undefined
-#endif
-
--- VVV Prop "target"
-   -- Type: TInterface (Name {namespace = "GObject", name = "Object"})
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-{- |
-Get the value of the “@target@” property.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' binding #target
-@
--}
-getBindingTarget :: (MonadIO m, IsBinding o) => o -> m GObject.Object.Object
-getBindingTarget obj = liftIO $ checkUnexpectedNothing "getBindingTarget" $ B.Properties.getObjectPropertyObject obj "target" GObject.Object.Object
-
-{- |
-Construct a `GValueConstruct` with valid value for the “@target@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
--}
-constructBindingTarget :: (IsBinding o, GObject.Object.IsObject a) => a -> IO (GValueConstruct o)
-constructBindingTarget val = B.Properties.constructObjectPropertyObject "target" (Just val)
-
-#if ENABLE_OVERLOADING
-data BindingTargetPropertyInfo
-instance AttrInfo BindingTargetPropertyInfo where
-    type AttrAllowedOps BindingTargetPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingTargetPropertyInfo = GObject.Object.IsObject
-    type AttrBaseTypeConstraint BindingTargetPropertyInfo = IsBinding
-    type AttrGetType BindingTargetPropertyInfo = GObject.Object.Object
-    type AttrLabel BindingTargetPropertyInfo = "target"
-    type AttrOrigin BindingTargetPropertyInfo = Binding
-    attrGet _ = getBindingTarget
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingTarget
-    attrClear _ = undefined
-#endif
-
--- VVV Prop "target-property"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-{- |
-Get the value of the “@target-property@” property.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' binding #targetProperty
-@
--}
-getBindingTargetProperty :: (MonadIO m, IsBinding o) => o -> m T.Text
-getBindingTargetProperty obj = liftIO $ checkUnexpectedNothing "getBindingTargetProperty" $ B.Properties.getObjectPropertyString obj "target-property"
-
-{- |
-Construct a `GValueConstruct` with valid value for the “@target-property@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
--}
-constructBindingTargetProperty :: (IsBinding o) => T.Text -> IO (GValueConstruct o)
-constructBindingTargetProperty val = B.Properties.constructObjectPropertyString "target-property" (Just val)
-
-#if ENABLE_OVERLOADING
-data BindingTargetPropertyPropertyInfo
-instance AttrInfo BindingTargetPropertyPropertyInfo where
-    type AttrAllowedOps BindingTargetPropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingTargetPropertyPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint BindingTargetPropertyPropertyInfo = IsBinding
-    type AttrGetType BindingTargetPropertyPropertyInfo = T.Text
-    type AttrLabel BindingTargetPropertyPropertyInfo = "target-property"
-    type AttrOrigin BindingTargetPropertyPropertyInfo = Binding
-    attrGet _ = getBindingTargetProperty
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingTargetProperty
-    attrClear _ = undefined
-#endif
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList Binding
-type instance O.AttributeList Binding = BindingAttributeList
-type BindingAttributeList = ('[ '("flags", BindingFlagsPropertyInfo), '("source", BindingSourcePropertyInfo), '("sourceProperty", BindingSourcePropertyPropertyInfo), '("target", BindingTargetPropertyInfo), '("targetProperty", BindingTargetPropertyPropertyInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-bindingFlags :: AttrLabelProxy "flags"
-bindingFlags = AttrLabelProxy
-
-bindingSource :: AttrLabelProxy "source"
-bindingSource = AttrLabelProxy
-
-bindingSourceProperty :: AttrLabelProxy "sourceProperty"
-bindingSourceProperty = AttrLabelProxy
-
-bindingTarget :: AttrLabelProxy "target"
-bindingTarget = AttrLabelProxy
-
-bindingTargetProperty :: AttrLabelProxy "targetProperty"
-bindingTargetProperty = AttrLabelProxy
-
-#endif
-
-#if ENABLE_OVERLOADING
-type instance O.SignalList Binding = BindingSignalList
-type BindingSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
-#endif
-
--- method Binding::get_flags
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "BindingFlags"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_flags" g_binding_get_flags :: 
-    Ptr Binding ->                          -- binding : TInterface (Name {namespace = "GObject", name = "Binding"})
-    IO CUInt
-
-{- |
-Retrieves the flags passed when constructing the 'GI.GObject.Objects.Binding.Binding'.
-
-/Since: 2.26/
--}
-bindingGetFlags ::
-    (B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
-    a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> m [GObject.Flags.BindingFlags]
-    {- ^ __Returns:__ the 'GI.GObject.Flags.BindingFlags' used by the 'GI.GObject.Objects.Binding.Binding' -}
-bindingGetFlags binding = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    result <- g_binding_get_flags binding'
-    let result' = wordToGFlags result
-    touchManagedPtr binding
-    return result'
-
-#if ENABLE_OVERLOADING
-data BindingGetFlagsMethodInfo
-instance (signature ~ (m [GObject.Flags.BindingFlags]), MonadIO m, IsBinding a) => O.MethodInfo BindingGetFlagsMethodInfo a signature where
-    overloadedMethod _ = bindingGetFlags
-
-#endif
-
--- method Binding::get_source
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_source" g_binding_get_source :: 
-    Ptr Binding ->                          -- binding : TInterface (Name {namespace = "GObject", name = "Binding"})
-    IO (Ptr GObject.Object.Object)
-
-{- |
-Retrieves the 'GI.GObject.Objects.Object.Object' instance used as the source of the binding.
-
-/Since: 2.26/
--}
-bindingGetSource ::
-    (B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
-    a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> m GObject.Object.Object
-    {- ^ __Returns:__ the source 'GI.GObject.Objects.Object.Object' -}
-bindingGetSource binding = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    result <- g_binding_get_source binding'
-    checkUnexpectedReturnNULL "bindingGetSource" result
-    result' <- (newObject GObject.Object.Object) result
-    touchManagedPtr binding
-    return result'
-
-#if ENABLE_OVERLOADING
-data BindingGetSourceMethodInfo
-instance (signature ~ (m GObject.Object.Object), MonadIO m, IsBinding a) => O.MethodInfo BindingGetSourceMethodInfo a signature where
-    overloadedMethod _ = bindingGetSource
-
-#endif
-
--- method Binding::get_source_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_source_property" g_binding_get_source_property :: 
-    Ptr Binding ->                          -- binding : TInterface (Name {namespace = "GObject", name = "Binding"})
-    IO CString
-
-{- |
-Retrieves the name of the property of 'GI.GObject.Objects.Binding.Binding':@/source/@ used as the source
-of the binding.
-
-/Since: 2.26/
--}
-bindingGetSourceProperty ::
-    (B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
-    a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> m T.Text
-    {- ^ __Returns:__ the name of the source property -}
-bindingGetSourceProperty binding = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    result <- g_binding_get_source_property binding'
-    checkUnexpectedReturnNULL "bindingGetSourceProperty" result
-    result' <- cstringToText result
-    touchManagedPtr binding
-    return result'
-
-#if ENABLE_OVERLOADING
-data BindingGetSourcePropertyMethodInfo
-instance (signature ~ (m T.Text), MonadIO m, IsBinding a) => O.MethodInfo BindingGetSourcePropertyMethodInfo a signature where
-    overloadedMethod _ = bindingGetSourceProperty
-
-#endif
-
--- method Binding::get_target
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_target" g_binding_get_target :: 
-    Ptr Binding ->                          -- binding : TInterface (Name {namespace = "GObject", name = "Binding"})
-    IO (Ptr GObject.Object.Object)
-
-{- |
-Retrieves the 'GI.GObject.Objects.Object.Object' instance used as the target of the binding.
-
-/Since: 2.26/
--}
-bindingGetTarget ::
-    (B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
-    a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> m GObject.Object.Object
-    {- ^ __Returns:__ the target 'GI.GObject.Objects.Object.Object' -}
-bindingGetTarget binding = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    result <- g_binding_get_target binding'
-    checkUnexpectedReturnNULL "bindingGetTarget" result
-    result' <- (newObject GObject.Object.Object) result
-    touchManagedPtr binding
-    return result'
-
-#if ENABLE_OVERLOADING
-data BindingGetTargetMethodInfo
-instance (signature ~ (m GObject.Object.Object), MonadIO m, IsBinding a) => O.MethodInfo BindingGetTargetMethodInfo a signature where
-    overloadedMethod _ = bindingGetTarget
-
-#endif
-
--- method Binding::get_target_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_target_property" g_binding_get_target_property :: 
-    Ptr Binding ->                          -- binding : TInterface (Name {namespace = "GObject", name = "Binding"})
-    IO CString
-
-{- |
-Retrieves the name of the property of 'GI.GObject.Objects.Binding.Binding':@/target/@ used as the target
-of the binding.
-
-/Since: 2.26/
--}
-bindingGetTargetProperty ::
-    (B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
-    a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> m T.Text
-    {- ^ __Returns:__ the name of the target property -}
-bindingGetTargetProperty binding = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    result <- g_binding_get_target_property binding'
-    checkUnexpectedReturnNULL "bindingGetTargetProperty" result
-    result' <- cstringToText result
-    touchManagedPtr binding
-    return result'
-
-#if ENABLE_OVERLOADING
-data BindingGetTargetPropertyMethodInfo
-instance (signature ~ (m T.Text), MonadIO m, IsBinding a) => O.MethodInfo BindingGetTargetPropertyMethodInfo a signature where
-    overloadedMethod _ = bindingGetTargetProperty
-
-#endif
-
--- method Binding::unbind
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "GObject", name = "Binding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_unbind" g_binding_unbind :: 
-    Ptr Binding ->                          -- binding : TInterface (Name {namespace = "GObject", name = "Binding"})
-    IO ()
-
-{- |
-Explicitly releases the binding between the source and the target
-property expressed by /@binding@/.
-
-This function will release the reference that is being held on
-the /@binding@/ instance; if you want to hold on to the 'GI.GObject.Objects.Binding.Binding' instance
-after calling 'GI.GObject.Objects.Binding.bindingUnbind', you will need to hold a reference
-to it.
-
-/Since: 2.38/
--}
-bindingUnbind ::
-    (B.CallStack.HasCallStack, MonadIO m, IsBinding a) =>
-    a
-    {- ^ /@binding@/: a 'GI.GObject.Objects.Binding.Binding' -}
-    -> m ()
-bindingUnbind binding = liftIO $ do
-    binding' <- unsafeManagedPtrCastPtr binding
-    g_binding_unbind binding'
-    touchManagedPtr binding
-    return ()
-
-#if ENABLE_OVERLOADING
-data BindingUnbindMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsBinding a) => O.MethodInfo BindingUnbindMethodInfo a signature where
-    overloadedMethod _ = bindingUnbind
-
-#endif
-
-
diff --git a/GI/GObject/Objects/Binding.hs-boot b/GI/GObject/Objects/Binding.hs-boot
deleted file mode 100644
--- a/GI/GObject/Objects/Binding.hs-boot
+++ /dev/null
@@ -1,62 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Objects.Binding where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype Binding = Binding (ManagedPtr Binding)
-instance GObject Binding where
-class (GObject o, O.IsDescendantOf Binding o) => IsBinding o
-instance (GObject o, O.IsDescendantOf Binding o) => IsBinding o
-instance O.HasParentTypes Binding
-#if ENABLE_OVERLOADING
-data BindingFlagsPropertyInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingSourcePropertyInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingSourcePropertyPropertyInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingTargetPropertyInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingTargetPropertyPropertyInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingGetFlagsMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingGetSourceMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingGetSourcePropertyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingGetTargetMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingGetTargetPropertyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data BindingUnbindMethodInfo
-#endif
diff --git a/GI/GObject/Objects/InitiallyUnowned.hs b/GI/GObject/Objects/InitiallyUnowned.hs
deleted file mode 100644
--- a/GI/GObject/Objects/InitiallyUnowned.hs
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-All the fields in the GInitiallyUnowned structure
-are private to the 'GI.GObject.Objects.InitiallyUnowned.InitiallyUnowned' implementation and should never be
-accessed directly.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.InitiallyUnowned
-    ( 
-
--- * Exported types
-    InitiallyUnowned(..)                    ,
-    IsInitiallyUnowned                      ,
-    toInitiallyUnowned                      ,
-    noInitiallyUnowned                      ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Objects.Object as GObject.Object
-
--- | Memory-managed wrapper type.
-newtype InitiallyUnowned = InitiallyUnowned (ManagedPtr InitiallyUnowned)
-foreign import ccall "g_initially_unowned_get_type"
-    c_g_initially_unowned_get_type :: IO GType
-
-instance GObject InitiallyUnowned where
-    gobjectType = c_g_initially_unowned_get_type
-    
-
--- | Type class for types which can be safely cast to `InitiallyUnowned`, for instance with `toInitiallyUnowned`.
-class (GObject o, O.IsDescendantOf InitiallyUnowned o) => IsInitiallyUnowned o
-instance (GObject o, O.IsDescendantOf InitiallyUnowned o) => IsInitiallyUnowned o
-
-instance O.HasParentTypes InitiallyUnowned
-type instance O.ParentTypes InitiallyUnowned = '[GObject.Object.Object]
-
--- | Cast to `InitiallyUnowned`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
-toInitiallyUnowned :: (MonadIO m, IsInitiallyUnowned o) => o -> m InitiallyUnowned
-toInitiallyUnowned = liftIO . unsafeCastTo InitiallyUnowned
-
--- | A convenience alias for `Nothing` :: `Maybe` `InitiallyUnowned`.
-noInitiallyUnowned :: Maybe InitiallyUnowned
-noInitiallyUnowned = Nothing
-
-#if ENABLE_OVERLOADING
-type family ResolveInitiallyUnownedMethod (t :: Symbol) (o :: *) :: * where
-    ResolveInitiallyUnownedMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
-    ResolveInitiallyUnownedMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
-    ResolveInitiallyUnownedMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
-    ResolveInitiallyUnownedMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
-    ResolveInitiallyUnownedMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
-    ResolveInitiallyUnownedMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
-    ResolveInitiallyUnownedMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
-    ResolveInitiallyUnownedMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
-    ResolveInitiallyUnownedMethod "ref" o = GObject.Object.ObjectRefMethodInfo
-    ResolveInitiallyUnownedMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
-    ResolveInitiallyUnownedMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
-    ResolveInitiallyUnownedMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
-    ResolveInitiallyUnownedMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
-    ResolveInitiallyUnownedMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
-    ResolveInitiallyUnownedMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
-    ResolveInitiallyUnownedMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
-    ResolveInitiallyUnownedMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
-    ResolveInitiallyUnownedMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
-    ResolveInitiallyUnownedMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
-    ResolveInitiallyUnownedMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
-    ResolveInitiallyUnownedMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
-    ResolveInitiallyUnownedMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
-    ResolveInitiallyUnownedMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveInitiallyUnownedMethod t InitiallyUnowned, O.MethodInfo info InitiallyUnowned p) => OL.IsLabel t (InitiallyUnowned -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList InitiallyUnowned
-type instance O.AttributeList InitiallyUnowned = InitiallyUnownedAttributeList
-type InitiallyUnownedAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-type instance O.SignalList InitiallyUnowned = InitiallyUnownedSignalList
-type InitiallyUnownedSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
-#endif
-
-
diff --git a/GI/GObject/Objects/InitiallyUnowned.hs-boot b/GI/GObject/Objects/InitiallyUnowned.hs-boot
deleted file mode 100644
--- a/GI/GObject/Objects/InitiallyUnowned.hs-boot
+++ /dev/null
@@ -1,29 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Objects.InitiallyUnowned where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype InitiallyUnowned = InitiallyUnowned (ManagedPtr InitiallyUnowned)
-instance GObject InitiallyUnowned where
-class (GObject o, O.IsDescendantOf InitiallyUnowned o) => IsInitiallyUnowned o
-instance (GObject o, O.IsDescendantOf InitiallyUnowned o) => IsInitiallyUnowned o
-instance O.HasParentTypes InitiallyUnowned
diff --git a/GI/GObject/Objects/Object.hs b/GI/GObject/Objects/Object.hs
deleted file mode 100644
--- a/GI/GObject/Objects/Object.hs
+++ /dev/null
@@ -1,1724 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-All the fields in the GObject structure are private
-to the 'GI.GObject.Objects.Object.Object' implementation and should never be accessed directly.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.Object
-    ( 
-#if ENABLE_OVERLOADING
-    ObjectInterfaceListPropertiesMethodInfo ,
-#endif
-
--- * Exported types
-    Object(..)                              ,
-    IsObject                                ,
-    toObject                                ,
-    noObject                                ,
-
-
- -- * Methods
--- ** bindProperty #method:bindProperty#
-
-#if ENABLE_OVERLOADING
-    ObjectBindPropertyMethodInfo            ,
-#endif
-    objectBindProperty                      ,
-
-
--- ** bindPropertyFull #method:bindPropertyFull#
-
-#if ENABLE_OVERLOADING
-    ObjectBindPropertyFullMethodInfo        ,
-#endif
-    objectBindPropertyFull                  ,
-
-
--- ** compatControl #method:compatControl#
-
-    objectCompatControl                     ,
-
-
--- ** forceFloating #method:forceFloating#
-
-#if ENABLE_OVERLOADING
-    ObjectForceFloatingMethodInfo           ,
-#endif
-    objectForceFloating                     ,
-
-
--- ** freezeNotify #method:freezeNotify#
-
-#if ENABLE_OVERLOADING
-    ObjectFreezeNotifyMethodInfo            ,
-#endif
-    objectFreezeNotify                      ,
-
-
--- ** getData #method:getData#
-
-#if ENABLE_OVERLOADING
-    ObjectGetDataMethodInfo                 ,
-#endif
-    objectGetData                           ,
-
-
--- ** getProperty #method:getProperty#
-
-#if ENABLE_OVERLOADING
-    ObjectGetPropertyMethodInfo             ,
-#endif
-    objectGetProperty                       ,
-
-
--- ** getQdata #method:getQdata#
-
-#if ENABLE_OVERLOADING
-    ObjectGetQdataMethodInfo                ,
-#endif
-    objectGetQdata                          ,
-
-
--- ** getv #method:getv#
-
-#if ENABLE_OVERLOADING
-    ObjectGetvMethodInfo                    ,
-#endif
-    objectGetv                              ,
-
-
--- ** interfaceFindProperty #method:interfaceFindProperty#
-
-    objectInterfaceFindProperty             ,
-
-
--- ** interfaceInstallProperty #method:interfaceInstallProperty#
-
-    objectInterfaceInstallProperty          ,
-
-
--- ** isFloating #method:isFloating#
-
-#if ENABLE_OVERLOADING
-    ObjectIsFloatingMethodInfo              ,
-#endif
-    objectIsFloating                        ,
-
-
--- ** newv #method:newv#
-
-    objectNewv                              ,
-
-
--- ** notify #method:notify#
-
-#if ENABLE_OVERLOADING
-    ObjectNotifyMethodInfo                  ,
-#endif
-    objectNotify                            ,
-
-
--- ** notifyByPspec #method:notifyByPspec#
-
-#if ENABLE_OVERLOADING
-    ObjectNotifyByPspecMethodInfo           ,
-#endif
-    objectNotifyByPspec                     ,
-
-
--- ** ref #method:ref#
-
-#if ENABLE_OVERLOADING
-    ObjectRefMethodInfo                     ,
-#endif
-    objectRef                               ,
-
-
--- ** refSink #method:refSink#
-
-#if ENABLE_OVERLOADING
-    ObjectRefSinkMethodInfo                 ,
-#endif
-    objectRefSink                           ,
-
-
--- ** runDispose #method:runDispose#
-
-#if ENABLE_OVERLOADING
-    ObjectRunDisposeMethodInfo              ,
-#endif
-    objectRunDispose                        ,
-
-
--- ** setData #method:setData#
-
-#if ENABLE_OVERLOADING
-    ObjectSetDataMethodInfo                 ,
-#endif
-    objectSetData                           ,
-
-
--- ** setDataFull #method:setDataFull#
-
-#if ENABLE_OVERLOADING
-    ObjectSetDataFullMethodInfo             ,
-#endif
-    objectSetDataFull                       ,
-
-
--- ** setProperty #method:setProperty#
-
-#if ENABLE_OVERLOADING
-    ObjectSetPropertyMethodInfo             ,
-#endif
-    objectSetProperty                       ,
-
-
--- ** stealData #method:stealData#
-
-#if ENABLE_OVERLOADING
-    ObjectStealDataMethodInfo               ,
-#endif
-    objectStealData                         ,
-
-
--- ** stealQdata #method:stealQdata#
-
-#if ENABLE_OVERLOADING
-    ObjectStealQdataMethodInfo              ,
-#endif
-    objectStealQdata                        ,
-
-
--- ** thawNotify #method:thawNotify#
-
-#if ENABLE_OVERLOADING
-    ObjectThawNotifyMethodInfo              ,
-#endif
-    objectThawNotify                        ,
-
-
--- ** unref #method:unref#
-
-#if ENABLE_OVERLOADING
-    ObjectUnrefMethodInfo                   ,
-#endif
-    objectUnref                             ,
-
-
--- ** watchClosure #method:watchClosure#
-
-#if ENABLE_OVERLOADING
-    ObjectWatchClosureMethodInfo            ,
-#endif
-    objectWatchClosure                      ,
-
-
-
-
- -- * Signals
--- ** notify #signal:notify#
-
-    C_ObjectNotifyCallback                  ,
-    ObjectNotifyCallback                    ,
-#if ENABLE_OVERLOADING
-    ObjectNotifySignalInfo                  ,
-#endif
-    afterObjectNotify                       ,
-    genClosure_ObjectNotify                 ,
-    mk_ObjectNotifyCallback                 ,
-    noObjectNotifyCallback                  ,
-    onObjectNotify                          ,
-    wrap_ObjectNotifyCallback               ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GLib.Callbacks as GLib.Callbacks
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-import {-# SOURCE #-} qualified GI.GObject.Objects.Binding as GObject.Binding
-import {-# SOURCE #-} qualified GI.GObject.Structs.Parameter as GObject.Parameter
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInterface as GObject.TypeInterface
-
--- | Memory-managed wrapper type.
-newtype Object = Object (ManagedPtr Object)
-foreign import ccall "g_object_get_type"
-    c_g_object_get_type :: IO GType
-
-instance GObject Object where
-    gobjectType = c_g_object_get_type
-    
-
--- | Type class for types which can be safely cast to `Object`, for instance with `toObject`.
-class (GObject o, O.IsDescendantOf Object o) => IsObject o
-instance (GObject o, O.IsDescendantOf Object o) => IsObject o
-
-instance O.HasParentTypes Object
-type instance O.ParentTypes Object = '[]
-
--- | Cast to `Object`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
-toObject :: (MonadIO m, IsObject o) => o -> m Object
-toObject = liftIO . unsafeCastTo Object
-
--- | A convenience alias for `Nothing` :: `Maybe` `Object`.
-noObject :: Maybe Object
-noObject = Nothing
-
-#if ENABLE_OVERLOADING
-type family ResolveObjectMethod (t :: Symbol) (o :: *) :: * where
-    ResolveObjectMethod "bindProperty" o = ObjectBindPropertyMethodInfo
-    ResolveObjectMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo
-    ResolveObjectMethod "forceFloating" o = ObjectForceFloatingMethodInfo
-    ResolveObjectMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo
-    ResolveObjectMethod "getv" o = ObjectGetvMethodInfo
-    ResolveObjectMethod "isFloating" o = ObjectIsFloatingMethodInfo
-    ResolveObjectMethod "notify" o = ObjectNotifyMethodInfo
-    ResolveObjectMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo
-    ResolveObjectMethod "ref" o = ObjectRefMethodInfo
-    ResolveObjectMethod "refSink" o = ObjectRefSinkMethodInfo
-    ResolveObjectMethod "runDispose" o = ObjectRunDisposeMethodInfo
-    ResolveObjectMethod "stealData" o = ObjectStealDataMethodInfo
-    ResolveObjectMethod "stealQdata" o = ObjectStealQdataMethodInfo
-    ResolveObjectMethod "thawNotify" o = ObjectThawNotifyMethodInfo
-    ResolveObjectMethod "unref" o = ObjectUnrefMethodInfo
-    ResolveObjectMethod "watchClosure" o = ObjectWatchClosureMethodInfo
-    ResolveObjectMethod "getData" o = ObjectGetDataMethodInfo
-    ResolveObjectMethod "getProperty" o = ObjectGetPropertyMethodInfo
-    ResolveObjectMethod "getQdata" o = ObjectGetQdataMethodInfo
-    ResolveObjectMethod "setData" o = ObjectSetDataMethodInfo
-    ResolveObjectMethod "setDataFull" o = ObjectSetDataFullMethodInfo
-    ResolveObjectMethod "setProperty" o = ObjectSetPropertyMethodInfo
-    ResolveObjectMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveObjectMethod t Object, O.MethodInfo info Object p) => OL.IsLabel t (Object -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
--- signal Object::notify
-{- |
-The notify signal is emitted on an object when one of its properties has
-its value set through 'GI.GObject.Objects.Object.objectSetProperty', @/g_object_set()/@, et al.
-
-Note that getting this signal doesn’t itself guarantee that the value of
-the property has actually changed. When it is emitted is determined by the
-derived GObject class. If the implementor did not create the property with
-'GI.GObject.Flags.ParamFlagsExplicitNotify', then any call to 'GI.GObject.Objects.Object.objectSetProperty' results
-in ::notify being emitted, even if the new value is the same as the old.
-If they did pass 'GI.GObject.Flags.ParamFlagsExplicitNotify', then this signal is emitted only
-when they explicitly call 'GI.GObject.Objects.Object.objectNotify' or 'GI.GObject.Objects.Object.objectNotifyByPspec',
-and common practice is to do that only when the value has actually changed.
-
-This signal is typically used to obtain change notification for a
-single property, by specifying the property name as a detail in the
-@/g_signal_connect()/@ call, like this:
-
-=== /C code/
->
->g_signal_connect (text_view->buffer, "notify::paste-target-list",
->                  G_CALLBACK (gtk_text_view_target_list_notify),
->                  text_view)
-
-It is important to note that you must use
-[canonical parameter names][canonical-parameter-names] as
-detail strings for the notify signal.
--}
-type ObjectNotifyCallback =
-    GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' of the property which changed. -}
-    -> IO ()
-
--- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectNotifyCallback`@.
-noObjectNotifyCallback :: Maybe ObjectNotifyCallback
-noObjectNotifyCallback = Nothing
-
--- | Type for the callback on the (unwrapped) C side.
-type C_ObjectNotifyCallback =
-    Ptr () ->                               -- object
-    Ptr GParamSpec ->
-    Ptr () ->                               -- user_data
-    IO ()
-
--- | Generate a function pointer callable from C code, from a `C_ObjectNotifyCallback`.
-foreign import ccall "wrapper"
-    mk_ObjectNotifyCallback :: C_ObjectNotifyCallback -> IO (FunPtr C_ObjectNotifyCallback)
-
--- | Wrap the callback into a `GClosure`.
-genClosure_ObjectNotify :: MonadIO m => ObjectNotifyCallback -> m (GClosure C_ObjectNotifyCallback)
-genClosure_ObjectNotify cb = liftIO $ do
-    let cb' = wrap_ObjectNotifyCallback cb
-    mk_ObjectNotifyCallback cb' >>= B.GClosure.newGClosure
-
-
--- | Wrap a `ObjectNotifyCallback` into a `C_ObjectNotifyCallback`.
-wrap_ObjectNotifyCallback ::
-    ObjectNotifyCallback ->
-    C_ObjectNotifyCallback
-wrap_ObjectNotifyCallback _cb _ pspec _ = do
-    pspec' <- B.GParamSpec.newGParamSpecFromPtr pspec
-    _cb  pspec'
-
-
-{- |
-Connect a signal handler for the “@notify@” signal, to be run before the default handler.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Signals.on' object #notify callback
-@
--}
-onObjectNotify :: (IsObject a, MonadIO m) => a -> ObjectNotifyCallback -> m SignalHandlerId
-onObjectNotify obj cb = liftIO $ do
-    let cb' = wrap_ObjectNotifyCallback cb
-    cb'' <- mk_ObjectNotifyCallback cb'
-    connectSignalFunPtr obj "notify" cb'' SignalConnectBefore
-
-{- |
-Connect a signal handler for the “@notify@” signal, to be run after the default handler.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Signals.after' object #notify callback
-@
--}
-afterObjectNotify :: (IsObject a, MonadIO m) => a -> ObjectNotifyCallback -> m SignalHandlerId
-afterObjectNotify obj cb = liftIO $ do
-    let cb' = wrap_ObjectNotifyCallback cb
-    cb'' <- mk_ObjectNotifyCallback cb'
-    connectSignalFunPtr obj "notify" cb'' SignalConnectAfter
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList Object
-type instance O.AttributeList Object = ObjectAttributeList
-type ObjectAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-data ObjectNotifySignalInfo
-instance SignalInfo ObjectNotifySignalInfo where
-    type HaskellCallbackType ObjectNotifySignalInfo = ObjectNotifyCallback
-    connectSignal _ obj cb connectMode = do
-        let cb' = wrap_ObjectNotifyCallback cb
-        cb'' <- mk_ObjectNotifyCallback cb'
-        connectSignalFunPtr obj "notify" cb'' connectMode
-
-type instance O.SignalList Object = ObjectSignalList
-type ObjectSignalList = ('[ '("notify", ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
-#endif
-
--- method Object::newv
--- method type : Constructor
--- Args : [Arg {argCName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type id of the #GObject subtype to instantiate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_parameters", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @parameters array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parameters", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "GObject", name = "Parameter"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GParameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : [Arg {argCName = "n_parameters", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the @parameters array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_newv" g_object_newv :: 
-    CGType ->                               -- object_type : TBasicType TGType
-    Word32 ->                               -- n_parameters : TBasicType TUInt
-    Ptr GObject.Parameter.Parameter ->      -- parameters : TCArray False (-1) 1 (TInterface (Name {namespace = "GObject", name = "Parameter"}))
-    IO (Ptr Object)
-
-{-# DEPRECATED objectNewv ["(Since version 2.54)","Use @/g_object_new_with_properties()/@ instead.","deprecated. See 'GI.GObject.Structs.Parameter.Parameter' for more information."] #-}
-{- |
-Creates a new instance of a 'GI.GObject.Objects.Object.Object' 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.
--}
-objectNewv ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@objectType@/: the type id of the 'GI.GObject.Objects.Object.Object' subtype to instantiate -}
-    -> [GObject.Parameter.Parameter]
-    {- ^ /@parameters@/: an array of 'GI.GObject.Structs.Parameter.Parameter' -}
-    -> m Object
-    {- ^ __Returns:__ a new instance of
-/@objectType@/ -}
-objectNewv objectType parameters = liftIO $ do
-    let nParameters = fromIntegral $ length parameters
-    let objectType' = gtypeToCGType objectType
-    parameters' <- mapM unsafeManagedPtrGetPtr parameters
-    parameters'' <- packBlockArray 32 parameters'
-    result <- g_object_newv objectType' nParameters parameters''
-    checkUnexpectedReturnNULL "objectNewv" result
-    result' <- (wrapObject Object) result
-    mapM_ touchManagedPtr parameters
-    freeMem parameters''
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method Object::bind_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the property on @source to bind", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the property on @target to bind", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "BindingFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags to pass to #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Binding"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_bind_property" g_object_bind_property :: 
-    Ptr Object ->                           -- source : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- source_property : TBasicType TUTF8
-    Ptr Object ->                           -- target : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- target_property : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "BindingFlags"})
-    IO (Ptr GObject.Binding.Binding)
-
-{- |
-Creates a binding between /@sourceProperty@/ on /@source@/ and /@targetProperty@/
-on /@target@/. Whenever the /@sourceProperty@/ is changed the /@targetProperty@/ is
-updated using the same value. For instance:
-
->
->  g_object_bind_property (action, "active", widget, "sensitive", 0);
-
-
-Will result in the \"sensitive\" property of the widget 'GI.GObject.Objects.Object.Object' instance to be
-updated with the same value of the \"active\" property of the action 'GI.GObject.Objects.Object.Object'
-instance.
-
-If /@flags@/ contains 'GI.GObject.Flags.BindingFlagsBidirectional' then the binding will be mutual:
-if /@targetProperty@/ on /@target@/ changes then the /@sourceProperty@/ on /@source@/
-will be updated as well.
-
-The binding will automatically be removed when either the /@source@/ or the
-/@target@/ instances are finalized. To remove the binding without affecting the
-/@source@/ and the /@target@/ you can just call 'GI.GObject.Objects.Object.objectUnref' on the returned
-'GI.GObject.Objects.Binding.Binding' instance.
-
-A 'GI.GObject.Objects.Object.Object' can have multiple bindings.
-
-/Since: 2.26/
--}
-objectBindProperty ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
-    a
-    {- ^ /@source@/: the source 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@sourceProperty@/: the property on /@source@/ to bind -}
-    -> b
-    {- ^ /@target@/: the target 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@targetProperty@/: the property on /@target@/ to bind -}
-    -> [GObject.Flags.BindingFlags]
-    {- ^ /@flags@/: flags to pass to 'GI.GObject.Objects.Binding.Binding' -}
-    -> m GObject.Binding.Binding
-    {- ^ __Returns:__ the 'GI.GObject.Objects.Binding.Binding' instance representing the
-    binding between the two 'GI.GObject.Objects.Object.Object' instances. The binding is released
-    whenever the 'GI.GObject.Objects.Binding.Binding' reference count reaches zero. -}
-objectBindProperty source sourceProperty target targetProperty flags = liftIO $ do
-    source' <- unsafeManagedPtrCastPtr source
-    sourceProperty' <- textToCString sourceProperty
-    target' <- unsafeManagedPtrCastPtr target
-    targetProperty' <- textToCString targetProperty
-    let flags' = gflagsToWord flags
-    result <- g_object_bind_property source' sourceProperty' target' targetProperty' flags'
-    checkUnexpectedReturnNULL "objectBindProperty" result
-    result' <- (newObject GObject.Binding.Binding) result
-    touchManagedPtr source
-    touchManagedPtr target
-    freeMem sourceProperty'
-    freeMem targetProperty'
-    return result'
-
-#if ENABLE_OVERLOADING
-data ObjectBindPropertyMethodInfo
-instance (signature ~ (T.Text -> b -> T.Text -> [GObject.Flags.BindingFlags] -> m GObject.Binding.Binding), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectBindPropertyMethodInfo a signature where
-    overloadedMethod _ = objectBindProperty
-
-#endif
-
--- method Object::bind_property_full
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the property on @source to bind", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the property on @target to bind", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "BindingFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags to pass to #GBinding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transform_to", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GClosure wrapping the transformation function\n    from the @source to the @target, or %NULL to use the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transform_from", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GClosure wrapping the transformation function\n    from the @target to the @source, or %NULL to use the default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Binding"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_bind_property_with_closures" g_object_bind_property_with_closures :: 
-    Ptr Object ->                           -- source : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- source_property : TBasicType TUTF8
-    Ptr Object ->                           -- target : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- target_property : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "BindingFlags"})
-    Ptr (GClosure ()) ->                    -- transform_to : TGClosure Nothing
-    Ptr (GClosure ()) ->                    -- transform_from : TGClosure Nothing
-    IO (Ptr GObject.Binding.Binding)
-
-{- |
-Creates a binding between /@sourceProperty@/ on /@source@/ and /@targetProperty@/
-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.
-
-/Since: 2.26/
--}
-objectBindPropertyFull ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
-    a
-    {- ^ /@source@/: the source 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@sourceProperty@/: the property on /@source@/ to bind -}
-    -> b
-    {- ^ /@target@/: the target 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@targetProperty@/: the property on /@target@/ to bind -}
-    -> [GObject.Flags.BindingFlags]
-    {- ^ /@flags@/: flags to pass to 'GI.GObject.Objects.Binding.Binding' -}
-    -> GClosure c
-    {- ^ /@transformTo@/: a 'GI.GObject.Structs.Closure.Closure' wrapping the transformation function
-    from the /@source@/ to the /@target@/, or 'Nothing' to use the default -}
-    -> GClosure d
-    {- ^ /@transformFrom@/: a 'GI.GObject.Structs.Closure.Closure' wrapping the transformation function
-    from the /@target@/ to the /@source@/, or 'Nothing' to use the default -}
-    -> m GObject.Binding.Binding
-    {- ^ __Returns:__ the 'GI.GObject.Objects.Binding.Binding' instance representing the
-    binding between the two 'GI.GObject.Objects.Object.Object' instances. The binding is released
-    whenever the 'GI.GObject.Objects.Binding.Binding' reference count reaches zero. -}
-objectBindPropertyFull source sourceProperty target targetProperty flags transformTo transformFrom = liftIO $ do
-    source' <- unsafeManagedPtrCastPtr source
-    sourceProperty' <- textToCString sourceProperty
-    target' <- unsafeManagedPtrCastPtr target
-    targetProperty' <- textToCString targetProperty
-    let flags' = gflagsToWord flags
-    transformTo' <- unsafeManagedPtrCastPtr transformTo
-    transformFrom' <- unsafeManagedPtrCastPtr transformFrom
-    result <- g_object_bind_property_with_closures source' sourceProperty' target' targetProperty' flags' transformTo' transformFrom'
-    checkUnexpectedReturnNULL "objectBindPropertyFull" result
-    result' <- (newObject GObject.Binding.Binding) result
-    touchManagedPtr source
-    touchManagedPtr target
-    touchManagedPtr transformTo
-    touchManagedPtr transformFrom
-    freeMem sourceProperty'
-    freeMem targetProperty'
-    return result'
-
-#if ENABLE_OVERLOADING
-data ObjectBindPropertyFullMethodInfo
-instance (signature ~ (T.Text -> b -> T.Text -> [GObject.Flags.BindingFlags] -> GClosure c -> GClosure d -> m GObject.Binding.Binding), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectBindPropertyFullMethodInfo a signature where
-    overloadedMethod _ = objectBindPropertyFull
-
-#endif
-
--- method Object::force_floating
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_force_floating" g_object_force_floating :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO ()
-
-{- |
-This function is intended for 'GI.GObject.Objects.Object.Object' implementations to re-enforce
-a [floating][floating-ref] object reference. Doing this is seldom
-required: all @/GInitiallyUnowneds/@ are created with a floating reference
-which usually just needs to be sunken by calling 'GI.GObject.Objects.Object.objectRefSink'.
-
-/Since: 2.10/
--}
-objectForceFloating ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m ()
-objectForceFloating object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    g_object_force_floating object'
-    touchManagedPtr object
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectForceFloatingMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectForceFloatingMethodInfo a signature where
-    overloadedMethod _ = objectForceFloating
-
-#endif
-
--- method Object::freeze_notify
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_freeze_notify" g_object_freeze_notify :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO ()
-
-{- |
-Increases the freeze count on /@object@/. If the freeze count is
-non-zero, the emission of \"notify\" signals on /@object@/ is
-stopped. The signals are queued until the freeze count is decreased
-to zero. Duplicate notifications are squashed so that at most one
-'GI.GObject.Objects.Object.Object'::@/notify/@ signal is emitted for each property modified while the
-object is frozen.
-
-This is necessary for accessors that modify multiple properties to prevent
-premature notification while the object is still being modified.
--}
-objectFreezeNotify ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m ()
-objectFreezeNotify object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    g_object_freeze_notify object'
-    touchManagedPtr object
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectFreezeNotifyMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectFreezeNotifyMethodInfo a signature where
-    overloadedMethod _ = objectFreezeNotify
-
-#endif
-
--- method Object::get_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GObject containing the associations", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the key for that association", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_get_data" g_object_get_data :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- key : TBasicType TUTF8
-    IO (Ptr ())
-
-{- |
-Gets a named field from the objects table of associations (see 'GI.GObject.Objects.Object.objectSetData').
--}
-objectGetData ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: 'GI.GObject.Objects.Object.Object' containing the associations -}
-    -> T.Text
-    {- ^ /@key@/: name of the key for that association -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ the data if found,
-         or 'Nothing' if no such data exists. -}
-objectGetData object key = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    key' <- textToCString key
-    result <- g_object_get_data object' key'
-    touchManagedPtr object
-    freeMem key'
-    return result
-
-#if ENABLE_OVERLOADING
-data ObjectGetDataMethodInfo
-instance (signature ~ (T.Text -> m (Ptr ())), MonadIO m, IsObject a) => O.MethodInfo ObjectGetDataMethodInfo a signature where
-    overloadedMethod _ = objectGetData
-
-#endif
-
--- method Object::get_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the property value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_get_property" g_object_get_property :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- property_name : TBasicType TUTF8
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO ()
-
-{- |
-Gets a property of an object. /@value@/ must have been initialized to the
-expected type of the property (or a type to which the expected type can be
-transformed) using 'GI.GObject.Structs.Value.valueInit'.
-
-In general, a copy is made of the property contents and the caller is
-responsible for freeing the memory by calling 'GI.GObject.Structs.Value.valueUnset'.
-
-Note that 'GI.GObject.Objects.Object.objectGetProperty' is really intended for language
-bindings, @/g_object_get()/@ is much more convenient for C programming.
--}
-objectGetProperty ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@propertyName@/: the name of the property to get -}
-    -> GValue
-    {- ^ /@value@/: return location for the property value -}
-    -> m ()
-objectGetProperty object propertyName value = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    propertyName' <- textToCString propertyName
-    value' <- unsafeManagedPtrGetPtr value
-    g_object_get_property object' propertyName' value'
-    touchManagedPtr object
-    touchManagedPtr value
-    freeMem propertyName'
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectGetPropertyMethodInfo
-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectGetPropertyMethodInfo a signature where
-    overloadedMethod _ = objectGetProperty
-
-#endif
-
--- method Object::get_qdata
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GObject to get a stored user data pointer from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GQuark, naming the user data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_get_qdata" g_object_get_qdata :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    Word32 ->                               -- quark : TBasicType TUInt32
-    IO (Ptr ())
-
-{- |
-This function gets back user data pointers stored via
-@/g_object_set_qdata()/@.
--}
-objectGetQdata ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: The GObject to get a stored user data pointer from -}
-    -> Word32
-    {- ^ /@quark@/: A @/GQuark/@, naming the user data pointer -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ The user data pointer set, or 'Nothing' -}
-objectGetQdata object quark = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    result <- g_object_get_qdata object' quark
-    touchManagedPtr object
-    return result
-
-#if ENABLE_OVERLOADING
-data ObjectGetQdataMethodInfo
-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m, IsObject a) => O.MethodInfo ObjectGetQdataMethodInfo a signature where
-    overloadedMethod _ = objectGetQdata
-
-#endif
-
--- method Object::getv
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_properties", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "names", argType = TCArray False (-1) 1 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the names of each property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the values of each property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : [Arg {argCName = "n_properties", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_properties", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_getv" g_object_getv :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    Word32 ->                               -- n_properties : TBasicType TUInt
-    Ptr CString ->                          -- names : TCArray False (-1) 1 (TBasicType TUTF8)
-    Ptr GValue ->                           -- values : TCArray False (-1) 1 (TInterface (Name {namespace = "GObject", name = "Value"}))
-    IO ()
-
-{- |
-Gets /@nProperties@/ properties for an /@object@/.
-Obtained properties will be set to /@values@/. All properties must be valid.
-Warnings will be emitted and undefined behaviour may result if invalid
-properties are passed in.
-
-/Since: 2.54/
--}
-objectGetv ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> [T.Text]
-    {- ^ /@names@/: the names of each property to get -}
-    -> [GValue]
-    {- ^ /@values@/: the values of each property to get -}
-    -> m ()
-objectGetv object names values = liftIO $ do
-    let nProperties = fromIntegral $ length values
-    let names_expected_length_ = fromIntegral $ length names
-    when (names_expected_length_ /= nProperties) $
-        error "GObject.objectGetv : length of 'names' does not agree with that of 'values'."
-    object' <- unsafeManagedPtrCastPtr object
-    names' <- packUTF8CArray names
-    values' <- mapM unsafeManagedPtrGetPtr values
-    values'' <- packBlockArray 24 values'
-    g_object_getv object' nProperties names' values''
-    touchManagedPtr object
-    mapM_ touchManagedPtr values
-    (mapCArrayWithLength nProperties) freeMem names'
-    freeMem names'
-    freeMem values''
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectGetvMethodInfo
-instance (signature ~ ([T.Text] -> [GValue] -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectGetvMethodInfo a signature where
-    overloadedMethod _ = objectGetv
-
-#endif
-
--- method Object::is_floating
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_is_floating" g_object_is_floating :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO CInt
-
-{- |
-Checks whether /@object@/ has a [floating][floating-ref] reference.
-
-/Since: 2.10/
--}
-objectIsFloating ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m Bool
-    {- ^ __Returns:__ 'True' if /@object@/ has a floating reference -}
-objectIsFloating object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    result <- g_object_is_floating object'
-    let result' = (/= 0) result
-    touchManagedPtr object
-    return result'
-
-#if ENABLE_OVERLOADING
-data ObjectIsFloatingMethodInfo
-instance (signature ~ (m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectIsFloatingMethodInfo a signature where
-    overloadedMethod _ = objectIsFloating
-
-#endif
-
--- method Object::notify
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a property installed on the class of @object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_notify" g_object_notify :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- property_name : TBasicType TUTF8
-    IO ()
-
-{- |
-Emits a \"notify\" signal for the property /@propertyName@/ on /@object@/.
-
-When possible, eg. when signaling a property change from within the class
-that registered the property, you should use 'GI.GObject.Objects.Object.objectNotifyByPspec'
-instead.
-
-Note that emission of the notify signal may be blocked with
-'GI.GObject.Objects.Object.objectFreezeNotify'. In this case, the signal emissions are queued
-and will be emitted (in reverse order) when 'GI.GObject.Objects.Object.objectThawNotify' is
-called.
--}
-objectNotify ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@propertyName@/: the name of a property installed on the class of /@object@/. -}
-    -> m ()
-objectNotify object propertyName = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    propertyName' <- textToCString propertyName
-    g_object_notify object' propertyName'
-    touchManagedPtr object
-    freeMem propertyName'
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectNotifyMethodInfo
-instance (signature ~ (T.Text -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectNotifyMethodInfo a signature where
-    overloadedMethod _ = objectNotify
-
-#endif
-
--- method Object::notify_by_pspec
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec of a property installed on the class of @object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_notify_by_pspec" g_object_notify_by_pspec :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    IO ()
-
-{- |
-Emits a \"notify\" signal for the property specified by /@pspec@/ on /@object@/.
-
-This function omits the property name lookup, hence it is faster than
-'GI.GObject.Objects.Object.objectNotify'.
-
-One way to avoid using 'GI.GObject.Objects.Object.objectNotify' from within the
-class that registered the properties, and using 'GI.GObject.Objects.Object.objectNotifyByPspec'
-instead, is to store the GParamSpec used with
-'GI.GObject.Structs.ObjectClass.objectClassInstallProperty' inside a static array, e.g.:
-
-
-=== /C code/
->
->  enum
->  {
->    PROP_0,
->    PROP_FOO,
->    PROP_LAST
->  };
->
->  static GParamSpec *properties[PROP_LAST];
->
->  static void
->  my_object_class_init (MyObjectClass *klass)
->  {
->    properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
->                                             0, 100,
->                                             50,
->                                             G_PARAM_READWRITE);
->    g_object_class_install_property (gobject_class,
->                                     PROP_FOO,
->                                     properties[PROP_FOO]);
->  }
-
-
-and then notify a change on the \"foo\" property with:
-
-
-=== /C code/
->
->  g_object_notify_by_pspec (self, properties[PROP_FOO]);
-
-
-/Since: 2.26/
--}
-objectNotifyByPspec ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' of a property installed on the class of /@object@/. -}
-    -> m ()
-objectNotifyByPspec object pspec = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    g_object_notify_by_pspec object' pspec'
-    touchManagedPtr object
-    touchManagedPtr pspec
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectNotifyByPspecMethodInfo
-instance (signature ~ (GParamSpec -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectNotifyByPspecMethodInfo a signature where
-    overloadedMethod _ = objectNotifyByPspec
-
-#endif
-
--- method Object::ref
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_ref" g_object_ref :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO (Ptr Object)
-
-{- |
-Increases the reference count of /@object@/.
-
-Since GLib 2.56, if @GLIB_VERSION_MAX_ALLOWED@ is 2.56 or greater, the type
-of /@object@/ will be propagated to the return type (using the GCC @/typeof()/@
-extension), so any casting the caller needs to do on the return type must be
-explicit.
--}
-objectRef ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m Object
-    {- ^ __Returns:__ the same /@object@/ -}
-objectRef object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    result <- g_object_ref object'
-    checkUnexpectedReturnNULL "objectRef" result
-    result' <- (newObject Object) result
-    touchManagedPtr object
-    return result'
-
-#if ENABLE_OVERLOADING
-data ObjectRefMethodInfo
-instance (signature ~ (m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectRefMethodInfo a signature where
-    overloadedMethod _ = objectRef
-
-#endif
-
--- method Object::ref_sink
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_ref_sink" g_object_ref_sink :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO (Ptr Object)
-
-{- |
-Increase the reference count of /@object@/, and possibly remove the
-[floating][floating-ref] reference, if /@object@/ has a floating reference.
-
-In other words, if the object is floating, then this call \"assumes
-ownership\" of the floating reference, converting it to a normal
-reference by clearing the floating flag while leaving the reference
-count unchanged.  If the object is not floating, then this call
-adds a new normal reference increasing the reference count by one.
-
-Since GLib 2.56, the type of /@object@/ will be propagated to the return type
-under the same conditions as for 'GI.GObject.Objects.Object.objectRef'.
-
-/Since: 2.10/
--}
-objectRefSink ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m Object
-    {- ^ __Returns:__ /@object@/ -}
-objectRefSink object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    result <- g_object_ref_sink object'
-    checkUnexpectedReturnNULL "objectRefSink" result
-    result' <- (newObject Object) result
-    touchManagedPtr object
-    return result'
-
-#if ENABLE_OVERLOADING
-data ObjectRefSinkMethodInfo
-instance (signature ~ (m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectRefSinkMethodInfo a signature where
-    overloadedMethod _ = objectRefSink
-
-#endif
-
--- method Object::run_dispose
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_run_dispose" g_object_run_dispose :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO ()
-
-{- |
-Releases all references to other objects. This can be used to break
-reference cycles.
-
-This function should only be called from object system implementations.
--}
-objectRunDispose ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m ()
-objectRunDispose object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    g_object_run_dispose object'
-    touchManagedPtr object
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectRunDisposeMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectRunDisposeMethodInfo a signature where
-    overloadedMethod _ = objectRunDispose
-
-#endif
-
--- method Object::set_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GObject containing the associations.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to associate with that key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_set_data" g_object_set_data :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- key : TBasicType TUTF8
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO ()
-
-{- |
-Each object carries around a table of associations from
-strings to pointers.  This function lets you set an association.
-
-If the object already had an association with that name,
-the old association will be destroyed.
--}
-objectSetData ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: 'GI.GObject.Objects.Object.Object' containing the associations. -}
-    -> T.Text
-    {- ^ /@key@/: name of the key -}
-    -> Ptr ()
-    {- ^ /@data@/: data to associate with that key -}
-    -> m ()
-objectSetData object key data_ = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    key' <- textToCString key
-    g_object_set_data object' key' data_
-    touchManagedPtr object
-    freeMem key'
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectSetDataMethodInfo
-instance (signature ~ (T.Text -> Ptr () -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetDataMethodInfo a signature where
-    overloadedMethod _ = objectSetData
-
-#endif
-
--- method Object::set_data_full
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GObject containing the associations", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to associate with that key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the association is destroyed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_set_data_full" g_object_set_data_full :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- key : TBasicType TUTF8
-    Ptr () ->                               -- data : TBasicType TPtr
-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})
-    IO ()
-
-{- |
-Like 'GI.GObject.Objects.Object.objectSetData' except it adds notification
-for when the association is destroyed, either by setting it
-to a different value or when the object is destroyed.
-
-Note that the /@destroy@/ callback is not called if /@data@/ is 'Nothing'.
--}
-objectSetDataFull ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: 'GI.GObject.Objects.Object.Object' containing the associations -}
-    -> T.Text
-    {- ^ /@key@/: name of the key -}
-    -> Ptr ()
-    {- ^ /@data@/: data to associate with that key -}
-    -> Maybe (GLib.Callbacks.DestroyNotify)
-    {- ^ /@destroy@/: function to call when the association is destroyed -}
-    -> m ()
-objectSetDataFull object key data_ destroy = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    key' <- textToCString key
-    maybeDestroy <- case destroy of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jDestroy -> do
-            ptrdestroy <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))
-            jDestroy' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrdestroy) jDestroy)
-            poke ptrdestroy jDestroy'
-            return jDestroy'
-    g_object_set_data_full object' key' data_ maybeDestroy
-    touchManagedPtr object
-    freeMem key'
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectSetDataFullMethodInfo
-instance (signature ~ (T.Text -> Ptr () -> Maybe (GLib.Callbacks.DestroyNotify) -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetDataFullMethodInfo a signature where
-    overloadedMethod _ = objectSetDataFull
-
-#endif
-
--- method Object::set_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_set_property" g_object_set_property :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- property_name : TBasicType TUTF8
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO ()
-
-{- |
-Sets a property on an object.
--}
-objectSetProperty ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> T.Text
-    {- ^ /@propertyName@/: the name of the property to set -}
-    -> GValue
-    {- ^ /@value@/: the value -}
-    -> m ()
-objectSetProperty object propertyName value = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    propertyName' <- textToCString propertyName
-    value' <- unsafeManagedPtrGetPtr value
-    g_object_set_property object' propertyName' value'
-    touchManagedPtr object
-    touchManagedPtr value
-    freeMem propertyName'
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectSetPropertyMethodInfo
-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetPropertyMethodInfo a signature where
-    overloadedMethod _ = objectSetProperty
-
-#endif
-
--- method Object::steal_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GObject containing the associations", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_steal_data" g_object_steal_data :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    CString ->                              -- key : TBasicType TUTF8
-    IO (Ptr ())
-
-{- |
-Remove a specified datum from the object\'s data associations,
-without invoking the association\'s destroy handler.
--}
-objectStealData ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: 'GI.GObject.Objects.Object.Object' containing the associations -}
-    -> T.Text
-    {- ^ /@key@/: name of the key -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ the data if found, or 'Nothing'
-         if no such data exists. -}
-objectStealData object key = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    key' <- textToCString key
-    result <- g_object_steal_data object' key'
-    touchManagedPtr object
-    freeMem key'
-    return result
-
-#if ENABLE_OVERLOADING
-data ObjectStealDataMethodInfo
-instance (signature ~ (T.Text -> m (Ptr ())), MonadIO m, IsObject a) => O.MethodInfo ObjectStealDataMethodInfo a signature where
-    overloadedMethod _ = objectStealData
-
-#endif
-
--- method Object::steal_qdata
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GObject to get a stored user data pointer from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GQuark, naming the user data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_steal_qdata" g_object_steal_qdata :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    Word32 ->                               -- quark : TBasicType TUInt32
-    IO (Ptr ())
-
-{- |
-This function gets back user data pointers stored via
-@/g_object_set_qdata()/@ and removes the /@data@/ from object
-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, for example:
-
-=== /C code/
->
->void
->object_add_to_user_list (GObject     *object,
->                         const gchar *new_string)
->{
->  // the quark, naming the object data
->  GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
->  // retrive the old string list
->  GList *list = g_object_steal_qdata (object, quark_string_list);
->
->  // prepend new string
->  list = g_list_prepend (list, g_strdup (new_string));
->  // this changed 'list', so we need to set it again
->  g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
->}
->static void
->free_string_list (gpointer data)
->{
->  GList *node, *list = data;
->
->  for (node = list; node; node = node->next)
->    g_free (node->data);
->  g_list_free (list);
->}
-
-Using 'GI.GObject.Objects.Object.objectGetQdata' in the above example, instead of
-'GI.GObject.Objects.Object.objectStealQdata' would have left the destroy function set,
-and thus the partial string list would have been freed upon
-@/g_object_set_qdata_full()/@.
--}
-objectStealQdata ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: The GObject to get a stored user data pointer from -}
-    -> Word32
-    {- ^ /@quark@/: A @/GQuark/@, naming the user data pointer -}
-    -> m (Ptr ())
-    {- ^ __Returns:__ The user data pointer set, or 'Nothing' -}
-objectStealQdata object quark = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    result <- g_object_steal_qdata object' quark
-    touchManagedPtr object
-    return result
-
-#if ENABLE_OVERLOADING
-data ObjectStealQdataMethodInfo
-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m, IsObject a) => O.MethodInfo ObjectStealQdataMethodInfo a signature where
-    overloadedMethod _ = objectStealQdata
-
-#endif
-
--- method Object::thaw_notify
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_thaw_notify" g_object_thaw_notify :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO ()
-
-{- |
-Reverts the effect of a previous call to
-'GI.GObject.Objects.Object.objectFreezeNotify'. The freeze count is decreased on /@object@/
-and when it reaches zero, queued \"notify\" signals are emitted.
-
-Duplicate notifications for each property are squashed so that at most one
-'GI.GObject.Objects.Object.Object'::@/notify/@ signal is emitted for each property, in the reverse order
-in which they have been queued.
-
-It is an error to call this function when the freeze count is zero.
--}
-objectThawNotify ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m ()
-objectThawNotify object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    g_object_thaw_notify object'
-    touchManagedPtr object
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectThawNotifyMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectThawNotifyMethodInfo a signature where
-    overloadedMethod _ = objectThawNotify
-
-#endif
-
--- method Object::unref
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_unref" g_object_unref :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    IO ()
-
-{- |
-Decreases the reference count of /@object@/. When its reference count
-drops to 0, the object is finalized (i.e. its memory is freed).
-
-If the pointer to the 'GI.GObject.Objects.Object.Object' may be reused in future (for example, if it is
-an instance variable of another object), it is recommended to clear the
-pointer to 'Nothing' rather than retain a dangling pointer to a potentially
-invalid 'GI.GObject.Objects.Object.Object' instance. Use @/g_clear_object()/@ for this.
--}
-objectUnref ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}
-    -> m ()
-objectUnref object = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    g_object_unref object'
-    touchManagedPtr object
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectUnrefMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectUnrefMethodInfo a signature where
-    overloadedMethod _ = objectUnref
-
-#endif
-
--- method Object::watch_closure
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GObject restricting lifetime of @closure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GClosure to watch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_watch_closure" g_object_watch_closure :: 
-    Ptr Object ->                           -- object : TInterface (Name {namespace = "GObject", name = "Object"})
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    IO ()
-
-{- |
-This function essentially limits the life time of the /@closure@/ to
-the life time of the object. That is, when the object is finalized,
-the /@closure@/ is invalidated by calling 'GI.GObject.Structs.Closure.closureInvalidate' on
-it, in order to prevent invocations of the closure with a finalized
-(nonexisting) object. Also, 'GI.GObject.Objects.Object.objectRef' and 'GI.GObject.Objects.Object.objectUnref' are
-added as marshal guards to the /@closure@/, to ensure that an extra
-reference count is held on /@object@/ during invocation of the
-/@closure@/.  Usually, this function will be called on closures that
-use this /@object@/ as closure data.
--}
-objectWatchClosure ::
-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
-    a
-    {- ^ /@object@/: 'GI.GObject.Objects.Object.Object' restricting lifetime of /@closure@/ -}
-    -> GClosure b
-    {- ^ /@closure@/: 'GI.GObject.Structs.Closure.Closure' to watch -}
-    -> m ()
-objectWatchClosure object closure = liftIO $ do
-    object' <- unsafeManagedPtrCastPtr object
-    closure' <- unsafeManagedPtrCastPtr closure
-    g_object_watch_closure object' closure'
-    touchManagedPtr object
-    touchManagedPtr closure
-    return ()
-
-#if ENABLE_OVERLOADING
-data ObjectWatchClosureMethodInfo
-instance (signature ~ (GClosure b -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectWatchClosureMethodInfo a signature where
-    overloadedMethod _ = objectWatchClosure
-
-#endif
-
--- method Object::compat_control
--- method type : MemberFunction
--- Args : [Arg {argCName = "what", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUInt64)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_compat_control" g_object_compat_control :: 
-    Word64 ->                               -- what : TBasicType TUInt64
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word64
-
-{- |
-/No description available in the introspection data./
--}
-objectCompatControl ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word64
-    -> Ptr ()
-    -> m Word64
-objectCompatControl what data_ = liftIO $ do
-    result <- g_object_compat_control what data_
-    return result
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method Object::interface_find_property
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "any interface vtable for the\n interface, or the default vtable for the interface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a property to lookup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_interface_find_property" g_object_interface_find_property :: 
-    Ptr GObject.TypeInterface.TypeInterface -> -- g_iface : TInterface (Name {namespace = "GObject", name = "TypeInterface"})
-    CString ->                              -- property_name : TBasicType TUTF8
-    IO (Ptr GParamSpec)
-
-{- |
-Find the 'GI.GObject.Objects.ParamSpec.ParamSpec' with the given name for an
-interface. Generally, the interface vtable passed in as /@gIface@/
-will be the default vtable from 'GI.GObject.Functions.typeDefaultInterfaceRef', or,
-if you know the interface has already been loaded,
-'GI.GObject.Functions.typeDefaultInterfacePeek'.
-
-/Since: 2.4/
--}
-objectInterfaceFindProperty ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: any interface vtable for the
- interface, or the default vtable for the interface -}
-    -> T.Text
-    {- ^ /@propertyName@/: name of a property to lookup. -}
-    -> m GParamSpec
-    {- ^ __Returns:__ the 'GI.GObject.Objects.ParamSpec.ParamSpec' for the property of the
-         interface with the name /@propertyName@/, or 'Nothing' if no
-         such property exists. -}
-objectInterfaceFindProperty gIface propertyName = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    propertyName' <- textToCString propertyName
-    result <- g_object_interface_find_property gIface' propertyName'
-    checkUnexpectedReturnNULL "objectInterfaceFindProperty" result
-    result' <- B.GParamSpec.newGParamSpecFromPtr result
-    touchManagedPtr gIface
-    freeMem propertyName'
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method Object::interface_install_property
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "any interface vtable for the\n   interface, or the default\n vtable for the interface.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec for the new property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_interface_install_property" g_object_interface_install_property :: 
-    Ptr GObject.TypeInterface.TypeInterface -> -- g_iface : TInterface (Name {namespace = "GObject", name = "TypeInterface"})
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    IO ()
-
-{- |
-Add a property to an interface; this is only useful for interfaces
-that are added to GObject-derived types. Adding a property to an
-interface forces all objects classes with that interface to have a
-compatible property. The compatible property could be a newly
-created 'GI.GObject.Objects.ParamSpec.ParamSpec', but normally
-'GI.GObject.Structs.ObjectClass.objectClassOverrideProperty' will be used so that the object
-class only needs to provide an implementation and inherits the
-property description, default value, bounds, and so forth from the
-interface property.
-
-This function is meant to be called from the interface\'s default
-vtable initialization function (the /@classInit@/ member of
-'GI.GObject.Structs.TypeInfo.TypeInfo'.) It must not be called after after /@classInit@/ has
-been called for any object types implementing this interface.
-
-If /@pspec@/ is a floating reference, it will be consumed.
-
-/Since: 2.4/
--}
-objectInterfaceInstallProperty ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeInterface.TypeInterface
-    {- ^ /@gIface@/: any interface vtable for the
-   interface, or the default
- vtable for the interface. -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' for the new property -}
-    -> m ()
-objectInterfaceInstallProperty gIface pspec = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    g_object_interface_install_property gIface' pspec'
-    touchManagedPtr gIface
-    touchManagedPtr pspec
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- XXX Could not generate method Object::interface_list_properties
--- Error was : Not implemented: "unpackCArray : Don't know how to unpack C Array of type TParamSpec"
-#if ENABLE_OVERLOADING
--- XXX: Dummy instance, since code generation failed.
--- Please file a bug at http://github.com/haskell-gi/haskell-gi.
-data ObjectInterfaceListPropertiesMethodInfo
-instance (p ~ (), o ~ O.MethodResolutionFailed "interfaceListProperties" Object) => O.MethodInfo ObjectInterfaceListPropertiesMethodInfo o p where
-    overloadedMethod _ = undefined
-#endif
-
-
diff --git a/GI/GObject/Objects/Object.hs-boot b/GI/GObject/Objects/Object.hs-boot
deleted file mode 100644
--- a/GI/GObject/Objects/Object.hs-boot
+++ /dev/null
@@ -1,101 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Objects.Object where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype Object = Object (ManagedPtr Object)
-instance GObject Object where
-class (GObject o, O.IsDescendantOf Object o) => IsObject o
-instance (GObject o, O.IsDescendantOf Object o) => IsObject o
-instance O.HasParentTypes Object
-#if ENABLE_OVERLOADING
-data ObjectNotifySignalInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectBindPropertyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectBindPropertyFullMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectForceFloatingMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectFreezeNotifyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectGetDataMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectGetPropertyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectGetQdataMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectGetvMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectIsFloatingMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectNotifyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectNotifyByPspecMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectRefMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectRefSinkMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectRunDisposeMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectSetDataMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectSetDataFullMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectSetPropertyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectStealDataMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectStealQdataMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectThawNotifyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectUnrefMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectWatchClosureMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ObjectInterfaceListPropertiesMethodInfo
-#endif
diff --git a/GI/GObject/Objects/ParamSpec.hs b/GI/GObject/Objects/ParamSpec.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpec.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpec () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpec" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecBoolean.hs b/GI/GObject/Objects/ParamSpecBoolean.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecBoolean.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecBoolean () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecBoolean" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecBoxed.hs b/GI/GObject/Objects/ParamSpecBoxed.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecBoxed.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecBoxed () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecBoxed" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecChar.hs b/GI/GObject/Objects/ParamSpecChar.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecChar.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecChar () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecChar" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecDouble.hs b/GI/GObject/Objects/ParamSpecDouble.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecDouble.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecDouble () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecDouble" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecEnum.hs b/GI/GObject/Objects/ParamSpecEnum.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecEnum.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecEnum () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecEnum" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecFlags.hs b/GI/GObject/Objects/ParamSpecFlags.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecFlags.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecFlags () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecFlags" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecFloat.hs b/GI/GObject/Objects/ParamSpecFloat.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecFloat.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecFloat () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecFloat" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecGType.hs b/GI/GObject/Objects/ParamSpecGType.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecGType.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecGType () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecGType" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecInt.hs b/GI/GObject/Objects/ParamSpecInt.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecInt.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecInt () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecInt" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecInt64.hs b/GI/GObject/Objects/ParamSpecInt64.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecInt64.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecInt64 () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecInt64" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecLong.hs b/GI/GObject/Objects/ParamSpecLong.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecLong.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecLong () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecLong" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecObject.hs b/GI/GObject/Objects/ParamSpecObject.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecObject.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecObject () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecObject" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecOverride.hs b/GI/GObject/Objects/ParamSpecOverride.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecOverride.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecOverride () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecOverride" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecParam.hs b/GI/GObject/Objects/ParamSpecParam.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecParam.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecParam () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecParam" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecPointer.hs b/GI/GObject/Objects/ParamSpecPointer.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecPointer.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecPointer () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecPointer" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecString.hs b/GI/GObject/Objects/ParamSpecString.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecString.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecString () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecString" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecUChar.hs b/GI/GObject/Objects/ParamSpecUChar.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecUChar.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecUChar () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecUChar" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecUInt.hs b/GI/GObject/Objects/ParamSpecUInt.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecUInt.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecUInt () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecUInt" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecUInt64.hs b/GI/GObject/Objects/ParamSpecUInt64.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecUInt64.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecUInt64 () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecUInt64" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecULong.hs b/GI/GObject/Objects/ParamSpecULong.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecULong.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecULong () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecULong" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecUnichar.hs b/GI/GObject/Objects/ParamSpecUnichar.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecUnichar.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecUnichar () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecUnichar" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecValueArray.hs b/GI/GObject/Objects/ParamSpecValueArray.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecValueArray.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecValueArray () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecValueArray" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/ParamSpecVariant.hs b/GI/GObject/Objects/ParamSpecVariant.hs
deleted file mode 100644
--- a/GI/GObject/Objects/ParamSpecVariant.hs
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.ParamSpecVariant () where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- APIObject "ParamSpecVariant" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Objects/TypeModule.hs b/GI/GObject/Objects/TypeModule.hs
deleted file mode 100644
--- a/GI/GObject/Objects/TypeModule.hs
+++ /dev/null
@@ -1,573 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-'GI.GObject.Objects.TypeModule.TypeModule' provides a simple implementation of the 'GI.GObject.Interfaces.TypePlugin.TypePlugin'
-interface. The model of 'GI.GObject.Objects.TypeModule.TypeModule' is a dynamically loaded module
-which implements some number of types and interface implementations.
-When the module is loaded, it registers its types and interfaces
-using 'GI.GObject.Objects.TypeModule.typeModuleRegisterType' and 'GI.GObject.Objects.TypeModule.typeModuleAddInterface'.
-As long as any instances of these types and interface implementations
-are in use, the module is kept loaded. When the types and interfaces
-are gone, the module may be unloaded. If the types and interfaces
-become used again, the module will be reloaded. Note that the last
-unref cannot happen in module code, since that would lead to the
-caller\'s code being unloaded before 'GI.GObject.Objects.Object.objectUnref' returns to it.
-
-Keeping track of whether the module should be loaded or not is done by
-using a use count - it starts at zero, and whenever it is greater than
-zero, the module is loaded. The use count is maintained internally by
-the type system, but also can be explicitly controlled by
-'GI.GObject.Objects.TypeModule.typeModuleUse' and 'GI.GObject.Objects.TypeModule.typeModuleUnuse'. Typically, when loading
-a module for the first type, 'GI.GObject.Objects.TypeModule.typeModuleUse' will be used to load
-it so that it can initialize its types. At some later point, when the
-module no longer needs to be loaded except for the type
-implementations it contains, 'GI.GObject.Objects.TypeModule.typeModuleUnuse' is called.
-
-'GI.GObject.Objects.TypeModule.TypeModule' does not actually provide any implementation of module
-loading and unloading. To create a particular module type you must
-derive from 'GI.GObject.Objects.TypeModule.TypeModule' and implement the load and unload functions
-in 'GI.GObject.Structs.TypeModuleClass.TypeModuleClass'.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Objects.TypeModule
-    ( 
-
--- * Exported types
-    TypeModule(..)                          ,
-    IsTypeModule                            ,
-    toTypeModule                            ,
-    noTypeModule                            ,
-
-
- -- * Methods
--- ** addInterface #method:addInterface#
-
-#if ENABLE_OVERLOADING
-    TypeModuleAddInterfaceMethodInfo        ,
-#endif
-    typeModuleAddInterface                  ,
-
-
--- ** registerEnum #method:registerEnum#
-
-#if ENABLE_OVERLOADING
-    TypeModuleRegisterEnumMethodInfo        ,
-#endif
-    typeModuleRegisterEnum                  ,
-
-
--- ** registerFlags #method:registerFlags#
-
-#if ENABLE_OVERLOADING
-    TypeModuleRegisterFlagsMethodInfo       ,
-#endif
-    typeModuleRegisterFlags                 ,
-
-
--- ** registerType #method:registerType#
-
-#if ENABLE_OVERLOADING
-    TypeModuleRegisterTypeMethodInfo        ,
-#endif
-    typeModuleRegisterType                  ,
-
-
--- ** setName #method:setName#
-
-#if ENABLE_OVERLOADING
-    TypeModuleSetNameMethodInfo             ,
-#endif
-    typeModuleSetName                       ,
-
-
--- ** unuse #method:unuse#
-
-#if ENABLE_OVERLOADING
-    TypeModuleUnuseMethodInfo               ,
-#endif
-    typeModuleUnuse                         ,
-
-
--- ** use #method:use#
-
-#if ENABLE_OVERLOADING
-    TypeModuleUseMethodInfo                 ,
-#endif
-    typeModuleUse                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-import {-# SOURCE #-} qualified GI.GObject.Interfaces.TypePlugin as GObject.TypePlugin
-import {-# SOURCE #-} qualified GI.GObject.Objects.Object as GObject.Object
-import {-# SOURCE #-} qualified GI.GObject.Structs.EnumValue as GObject.EnumValue
-import {-# SOURCE #-} qualified GI.GObject.Structs.FlagsValue as GObject.FlagsValue
-import {-# SOURCE #-} qualified GI.GObject.Structs.InterfaceInfo as GObject.InterfaceInfo
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeInfo as GObject.TypeInfo
-
--- | Memory-managed wrapper type.
-newtype TypeModule = TypeModule (ManagedPtr TypeModule)
-foreign import ccall "g_type_module_get_type"
-    c_g_type_module_get_type :: IO GType
-
-instance GObject TypeModule where
-    gobjectType = c_g_type_module_get_type
-    
-
--- | Type class for types which can be safely cast to `TypeModule`, for instance with `toTypeModule`.
-class (GObject o, O.IsDescendantOf TypeModule o) => IsTypeModule o
-instance (GObject o, O.IsDescendantOf TypeModule o) => IsTypeModule o
-
-instance O.HasParentTypes TypeModule
-type instance O.ParentTypes TypeModule = '[GObject.Object.Object, GObject.TypePlugin.TypePlugin]
-
--- | Cast to `TypeModule`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
-toTypeModule :: (MonadIO m, IsTypeModule o) => o -> m TypeModule
-toTypeModule = liftIO . unsafeCastTo TypeModule
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeModule`.
-noTypeModule :: Maybe TypeModule
-noTypeModule = Nothing
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeModuleMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeModuleMethod "addInterface" o = TypeModuleAddInterfaceMethodInfo
-    ResolveTypeModuleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
-    ResolveTypeModuleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
-    ResolveTypeModuleMethod "completeInterfaceInfo" o = GObject.TypePlugin.TypePluginCompleteInterfaceInfoMethodInfo
-    ResolveTypeModuleMethod "completeTypeInfo" o = GObject.TypePlugin.TypePluginCompleteTypeInfoMethodInfo
-    ResolveTypeModuleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
-    ResolveTypeModuleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
-    ResolveTypeModuleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
-    ResolveTypeModuleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
-    ResolveTypeModuleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
-    ResolveTypeModuleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
-    ResolveTypeModuleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
-    ResolveTypeModuleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
-    ResolveTypeModuleMethod "registerEnum" o = TypeModuleRegisterEnumMethodInfo
-    ResolveTypeModuleMethod "registerFlags" o = TypeModuleRegisterFlagsMethodInfo
-    ResolveTypeModuleMethod "registerType" o = TypeModuleRegisterTypeMethodInfo
-    ResolveTypeModuleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
-    ResolveTypeModuleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
-    ResolveTypeModuleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
-    ResolveTypeModuleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
-    ResolveTypeModuleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
-    ResolveTypeModuleMethod "unuse" o = TypeModuleUnuseMethodInfo
-    ResolveTypeModuleMethod "use" o = TypeModuleUseMethodInfo
-    ResolveTypeModuleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
-    ResolveTypeModuleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
-    ResolveTypeModuleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
-    ResolveTypeModuleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
-    ResolveTypeModuleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
-    ResolveTypeModuleMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
-    ResolveTypeModuleMethod "setName" o = TypeModuleSetNameMethodInfo
-    ResolveTypeModuleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
-    ResolveTypeModuleMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeModuleMethod t TypeModule, O.MethodInfo info TypeModule p) => OL.IsLabel t (TypeModule -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeModule
-type instance O.AttributeList TypeModule = TypeModuleAttributeList
-type TypeModuleAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-type instance O.SignalList TypeModule = TypeModuleSignalList
-type TypeModuleSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
-#endif
-
--- method TypeModule::add_interface
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type to which to add the interface.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "interface type to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_info", argType = TInterface (Name {namespace = "GObject", name = "InterfaceInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type information structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_add_interface" g_type_module_add_interface :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr GObject.InterfaceInfo.InterfaceInfo -> -- interface_info : TInterface (Name {namespace = "GObject", name = "InterfaceInfo"})
-    IO ()
-
-{- |
-Registers an additional interface for a type, whose interface lives
-in the given type plugin. If the interface was already registered
-for the type in this plugin, nothing will be done.
-
-As long as any instances of the type exist, the type plugin will
-not be unloaded.
-
-Since 2.56 if /@module@/ is 'Nothing' this will call 'GI.GObject.Functions.typeAddInterfaceStatic'
-instead. This can be used when making a static build of the module.
--}
-typeModuleAddInterface ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule' -}
-    -> GType
-    {- ^ /@instanceType@/: type to which to add the interface. -}
-    -> GType
-    {- ^ /@interfaceType@/: interface type to add -}
-    -> GObject.InterfaceInfo.InterfaceInfo
-    {- ^ /@interfaceInfo@/: type information structure -}
-    -> m ()
-typeModuleAddInterface module_ instanceType interfaceType interfaceInfo = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    interfaceInfo' <- unsafeManagedPtrGetPtr interfaceInfo
-    g_type_module_add_interface module_' instanceType' interfaceType' interfaceInfo'
-    touchManagedPtr module_
-    touchManagedPtr interfaceInfo
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypeModuleAddInterfaceMethodInfo
-instance (signature ~ (GType -> GType -> GObject.InterfaceInfo.InterfaceInfo -> m ()), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleAddInterfaceMethodInfo a signature where
-    overloadedMethod _ = typeModuleAddInterface
-
-#endif
-
--- method TypeModule::register_enum
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name for the type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface (Name {namespace = "GObject", name = "EnumValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GEnumValue structs for the\n                      possible enumeration values. The array is\n                      terminated by a struct with all members being\n                      0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_register_enum" g_type_module_register_enum :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GObject.EnumValue.EnumValue ->      -- const_static_values : TInterface (Name {namespace = "GObject", name = "EnumValue"})
-    IO CGType
-
-{- |
-Looks up or registers an enumeration that is implemented with a particular
-type plugin. If a type with name /@typeName@/ was previously registered,
-the 'GType' identifier for the type is returned, otherwise the type
-is newly registered, and the resulting 'GType' identifier returned.
-
-As long as any instances of the type exist, the type plugin will
-not be unloaded.
-
-Since 2.56 if /@module@/ is 'Nothing' this will call 'GI.GObject.Functions.typeRegisterStatic'
-instead. This can be used when making a static build of the module.
-
-/Since: 2.6/
--}
-typeModuleRegisterEnum ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule' -}
-    -> T.Text
-    {- ^ /@name@/: name for the type -}
-    -> GObject.EnumValue.EnumValue
-    {- ^ /@constStaticValues@/: an array of 'GI.GObject.Structs.EnumValue.EnumValue' structs for the
-                      possible enumeration values. The array is
-                      terminated by a struct with all members being
-                      0. -}
-    -> m GType
-    {- ^ __Returns:__ the new or existing type ID -}
-typeModuleRegisterEnum module_ name constStaticValues = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    name' <- textToCString name
-    constStaticValues' <- unsafeManagedPtrGetPtr constStaticValues
-    result <- g_type_module_register_enum module_' name' constStaticValues'
-    let result' = GType result
-    touchManagedPtr module_
-    touchManagedPtr constStaticValues
-    freeMem name'
-    return result'
-
-#if ENABLE_OVERLOADING
-data TypeModuleRegisterEnumMethodInfo
-instance (signature ~ (T.Text -> GObject.EnumValue.EnumValue -> m GType), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleRegisterEnumMethodInfo a signature where
-    overloadedMethod _ = typeModuleRegisterEnum
-
-#endif
-
--- method TypeModule::register_flags
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name for the type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface (Name {namespace = "GObject", name = "FlagsValue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GFlagsValue structs for the\n                      possible flags values. The array is\n                      terminated by a struct with all members being\n                      0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_register_flags" g_type_module_register_flags :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr GObject.FlagsValue.FlagsValue ->    -- const_static_values : TInterface (Name {namespace = "GObject", name = "FlagsValue"})
-    IO CGType
-
-{- |
-Looks up or registers a flags type that is implemented with a particular
-type plugin. If a type with name /@typeName@/ was previously registered,
-the 'GType' identifier for the type is returned, otherwise the type
-is newly registered, and the resulting 'GType' identifier returned.
-
-As long as any instances of the type exist, the type plugin will
-not be unloaded.
-
-Since 2.56 if /@module@/ is 'Nothing' this will call 'GI.GObject.Functions.typeRegisterStatic'
-instead. This can be used when making a static build of the module.
-
-/Since: 2.6/
--}
-typeModuleRegisterFlags ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule' -}
-    -> T.Text
-    {- ^ /@name@/: name for the type -}
-    -> GObject.FlagsValue.FlagsValue
-    {- ^ /@constStaticValues@/: an array of 'GI.GObject.Structs.FlagsValue.FlagsValue' structs for the
-                      possible flags values. The array is
-                      terminated by a struct with all members being
-                      0. -}
-    -> m GType
-    {- ^ __Returns:__ the new or existing type ID -}
-typeModuleRegisterFlags module_ name constStaticValues = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    name' <- textToCString name
-    constStaticValues' <- unsafeManagedPtrGetPtr constStaticValues
-    result <- g_type_module_register_flags module_' name' constStaticValues'
-    let result' = GType result
-    touchManagedPtr module_
-    touchManagedPtr constStaticValues
-    freeMem name'
-    return result'
-
-#if ENABLE_OVERLOADING
-data TypeModuleRegisterFlagsMethodInfo
-instance (signature ~ (T.Text -> GObject.FlagsValue.FlagsValue -> m GType), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleRegisterFlagsMethodInfo a signature where
-    overloadedMethod _ = typeModuleRegisterFlags
-
-#endif
-
--- method TypeModule::register_type
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type for the parent class", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name for the type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_info", argType = TInterface (Name {namespace = "GObject", name = "TypeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type information structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "TypeFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags field providing details about the type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TGType)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_register_type" g_type_module_register_type :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    CGType ->                               -- parent_type : TBasicType TGType
-    CString ->                              -- type_name : TBasicType TUTF8
-    Ptr GObject.TypeInfo.TypeInfo ->        -- type_info : TInterface (Name {namespace = "GObject", name = "TypeInfo"})
-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "TypeFlags"})
-    IO CGType
-
-{- |
-Looks up or registers a type that is implemented with a particular
-type plugin. If a type with name /@typeName@/ was previously registered,
-the 'GType' identifier for the type is returned, otherwise the type
-is newly registered, and the resulting 'GType' identifier returned.
-
-When reregistering a type (typically because a module is unloaded
-then reloaded, and reinitialized), /@module@/ and /@parentType@/ must
-be the same as they were previously.
-
-As long as any instances of the type exist, the type plugin will
-not be unloaded.
-
-Since 2.56 if /@module@/ is 'Nothing' this will call 'GI.GObject.Functions.typeRegisterStatic'
-instead. This can be used when making a static build of the module.
--}
-typeModuleRegisterType ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule' -}
-    -> GType
-    {- ^ /@parentType@/: the type for the parent class -}
-    -> T.Text
-    {- ^ /@typeName@/: name for the type -}
-    -> GObject.TypeInfo.TypeInfo
-    {- ^ /@typeInfo@/: type information structure -}
-    -> [GObject.Flags.TypeFlags]
-    {- ^ /@flags@/: flags field providing details about the type -}
-    -> m GType
-    {- ^ __Returns:__ the new or existing type ID -}
-typeModuleRegisterType module_ parentType typeName typeInfo flags = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    let parentType' = gtypeToCGType parentType
-    typeName' <- textToCString typeName
-    typeInfo' <- unsafeManagedPtrGetPtr typeInfo
-    let flags' = gflagsToWord flags
-    result <- g_type_module_register_type module_' parentType' typeName' typeInfo' flags'
-    let result' = GType result
-    touchManagedPtr module_
-    touchManagedPtr typeInfo
-    freeMem typeName'
-    return result'
-
-#if ENABLE_OVERLOADING
-data TypeModuleRegisterTypeMethodInfo
-instance (signature ~ (GType -> T.Text -> GObject.TypeInfo.TypeInfo -> [GObject.Flags.TypeFlags] -> m GType), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleRegisterTypeMethodInfo a signature where
-    overloadedMethod _ = typeModuleRegisterType
-
-#endif
-
--- method TypeModule::set_name
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a human-readable name to use in error messages.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_set_name" g_type_module_set_name :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    CString ->                              -- name : TBasicType TUTF8
-    IO ()
-
-{- |
-Sets the name for a 'GI.GObject.Objects.TypeModule.TypeModule'
--}
-typeModuleSetName ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule'. -}
-    -> T.Text
-    {- ^ /@name@/: a human-readable name to use in error messages. -}
-    -> m ()
-typeModuleSetName module_ name = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    name' <- textToCString name
-    g_type_module_set_name module_' name'
-    touchManagedPtr module_
-    freeMem name'
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypeModuleSetNameMethodInfo
-instance (signature ~ (T.Text -> m ()), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleSetNameMethodInfo a signature where
-    overloadedMethod _ = typeModuleSetName
-
-#endif
-
--- method TypeModule::unuse
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_unuse" g_type_module_unuse :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    IO ()
-
-{- |
-Decreases the use count of a 'GI.GObject.Objects.TypeModule.TypeModule' by one. If the
-result is zero, the module will be unloaded. (However, the
-'GI.GObject.Objects.TypeModule.TypeModule' will not be freed, and types associated with the
-'GI.GObject.Objects.TypeModule.TypeModule' are not unregistered. Once a 'GI.GObject.Objects.TypeModule.TypeModule' is
-initialized, it must exist forever.)
--}
-typeModuleUnuse ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule' -}
-    -> m ()
-typeModuleUnuse module_ = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    g_type_module_unuse module_'
-    touchManagedPtr module_
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypeModuleUnuseMethodInfo
-instance (signature ~ (m ()), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleUnuseMethodInfo a signature where
-    overloadedMethod _ = typeModuleUnuse
-
-#endif
-
--- method TypeModule::use
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "module", argType = TInterface (Name {namespace = "GObject", name = "TypeModule"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeModule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_module_use" g_type_module_use :: 
-    Ptr TypeModule ->                       -- module : TInterface (Name {namespace = "GObject", name = "TypeModule"})
-    IO CInt
-
-{- |
-Increases the use count of a 'GI.GObject.Objects.TypeModule.TypeModule' by one. If the
-use count was zero before, the plugin will be loaded.
-If loading the plugin fails, the use count is reset to
-its prior value.
--}
-typeModuleUse ::
-    (B.CallStack.HasCallStack, MonadIO m, IsTypeModule a) =>
-    a
-    {- ^ /@module@/: a 'GI.GObject.Objects.TypeModule.TypeModule' -}
-    -> m Bool
-    {- ^ __Returns:__ 'False' if the plugin needed to be loaded and
- loading the plugin failed. -}
-typeModuleUse module_ = liftIO $ do
-    module_' <- unsafeManagedPtrCastPtr module_
-    result <- g_type_module_use module_'
-    let result' = (/= 0) result
-    touchManagedPtr module_
-    return result'
-
-#if ENABLE_OVERLOADING
-data TypeModuleUseMethodInfo
-instance (signature ~ (m Bool), MonadIO m, IsTypeModule a) => O.MethodInfo TypeModuleUseMethodInfo a signature where
-    overloadedMethod _ = typeModuleUse
-
-#endif
-
-
diff --git a/GI/GObject/Objects/TypeModule.hs-boot b/GI/GObject/Objects/TypeModule.hs-boot
deleted file mode 100644
--- a/GI/GObject/Objects/TypeModule.hs-boot
+++ /dev/null
@@ -1,50 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Objects.TypeModule where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeModule = TypeModule (ManagedPtr TypeModule)
-instance GObject TypeModule where
-class (GObject o, O.IsDescendantOf TypeModule o) => IsTypeModule o
-instance (GObject o, O.IsDescendantOf TypeModule o) => IsTypeModule o
-instance O.HasParentTypes TypeModule
-#if ENABLE_OVERLOADING
-data TypeModuleAddInterfaceMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeModuleRegisterEnumMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeModuleRegisterFlagsMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeModuleRegisterTypeMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeModuleSetNameMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeModuleUnuseMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeModuleUseMethodInfo
-#endif
diff --git a/GI/GObject/Structs.hs b/GI/GObject/Structs.hs
deleted file mode 100644
--- a/GI/GObject/Structs.hs
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs
-    (     module GI.GObject.Structs.CClosure      ,
-    module GI.GObject.Structs.ClosureNotifyData,
-    module GI.GObject.Structs.EnumClass     ,
-    module GI.GObject.Structs.EnumValue     ,
-    module GI.GObject.Structs.FlagsClass    ,
-    module GI.GObject.Structs.FlagsValue    ,
-    module GI.GObject.Structs.InterfaceInfo ,
-    module GI.GObject.Structs.ObjectConstructParam,
-    module GI.GObject.Structs.ParamSpecPool ,
-    module GI.GObject.Structs.ParamSpecTypeInfo,
-    module GI.GObject.Structs.Parameter     ,
-    module GI.GObject.Structs.SignalInvocationHint,
-    module GI.GObject.Structs.SignalQuery   ,
-    module GI.GObject.Structs.TypeClass     ,
-    module GI.GObject.Structs.TypeFundamentalInfo,
-    module GI.GObject.Structs.TypeInfo      ,
-    module GI.GObject.Structs.TypeInstance  ,
-    module GI.GObject.Structs.TypeInterface ,
-    module GI.GObject.Structs.TypeQuery     ,
-    module GI.GObject.Structs.TypeValueTable,
-    module GI.GObject.Structs.ValueArray    ,
-    module GI.GObject.Structs.WeakRef       ,
-
-
-    ) where
-
-import GI.GObject.Structs.CClosure
-import GI.GObject.Structs.ClosureNotifyData
-import GI.GObject.Structs.EnumClass
-import GI.GObject.Structs.EnumValue
-import GI.GObject.Structs.FlagsClass
-import GI.GObject.Structs.FlagsValue
-import GI.GObject.Structs.InterfaceInfo
-import GI.GObject.Structs.ObjectConstructParam
-import GI.GObject.Structs.ParamSpecPool
-import GI.GObject.Structs.ParamSpecTypeInfo
-import GI.GObject.Structs.Parameter
-import GI.GObject.Structs.SignalInvocationHint
-import GI.GObject.Structs.SignalQuery
-import GI.GObject.Structs.TypeClass
-import GI.GObject.Structs.TypeFundamentalInfo
-import GI.GObject.Structs.TypeInfo
-import GI.GObject.Structs.TypeInstance
-import GI.GObject.Structs.TypeInterface
-import GI.GObject.Structs.TypeQuery
-import GI.GObject.Structs.TypeValueTable
-import GI.GObject.Structs.ValueArray
-import GI.GObject.Structs.WeakRef
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
-
diff --git a/GI/GObject/Structs/CClosure.hs b/GI/GObject/Structs/CClosure.hs
deleted file mode 100644
--- a/GI/GObject/Structs/CClosure.hs
+++ /dev/null
@@ -1,1516 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A 'GI.GObject.Structs.CClosure.CClosure' is a specialization of 'GI.GObject.Structs.Closure.Closure' for C function callbacks.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.CClosure
-    ( 
-
--- * Exported types
-    CClosure(..)                            ,
-    newZeroCClosure                         ,
-    noCClosure                              ,
-
-
- -- * Methods
--- ** marshalBOOLEAN_BOXEDBOXED #method:marshalBOOLEAN_BOXEDBOXED#
-
-    cClosureMarshalBOOLEAN_BOXEDBOXED       ,
-
-
--- ** marshalBOOLEAN_FLAGS #method:marshalBOOLEAN_FLAGS#
-
-    cClosureMarshalBOOLEAN_FLAGS            ,
-
-
--- ** marshalGeneric #method:marshalGeneric#
-
-    cClosureMarshalGeneric                  ,
-
-
--- ** marshalSTRING_OBJECTPOINTER #method:marshalSTRING_OBJECTPOINTER#
-
-    cClosureMarshalSTRING_OBJECTPOINTER     ,
-
-
--- ** marshalVOID_BOOLEAN #method:marshalVOID_BOOLEAN#
-
-    cClosureMarshalVOID_BOOLEAN             ,
-
-
--- ** marshalVOID_BOXED #method:marshalVOID_BOXED#
-
-    cClosureMarshalVOID_BOXED               ,
-
-
--- ** marshalVOID_CHAR #method:marshalVOID_CHAR#
-
-    cClosureMarshalVOID_CHAR                ,
-
-
--- ** marshalVOID_DOUBLE #method:marshalVOID_DOUBLE#
-
-    cClosureMarshalVOID_DOUBLE              ,
-
-
--- ** marshalVOID_ENUM #method:marshalVOID_ENUM#
-
-    cClosureMarshalVOID_ENUM                ,
-
-
--- ** marshalVOID_FLAGS #method:marshalVOID_FLAGS#
-
-    cClosureMarshalVOID_FLAGS               ,
-
-
--- ** marshalVOID_FLOAT #method:marshalVOID_FLOAT#
-
-    cClosureMarshalVOID_FLOAT               ,
-
-
--- ** marshalVOID_INT #method:marshalVOID_INT#
-
-    cClosureMarshalVOID_INT                 ,
-
-
--- ** marshalVOID_LONG #method:marshalVOID_LONG#
-
-    cClosureMarshalVOID_LONG                ,
-
-
--- ** marshalVOID_OBJECT #method:marshalVOID_OBJECT#
-
-    cClosureMarshalVOID_OBJECT              ,
-
-
--- ** marshalVOID_PARAM #method:marshalVOID_PARAM#
-
-    cClosureMarshalVOID_PARAM               ,
-
-
--- ** marshalVOID_POINTER #method:marshalVOID_POINTER#
-
-    cClosureMarshalVOID_POINTER             ,
-
-
--- ** marshalVOID_STRING #method:marshalVOID_STRING#
-
-    cClosureMarshalVOID_STRING              ,
-
-
--- ** marshalVOID_UCHAR #method:marshalVOID_UCHAR#
-
-    cClosureMarshalVOID_UCHAR               ,
-
-
--- ** marshalVOID_UINT #method:marshalVOID_UINT#
-
-    cClosureMarshalVOID_UINT                ,
-
-
--- ** marshalVOID_UINTPOINTER #method:marshalVOID_UINTPOINTER#
-
-    cClosureMarshalVOID_UINTPOINTER         ,
-
-
--- ** marshalVOID_ULONG #method:marshalVOID_ULONG#
-
-    cClosureMarshalVOID_ULONG               ,
-
-
--- ** marshalVOID_VARIANT #method:marshalVOID_VARIANT#
-
-    cClosureMarshalVOID_VARIANT             ,
-
-
--- ** marshalVOID_VOID #method:marshalVOID_VOID#
-
-    cClosureMarshalVOID_VOID                ,
-
-
-
-
- -- * Properties
--- ** callback #attr:callback#
-{- | the callback function
--}
-#if ENABLE_OVERLOADING
-    cClosure_callback                       ,
-#endif
-    clearCClosureCallback                   ,
-    getCClosureCallback                     ,
-    setCClosureCallback                     ,
-
-
--- ** closure #attr:closure#
-{- | the 'GI.GObject.Structs.Closure.Closure'
--}
-#if ENABLE_OVERLOADING
-    cClosure_closure                        ,
-#endif
-    clearCClosureClosure                    ,
-    getCClosureClosure                      ,
-    setCClosureClosure                      ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype CClosure = CClosure (ManagedPtr CClosure)
-instance WrappedPtr CClosure where
-    wrappedPtrCalloc = callocBytes 72
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 72 >=> wrapPtr CClosure)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `CClosure` struct initialized to zero.
-newZeroCClosure :: MonadIO m => m CClosure
-newZeroCClosure = liftIO $ wrappedPtrCalloc >>= wrapPtr CClosure
-
-instance tag ~ 'AttrSet => Constructible CClosure tag where
-    new _ attrs = do
-        o <- newZeroCClosure
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `CClosure`.
-noCClosure :: Maybe CClosure
-noCClosure = Nothing
-
-{- |
-Get the value of the “@closure@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' cClosure #closure
-@
--}
-getCClosureClosure :: MonadIO m => CClosure -> m (Maybe (GClosure ()))
-getCClosureClosure s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr (GClosure ()))
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- (B.GClosure.newGClosureFromPtr . FP.castPtr) val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@closure@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' cClosure [ #closure 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setCClosureClosure :: MonadIO m => CClosure -> Ptr (GClosure ()) -> m ()
-setCClosureClosure s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr (GClosure ()))
-
-{- |
-Set the value of the “@closure@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #closure
-@
--}
-clearCClosureClosure :: MonadIO m => CClosure -> m ()
-clearCClosureClosure s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr (GClosure ()))
-
-#if ENABLE_OVERLOADING
-data CClosureClosureFieldInfo
-instance AttrInfo CClosureClosureFieldInfo where
-    type AttrAllowedOps CClosureClosureFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint CClosureClosureFieldInfo = (~) (Ptr (GClosure ()))
-    type AttrBaseTypeConstraint CClosureClosureFieldInfo = (~) CClosure
-    type AttrGetType CClosureClosureFieldInfo = Maybe (GClosure ())
-    type AttrLabel CClosureClosureFieldInfo = "closure"
-    type AttrOrigin CClosureClosureFieldInfo = CClosure
-    attrGet _ = getCClosureClosure
-    attrSet _ = setCClosureClosure
-    attrConstruct = undefined
-    attrClear _ = clearCClosureClosure
-
-cClosure_closure :: AttrLabelProxy "closure"
-cClosure_closure = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@callback@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' cClosure #callback
-@
--}
-getCClosureCallback :: MonadIO m => CClosure -> m (Ptr ())
-getCClosureCallback s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO (Ptr ())
-    return val
-
-{- |
-Set the value of the “@callback@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' cClosure [ #callback 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setCClosureCallback :: MonadIO m => CClosure -> Ptr () -> m ()
-setCClosureCallback s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (val :: Ptr ())
-
-{- |
-Set the value of the “@callback@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #callback
-@
--}
-clearCClosureCallback :: MonadIO m => CClosure -> m ()
-clearCClosureCallback s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (FP.nullPtr :: Ptr ())
-
-#if ENABLE_OVERLOADING
-data CClosureCallbackFieldInfo
-instance AttrInfo CClosureCallbackFieldInfo where
-    type AttrAllowedOps CClosureCallbackFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint CClosureCallbackFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint CClosureCallbackFieldInfo = (~) CClosure
-    type AttrGetType CClosureCallbackFieldInfo = Ptr ()
-    type AttrLabel CClosureCallbackFieldInfo = "callback"
-    type AttrOrigin CClosureCallbackFieldInfo = CClosure
-    attrGet _ = getCClosureCallback
-    attrSet _ = setCClosureCallback
-    attrConstruct = undefined
-    attrClear _ = clearCClosureCallback
-
-cClosure_callback :: AttrLabelProxy "callback"
-cClosure_callback = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList CClosure
-type instance O.AttributeList CClosure = CClosureAttributeList
-type CClosureAttributeList = ('[ '("closure", CClosureClosureFieldInfo), '("callback", CClosureCallbackFieldInfo)] :: [(Symbol, *)])
-#endif
-
--- method CClosure::marshal_BOOLEAN__BOXED_BOXED
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GClosure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GValue to store the return value. May be %NULL\n  if the callback of closure doesn't return a value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the @param_values array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GValues holding the arguments\n  on which to invoke the callback of closure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The invocation hint given as the last argument to\n  g_closure_invoke().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Additional data specified when registering the\n  marshaller, see g_closure_set_marshal() and\n  g_closure_set_meta_marshal()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_BOOLEAN__BOXED_BOXED" g_cclosure_marshal_BOOLEAN__BOXED_BOXED :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A @/GClosureMarshal/@ function for use with signals with handlers that
-take two boxed pointers as arguments and return a boolean.  If you
-have such a signal, you will probably also need to use an
-accumulator, such as 'GI.GObject.Functions.signalAccumulatorTrueHandled'.
--}
-cClosureMarshalBOOLEAN_BOXEDBOXED ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: A 'GI.GObject.Structs.Closure.Closure'. -}
-    -> GValue
-    {- ^ /@returnValue@/: A 'GI.GObject.Structs.Value.Value' to store the return value. May be 'Nothing'
-  if the callback of closure doesn\'t return a value. -}
-    -> Word32
-    {- ^ /@nParamValues@/: The length of the /@paramValues@/ array. -}
-    -> GValue
-    {- ^ /@paramValues@/: An array of @/GValues/@ holding the arguments
-  on which to invoke the callback of closure. -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: The invocation hint given as the last argument to
-  'GI.GObject.Structs.Closure.closureInvoke'. -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: Additional data specified when registering the
-  marshaller, see @/g_closure_set_marshal()/@ and
-  @/g_closure_set_meta_marshal()/@ -}
-    -> m ()
-cClosureMarshalBOOLEAN_BOXEDBOXED closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_BOOLEAN__BOXED_BOXED closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_BOOLEAN__FLAGS
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue which can store the returned #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding instance and arg1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_BOOLEAN__FLAGS" g_cclosure_marshal_BOOLEAN__FLAGS :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)@ where the @/gint/@ parameter
-denotes a flags type.
--}
-cClosureMarshalBOOLEAN_FLAGS ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: a 'GI.GObject.Structs.Value.Value' which can store the returned 'Bool' -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding instance and arg1 -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalBOOLEAN_FLAGS closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_BOOLEAN__FLAGS closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_STRING__OBJECT_POINTER
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue, which can store the returned string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "3", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding instance, arg1 and arg2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_STRING__OBJECT_POINTER" g_cclosure_marshal_STRING__OBJECT_POINTER :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)@.
--}
-cClosureMarshalSTRING_OBJECTPOINTER ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: a 'GI.GObject.Structs.Value.Value', which can store the returned string -}
-    -> Word32
-    {- ^ /@nParamValues@/: 3 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding instance, arg1 and arg2 -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalSTRING_OBJECTPOINTER closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_STRING__OBJECT_POINTER closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__BOOLEAN
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gboolean parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__BOOLEAN" g_cclosure_marshal_VOID__BOOLEAN :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_BOOLEAN ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the 'Bool' parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_BOOLEAN closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__BOOLEAN closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__BOXED
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #GBoxed* parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__BOXED" g_cclosure_marshal_VOID__BOXED :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_BOXED ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/GBoxed/@* parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_BOXED closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__BOXED closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__CHAR
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gchar parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__CHAR" g_cclosure_marshal_VOID__CHAR :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gchar arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_CHAR ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gchar/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_CHAR closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__CHAR closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__DOUBLE
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gdouble parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__DOUBLE" g_cclosure_marshal_VOID__DOUBLE :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_DOUBLE ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gdouble/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_DOUBLE closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__DOUBLE closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__ENUM
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the enumeration parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__ENUM" g_cclosure_marshal_VOID__ENUM :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gint arg1, gpointer user_data)@ where the @/gint/@ parameter denotes an enumeration type..
--}
-cClosureMarshalVOID_ENUM ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the enumeration parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_ENUM closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__ENUM closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__FLAGS
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the flags parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__FLAGS" g_cclosure_marshal_VOID__FLAGS :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gint arg1, gpointer user_data)@ where the @/gint/@ parameter denotes a flags type.
--}
-cClosureMarshalVOID_FLAGS ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the flags parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_FLAGS closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__FLAGS closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__FLOAT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gfloat parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__FLOAT" g_cclosure_marshal_VOID__FLOAT :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_FLOAT ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gfloat/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_FLOAT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__FLOAT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__INT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gint parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__INT" g_cclosure_marshal_VOID__INT :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gint arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_INT ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gint/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_INT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__INT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__LONG
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #glong parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__LONG" g_cclosure_marshal_VOID__LONG :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, glong arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_LONG ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/glong/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_LONG closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__LONG closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__OBJECT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #GObject* parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__OBJECT" g_cclosure_marshal_VOID__OBJECT :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_OBJECT ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the 'GI.GObject.Objects.Object.Object'* parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_OBJECT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__OBJECT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__PARAM
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #GParamSpec* parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__PARAM" g_cclosure_marshal_VOID__PARAM :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_PARAM ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the 'GI.GObject.Objects.ParamSpec.ParamSpec'* parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_PARAM closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__PARAM closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__POINTER
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gpointer parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__POINTER" g_cclosure_marshal_VOID__POINTER :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_POINTER ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gpointer/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_POINTER closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__POINTER closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__STRING
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gchar* parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__STRING" g_cclosure_marshal_VOID__STRING :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_STRING ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gchar/@* parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_STRING closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__STRING closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__UCHAR
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #guchar parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__UCHAR" g_cclosure_marshal_VOID__UCHAR :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, guchar arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_UCHAR ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/guchar/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_UCHAR closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__UCHAR closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__UINT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #guint parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__UINT" g_cclosure_marshal_VOID__UINT :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, guint arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_UINT ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/guint/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_UINT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__UINT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__UINT_POINTER
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "3", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding instance, arg1 and arg2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__UINT_POINTER" g_cclosure_marshal_VOID__UINT_POINTER :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)@.
--}
-cClosureMarshalVOID_UINTPOINTER ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 3 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding instance, arg1 and arg2 -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_UINTPOINTER closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__UINT_POINTER closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__ULONG
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #gulong parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__ULONG" g_cclosure_marshal_VOID__ULONG :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gulong arg1, gpointer user_data)@.
--}
-cClosureMarshalVOID_ULONG ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the @/gulong/@ parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_ULONG closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__ULONG closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__VARIANT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding the instance and the #GVariant* parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__VARIANT" g_cclosure_marshal_VOID__VARIANT :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)@.
-
-/Since: 2.26/
--}
-cClosureMarshalVOID_VARIANT ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 2 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding the instance and the 'GVariant'* parameter -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_VARIANT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__VARIANT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_VOID__VOID
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GClosure to which the marshaller belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ignored", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue array holding only the instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the invocation hint given as the last argument\n to g_closure_invoke()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "additional data specified when registering the marshaller", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_VOID__VOID" g_cclosure_marshal_VOID__VOID :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_value : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A marshaller for a 'GI.GObject.Structs.CClosure.CClosure' with a callback of type
-@void (*callback) (gpointer instance, gpointer user_data)@.
--}
-cClosureMarshalVOID_VOID ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: the 'GI.GObject.Structs.Closure.Closure' to which the marshaller belongs -}
-    -> GValue
-    {- ^ /@returnValue@/: ignored -}
-    -> Word32
-    {- ^ /@nParamValues@/: 1 -}
-    -> GValue
-    {- ^ /@paramValues@/: a 'GI.GObject.Structs.Value.Value' array holding only the instance -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: the invocation hint given as the last argument
- to 'GI.GObject.Structs.Closure.closureInvoke' -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: additional data specified when registering the marshaller -}
-    -> m ()
-cClosureMarshalVOID_VOID closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnValue' <- unsafeManagedPtrGetPtr returnValue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__VOID closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method CClosure::marshal_generic
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GClosure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_gvalue", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GValue to store the return value. May be %NULL\n  if the callback of closure doesn't return a value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the @param_values array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An array of #GValues holding the arguments\n  on which to invoke the callback of closure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The invocation hint given as the last argument to\n  g_closure_invoke().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Additional data specified when registering the\n  marshaller, see g_closure_set_marshal() and\n  g_closure_set_meta_marshal()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_cclosure_marshal_generic" g_cclosure_marshal_generic :: 
-    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing
-    Ptr GValue ->                           -- return_gvalue : TInterface (Name {namespace = "GObject", name = "Value"})
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-{- |
-A generic marshaller function implemented via
-<http://sourceware.org/libffi/ libffi>.
-
-Normally this function is not passed explicitly to @/g_signal_new()/@,
-but used automatically by GLib when specifying a 'Nothing' marshaller.
-
-/Since: 2.30/
--}
-cClosureMarshalGeneric ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GClosure a
-    {- ^ /@closure@/: A 'GI.GObject.Structs.Closure.Closure'. -}
-    -> GValue
-    {- ^ /@returnGvalue@/: A 'GI.GObject.Structs.Value.Value' to store the return value. May be 'Nothing'
-  if the callback of closure doesn\'t return a value. -}
-    -> Word32
-    {- ^ /@nParamValues@/: The length of the /@paramValues@/ array. -}
-    -> GValue
-    {- ^ /@paramValues@/: An array of @/GValues/@ holding the arguments
-  on which to invoke the callback of closure. -}
-    -> Ptr ()
-    {- ^ /@invocationHint@/: The invocation hint given as the last argument to
-  'GI.GObject.Structs.Closure.closureInvoke'. -}
-    -> Ptr ()
-    {- ^ /@marshalData@/: Additional data specified when registering the
-  marshaller, see @/g_closure_set_marshal()/@ and
-  @/g_closure_set_meta_marshal()/@ -}
-    -> m ()
-cClosureMarshalGeneric closure returnGvalue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    closure' <- unsafeManagedPtrCastPtr closure
-    returnGvalue' <- unsafeManagedPtrGetPtr returnGvalue
-    paramValues' <- unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_generic closure' returnGvalue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnGvalue
-    touchManagedPtr paramValues
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveCClosureMethod (t :: Symbol) (o :: *) :: * where
-    ResolveCClosureMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveCClosureMethod t CClosure, O.MethodInfo info CClosure p) => OL.IsLabel t (CClosure -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/CClosure.hs-boot b/GI/GObject/Structs/CClosure.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/CClosure.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.CClosure where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype CClosure = CClosure (ManagedPtr CClosure)
-instance WrappedPtr CClosure where
diff --git a/GI/GObject/Structs/ClosureNotifyData.hs b/GI/GObject/Structs/ClosureNotifyData.hs
deleted file mode 100644
--- a/GI/GObject/Structs/ClosureNotifyData.hs
+++ /dev/null
@@ -1,231 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-/No description available in the introspection data./
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.ClosureNotifyData
-    ( 
-
--- * Exported types
-    ClosureNotifyData(..)                   ,
-    newZeroClosureNotifyData                ,
-    noClosureNotifyData                     ,
-
-
- -- * Properties
--- ** data #attr:data#
-{- | /No description available in the introspection data./
--}
-    clearClosureNotifyDataData              ,
-#if ENABLE_OVERLOADING
-    closureNotifyData_data                  ,
-#endif
-    getClosureNotifyDataData                ,
-    setClosureNotifyDataData                ,
-
-
--- ** notify #attr:notify#
-{- | /No description available in the introspection data./
--}
-    clearClosureNotifyDataNotify            ,
-#if ENABLE_OVERLOADING
-    closureNotifyData_notify                ,
-#endif
-    getClosureNotifyDataNotify              ,
-    setClosureNotifyDataNotify              ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GObject.Callbacks as GObject.Callbacks
-
--- | Memory-managed wrapper type.
-newtype ClosureNotifyData = ClosureNotifyData (ManagedPtr ClosureNotifyData)
-instance WrappedPtr ClosureNotifyData where
-    wrappedPtrCalloc = callocBytes 16
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr ClosureNotifyData)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `ClosureNotifyData` struct initialized to zero.
-newZeroClosureNotifyData :: MonadIO m => m ClosureNotifyData
-newZeroClosureNotifyData = liftIO $ wrappedPtrCalloc >>= wrapPtr ClosureNotifyData
-
-instance tag ~ 'AttrSet => Constructible ClosureNotifyData tag where
-    new _ attrs = do
-        o <- newZeroClosureNotifyData
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `ClosureNotifyData`.
-noClosureNotifyData :: Maybe ClosureNotifyData
-noClosureNotifyData = Nothing
-
-{- |
-Get the value of the “@data@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' closureNotifyData #data
-@
--}
-getClosureNotifyDataData :: MonadIO m => ClosureNotifyData -> m (Ptr ())
-getClosureNotifyDataData s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
-    return val
-
-{- |
-Set the value of the “@data@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' closureNotifyData [ #data 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setClosureNotifyDataData :: MonadIO m => ClosureNotifyData -> Ptr () -> m ()
-setClosureNotifyDataData s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr ())
-
-{- |
-Set the value of the “@data@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #data
-@
--}
-clearClosureNotifyDataData :: MonadIO m => ClosureNotifyData -> m ()
-clearClosureNotifyDataData s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())
-
-#if ENABLE_OVERLOADING
-data ClosureNotifyDataDataFieldInfo
-instance AttrInfo ClosureNotifyDataDataFieldInfo where
-    type AttrAllowedOps ClosureNotifyDataDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ClosureNotifyDataDataFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint ClosureNotifyDataDataFieldInfo = (~) ClosureNotifyData
-    type AttrGetType ClosureNotifyDataDataFieldInfo = Ptr ()
-    type AttrLabel ClosureNotifyDataDataFieldInfo = "data"
-    type AttrOrigin ClosureNotifyDataDataFieldInfo = ClosureNotifyData
-    attrGet _ = getClosureNotifyDataData
-    attrSet _ = setClosureNotifyDataData
-    attrConstruct = undefined
-    attrClear _ = clearClosureNotifyDataData
-
-closureNotifyData_data :: AttrLabelProxy "data"
-closureNotifyData_data = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@notify@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' closureNotifyData #notify
-@
--}
-getClosureNotifyDataNotify :: MonadIO m => ClosureNotifyData -> m (Maybe GObject.Callbacks.ClosureNotify)
-getClosureNotifyDataNotify s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GObject.Callbacks.C_ClosureNotify)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ClosureNotify val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@notify@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' closureNotifyData [ #notify 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setClosureNotifyDataNotify :: MonadIO m => ClosureNotifyData -> FunPtr GObject.Callbacks.C_ClosureNotify -> m ()
-setClosureNotifyDataNotify s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: FunPtr GObject.Callbacks.C_ClosureNotify)
-
-{- |
-Set the value of the “@notify@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #notify
-@
--}
-clearClosureNotifyDataNotify :: MonadIO m => ClosureNotifyData -> m ()
-clearClosureNotifyDataNotify s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ClosureNotify)
-
-#if ENABLE_OVERLOADING
-data ClosureNotifyDataNotifyFieldInfo
-instance AttrInfo ClosureNotifyDataNotifyFieldInfo where
-    type AttrAllowedOps ClosureNotifyDataNotifyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ClosureNotifyDataNotifyFieldInfo = (~) (FunPtr GObject.Callbacks.C_ClosureNotify)
-    type AttrBaseTypeConstraint ClosureNotifyDataNotifyFieldInfo = (~) ClosureNotifyData
-    type AttrGetType ClosureNotifyDataNotifyFieldInfo = Maybe GObject.Callbacks.ClosureNotify
-    type AttrLabel ClosureNotifyDataNotifyFieldInfo = "notify"
-    type AttrOrigin ClosureNotifyDataNotifyFieldInfo = ClosureNotifyData
-    attrGet _ = getClosureNotifyDataNotify
-    attrSet _ = setClosureNotifyDataNotify
-    attrConstruct = undefined
-    attrClear _ = clearClosureNotifyDataNotify
-
-closureNotifyData_notify :: AttrLabelProxy "notify"
-closureNotifyData_notify = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList ClosureNotifyData
-type instance O.AttributeList ClosureNotifyData = ClosureNotifyDataAttributeList
-type ClosureNotifyDataAttributeList = ('[ '("data", ClosureNotifyDataDataFieldInfo), '("notify", ClosureNotifyDataNotifyFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveClosureNotifyDataMethod (t :: Symbol) (o :: *) :: * where
-    ResolveClosureNotifyDataMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveClosureNotifyDataMethod t ClosureNotifyData, O.MethodInfo info ClosureNotifyData p) => OL.IsLabel t (ClosureNotifyData -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/ClosureNotifyData.hs-boot b/GI/GObject/Structs/ClosureNotifyData.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/ClosureNotifyData.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.ClosureNotifyData where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype ClosureNotifyData = ClosureNotifyData (ManagedPtr ClosureNotifyData)
-instance WrappedPtr ClosureNotifyData where
diff --git a/GI/GObject/Structs/EnumClass.hs b/GI/GObject/Structs/EnumClass.hs
deleted file mode 100644
--- a/GI/GObject/Structs/EnumClass.hs
+++ /dev/null
@@ -1,374 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The class of an enumeration type holds information about its
-possible values.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.EnumClass
-    ( 
-
--- * Exported types
-    EnumClass(..)                           ,
-    newZeroEnumClass                        ,
-    noEnumClass                             ,
-
-
- -- * Properties
--- ** gTypeClass #attr:gTypeClass#
-{- | the parent class
--}
-#if ENABLE_OVERLOADING
-    enumClass_gTypeClass                    ,
-#endif
-    getEnumClassGTypeClass                  ,
-
-
--- ** maximum #attr:maximum#
-{- | the largest possible value.
--}
-#if ENABLE_OVERLOADING
-    enumClass_maximum                       ,
-#endif
-    getEnumClassMaximum                     ,
-    setEnumClassMaximum                     ,
-
-
--- ** minimum #attr:minimum#
-{- | the smallest possible value.
--}
-#if ENABLE_OVERLOADING
-    enumClass_minimum                       ,
-#endif
-    getEnumClassMinimum                     ,
-    setEnumClassMinimum                     ,
-
-
--- ** nValues #attr:nValues#
-{- | the number of possible values.
--}
-#if ENABLE_OVERLOADING
-    enumClass_nValues                       ,
-#endif
-    getEnumClassNValues                     ,
-    setEnumClassNValues                     ,
-
-
--- ** values #attr:values#
-{- | an array of 'GI.GObject.Structs.EnumValue.EnumValue' structs describing the
- individual values.
--}
-    clearEnumClassValues                    ,
-#if ENABLE_OVERLOADING
-    enumClass_values                        ,
-#endif
-    getEnumClassValues                      ,
-    setEnumClassValues                      ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Structs.EnumValue as GObject.EnumValue
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeClass as GObject.TypeClass
-
--- | Memory-managed wrapper type.
-newtype EnumClass = EnumClass (ManagedPtr EnumClass)
-instance WrappedPtr EnumClass where
-    wrappedPtrCalloc = callocBytes 32
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr EnumClass)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `EnumClass` struct initialized to zero.
-newZeroEnumClass :: MonadIO m => m EnumClass
-newZeroEnumClass = liftIO $ wrappedPtrCalloc >>= wrapPtr EnumClass
-
-instance tag ~ 'AttrSet => Constructible EnumClass tag where
-    new _ attrs = do
-        o <- newZeroEnumClass
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `EnumClass`.
-noEnumClass :: Maybe EnumClass
-noEnumClass = Nothing
-
-{- |
-Get the value of the “@g_type_class@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumClass #gTypeClass
-@
--}
-getEnumClassGTypeClass :: MonadIO m => EnumClass -> m GObject.TypeClass.TypeClass
-getEnumClassGTypeClass s = liftIO $ withManagedPtr s $ \ptr -> do
-    let val = ptr `plusPtr` 0 :: (Ptr GObject.TypeClass.TypeClass)
-    val' <- (newPtr GObject.TypeClass.TypeClass) val
-    return val'
-
-#if ENABLE_OVERLOADING
-data EnumClassGTypeClassFieldInfo
-instance AttrInfo EnumClassGTypeClassFieldInfo where
-    type AttrAllowedOps EnumClassGTypeClassFieldInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint EnumClassGTypeClassFieldInfo = (~) (Ptr GObject.TypeClass.TypeClass)
-    type AttrBaseTypeConstraint EnumClassGTypeClassFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassGTypeClassFieldInfo = GObject.TypeClass.TypeClass
-    type AttrLabel EnumClassGTypeClassFieldInfo = "g_type_class"
-    type AttrOrigin EnumClassGTypeClassFieldInfo = EnumClass
-    attrGet _ = getEnumClassGTypeClass
-    attrSet _ = undefined
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClass_gTypeClass :: AttrLabelProxy "gTypeClass"
-enumClass_gTypeClass = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@minimum@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumClass #minimum
-@
--}
-getEnumClassMinimum :: MonadIO m => EnumClass -> m Int32
-getEnumClassMinimum s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Int32
-    return val
-
-{- |
-Set the value of the “@minimum@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumClass [ #minimum 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumClassMinimum :: MonadIO m => EnumClass -> Int32 -> m ()
-setEnumClassMinimum s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Int32)
-
-#if ENABLE_OVERLOADING
-data EnumClassMinimumFieldInfo
-instance AttrInfo EnumClassMinimumFieldInfo where
-    type AttrAllowedOps EnumClassMinimumFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint EnumClassMinimumFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint EnumClassMinimumFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassMinimumFieldInfo = Int32
-    type AttrLabel EnumClassMinimumFieldInfo = "minimum"
-    type AttrOrigin EnumClassMinimumFieldInfo = EnumClass
-    attrGet _ = getEnumClassMinimum
-    attrSet _ = setEnumClassMinimum
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClass_minimum :: AttrLabelProxy "minimum"
-enumClass_minimum = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@maximum@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumClass #maximum
-@
--}
-getEnumClassMaximum :: MonadIO m => EnumClass -> m Int32
-getEnumClassMaximum s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Int32
-    return val
-
-{- |
-Set the value of the “@maximum@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumClass [ #maximum 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumClassMaximum :: MonadIO m => EnumClass -> Int32 -> m ()
-setEnumClassMaximum s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 12) (val :: Int32)
-
-#if ENABLE_OVERLOADING
-data EnumClassMaximumFieldInfo
-instance AttrInfo EnumClassMaximumFieldInfo where
-    type AttrAllowedOps EnumClassMaximumFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint EnumClassMaximumFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint EnumClassMaximumFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassMaximumFieldInfo = Int32
-    type AttrLabel EnumClassMaximumFieldInfo = "maximum"
-    type AttrOrigin EnumClassMaximumFieldInfo = EnumClass
-    attrGet _ = getEnumClassMaximum
-    attrSet _ = setEnumClassMaximum
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClass_maximum :: AttrLabelProxy "maximum"
-enumClass_maximum = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@n_values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumClass #nValues
-@
--}
-getEnumClassNValues :: MonadIO m => EnumClass -> m Word32
-getEnumClassNValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@n_values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumClass [ #nValues 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumClassNValues :: MonadIO m => EnumClass -> Word32 -> m ()
-setEnumClassNValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data EnumClassNValuesFieldInfo
-instance AttrInfo EnumClassNValuesFieldInfo where
-    type AttrAllowedOps EnumClassNValuesFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint EnumClassNValuesFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint EnumClassNValuesFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassNValuesFieldInfo = Word32
-    type AttrLabel EnumClassNValuesFieldInfo = "n_values"
-    type AttrOrigin EnumClassNValuesFieldInfo = EnumClass
-    attrGet _ = getEnumClassNValues
-    attrSet _ = setEnumClassNValues
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClass_nValues :: AttrLabelProxy "nValues"
-enumClass_nValues = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumClass #values
-@
--}
-getEnumClassValues :: MonadIO m => EnumClass -> m (Maybe GObject.EnumValue.EnumValue)
-getEnumClassValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr GObject.EnumValue.EnumValue)
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr GObject.EnumValue.EnumValue) val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumClass [ #values 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumClassValues :: MonadIO m => EnumClass -> Ptr GObject.EnumValue.EnumValue -> m ()
-setEnumClassValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (val :: Ptr GObject.EnumValue.EnumValue)
-
-{- |
-Set the value of the “@values@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #values
-@
--}
-clearEnumClassValues :: MonadIO m => EnumClass -> m ()
-clearEnumClassValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr GObject.EnumValue.EnumValue)
-
-#if ENABLE_OVERLOADING
-data EnumClassValuesFieldInfo
-instance AttrInfo EnumClassValuesFieldInfo where
-    type AttrAllowedOps EnumClassValuesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint EnumClassValuesFieldInfo = (~) (Ptr GObject.EnumValue.EnumValue)
-    type AttrBaseTypeConstraint EnumClassValuesFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassValuesFieldInfo = Maybe GObject.EnumValue.EnumValue
-    type AttrLabel EnumClassValuesFieldInfo = "values"
-    type AttrOrigin EnumClassValuesFieldInfo = EnumClass
-    attrGet _ = getEnumClassValues
-    attrSet _ = setEnumClassValues
-    attrConstruct = undefined
-    attrClear _ = clearEnumClassValues
-
-enumClass_values :: AttrLabelProxy "values"
-enumClass_values = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList EnumClass
-type instance O.AttributeList EnumClass = EnumClassAttributeList
-type EnumClassAttributeList = ('[ '("gTypeClass", EnumClassGTypeClassFieldInfo), '("minimum", EnumClassMinimumFieldInfo), '("maximum", EnumClassMaximumFieldInfo), '("nValues", EnumClassNValuesFieldInfo), '("values", EnumClassValuesFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveEnumClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveEnumClassMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveEnumClassMethod t EnumClass, O.MethodInfo info EnumClass p) => OL.IsLabel t (EnumClass -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/EnumClass.hs-boot b/GI/GObject/Structs/EnumClass.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/EnumClass.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.EnumClass where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype EnumClass = EnumClass (ManagedPtr EnumClass)
-instance WrappedPtr EnumClass where
diff --git a/GI/GObject/Structs/EnumValue.hs b/GI/GObject/Structs/EnumValue.hs
deleted file mode 100644
--- a/GI/GObject/Structs/EnumValue.hs
+++ /dev/null
@@ -1,289 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure which contains a single enum value, its name, and its
-nickname.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.EnumValue
-    ( 
-
--- * Exported types
-    EnumValue(..)                           ,
-    newZeroEnumValue                        ,
-    noEnumValue                             ,
-
-
- -- * Properties
--- ** value #attr:value#
-{- | the enum value
--}
-#if ENABLE_OVERLOADING
-    enumValue_value                         ,
-#endif
-    getEnumValueValue                       ,
-    setEnumValueValue                       ,
-
-
--- ** valueName #attr:valueName#
-{- | the name of the value
--}
-    clearEnumValueValueName                 ,
-#if ENABLE_OVERLOADING
-    enumValue_valueName                     ,
-#endif
-    getEnumValueValueName                   ,
-    setEnumValueValueName                   ,
-
-
--- ** valueNick #attr:valueNick#
-{- | the nickname of the value
--}
-    clearEnumValueValueNick                 ,
-#if ENABLE_OVERLOADING
-    enumValue_valueNick                     ,
-#endif
-    getEnumValueValueNick                   ,
-    setEnumValueValueNick                   ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype EnumValue = EnumValue (ManagedPtr EnumValue)
-instance WrappedPtr EnumValue where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr EnumValue)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `EnumValue` struct initialized to zero.
-newZeroEnumValue :: MonadIO m => m EnumValue
-newZeroEnumValue = liftIO $ wrappedPtrCalloc >>= wrapPtr EnumValue
-
-instance tag ~ 'AttrSet => Constructible EnumValue tag where
-    new _ attrs = do
-        o <- newZeroEnumValue
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `EnumValue`.
-noEnumValue :: Maybe EnumValue
-noEnumValue = Nothing
-
-{- |
-Get the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumValue #value
-@
--}
-getEnumValueValue :: MonadIO m => EnumValue -> m Int32
-getEnumValueValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-{- |
-Set the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumValue [ #value 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumValueValue :: MonadIO m => EnumValue -> Int32 -> m ()
-setEnumValueValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-#if ENABLE_OVERLOADING
-data EnumValueValueFieldInfo
-instance AttrInfo EnumValueValueFieldInfo where
-    type AttrAllowedOps EnumValueValueFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint EnumValueValueFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint EnumValueValueFieldInfo = (~) EnumValue
-    type AttrGetType EnumValueValueFieldInfo = Int32
-    type AttrLabel EnumValueValueFieldInfo = "value"
-    type AttrOrigin EnumValueValueFieldInfo = EnumValue
-    attrGet _ = getEnumValueValue
-    attrSet _ = setEnumValueValue
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumValue_value :: AttrLabelProxy "value"
-enumValue_value = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumValue #valueName
-@
--}
-getEnumValueValueName :: MonadIO m => EnumValue -> m (Maybe T.Text)
-getEnumValueValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumValue [ #valueName 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumValueValueName :: MonadIO m => EnumValue -> CString -> m ()
-setEnumValueValueName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-{- |
-Set the value of the “@value_name@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueName
-@
--}
-clearEnumValueValueName :: MonadIO m => EnumValue -> m ()
-clearEnumValueValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data EnumValueValueNameFieldInfo
-instance AttrInfo EnumValueValueNameFieldInfo where
-    type AttrAllowedOps EnumValueValueNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint EnumValueValueNameFieldInfo = (~) CString
-    type AttrBaseTypeConstraint EnumValueValueNameFieldInfo = (~) EnumValue
-    type AttrGetType EnumValueValueNameFieldInfo = Maybe T.Text
-    type AttrLabel EnumValueValueNameFieldInfo = "value_name"
-    type AttrOrigin EnumValueValueNameFieldInfo = EnumValue
-    attrGet _ = getEnumValueValueName
-    attrSet _ = setEnumValueValueName
-    attrConstruct = undefined
-    attrClear _ = clearEnumValueValueName
-
-enumValue_valueName :: AttrLabelProxy "valueName"
-enumValue_valueName = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_nick@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' enumValue #valueNick
-@
--}
-getEnumValueValueNick :: MonadIO m => EnumValue -> m (Maybe T.Text)
-getEnumValueValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_nick@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' enumValue [ #valueNick 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setEnumValueValueNick :: MonadIO m => EnumValue -> CString -> m ()
-setEnumValueValueNick s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: CString)
-
-{- |
-Set the value of the “@value_nick@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueNick
-@
--}
-clearEnumValueValueNick :: MonadIO m => EnumValue -> m ()
-clearEnumValueValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data EnumValueValueNickFieldInfo
-instance AttrInfo EnumValueValueNickFieldInfo where
-    type AttrAllowedOps EnumValueValueNickFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint EnumValueValueNickFieldInfo = (~) CString
-    type AttrBaseTypeConstraint EnumValueValueNickFieldInfo = (~) EnumValue
-    type AttrGetType EnumValueValueNickFieldInfo = Maybe T.Text
-    type AttrLabel EnumValueValueNickFieldInfo = "value_nick"
-    type AttrOrigin EnumValueValueNickFieldInfo = EnumValue
-    attrGet _ = getEnumValueValueNick
-    attrSet _ = setEnumValueValueNick
-    attrConstruct = undefined
-    attrClear _ = clearEnumValueValueNick
-
-enumValue_valueNick :: AttrLabelProxy "valueNick"
-enumValue_valueNick = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList EnumValue
-type instance O.AttributeList EnumValue = EnumValueAttributeList
-type EnumValueAttributeList = ('[ '("value", EnumValueValueFieldInfo), '("valueName", EnumValueValueNameFieldInfo), '("valueNick", EnumValueValueNickFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveEnumValueMethod (t :: Symbol) (o :: *) :: * where
-    ResolveEnumValueMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveEnumValueMethod t EnumValue, O.MethodInfo info EnumValue p) => OL.IsLabel t (EnumValue -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/EnumValue.hs-boot b/GI/GObject/Structs/EnumValue.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/EnumValue.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.EnumValue where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype EnumValue = EnumValue (ManagedPtr EnumValue)
-instance WrappedPtr EnumValue where
diff --git a/GI/GObject/Structs/FlagsClass.hs b/GI/GObject/Structs/FlagsClass.hs
deleted file mode 100644
--- a/GI/GObject/Structs/FlagsClass.hs
+++ /dev/null
@@ -1,319 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The class of a flags type holds information about its
-possible values.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.FlagsClass
-    ( 
-
--- * Exported types
-    FlagsClass(..)                          ,
-    newZeroFlagsClass                       ,
-    noFlagsClass                            ,
-
-
- -- * Properties
--- ** gTypeClass #attr:gTypeClass#
-{- | the parent class
--}
-#if ENABLE_OVERLOADING
-    flagsClass_gTypeClass                   ,
-#endif
-    getFlagsClassGTypeClass                 ,
-
-
--- ** mask #attr:mask#
-{- | a mask covering all possible values.
--}
-#if ENABLE_OVERLOADING
-    flagsClass_mask                         ,
-#endif
-    getFlagsClassMask                       ,
-    setFlagsClassMask                       ,
-
-
--- ** nValues #attr:nValues#
-{- | the number of possible values.
--}
-#if ENABLE_OVERLOADING
-    flagsClass_nValues                      ,
-#endif
-    getFlagsClassNValues                    ,
-    setFlagsClassNValues                    ,
-
-
--- ** values #attr:values#
-{- | an array of 'GI.GObject.Structs.FlagsValue.FlagsValue' structs describing the
- individual values.
--}
-    clearFlagsClassValues                   ,
-#if ENABLE_OVERLOADING
-    flagsClass_values                       ,
-#endif
-    getFlagsClassValues                     ,
-    setFlagsClassValues                     ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Structs.FlagsValue as GObject.FlagsValue
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeClass as GObject.TypeClass
-
--- | Memory-managed wrapper type.
-newtype FlagsClass = FlagsClass (ManagedPtr FlagsClass)
-instance WrappedPtr FlagsClass where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr FlagsClass)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `FlagsClass` struct initialized to zero.
-newZeroFlagsClass :: MonadIO m => m FlagsClass
-newZeroFlagsClass = liftIO $ wrappedPtrCalloc >>= wrapPtr FlagsClass
-
-instance tag ~ 'AttrSet => Constructible FlagsClass tag where
-    new _ attrs = do
-        o <- newZeroFlagsClass
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `FlagsClass`.
-noFlagsClass :: Maybe FlagsClass
-noFlagsClass = Nothing
-
-{- |
-Get the value of the “@g_type_class@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsClass #gTypeClass
-@
--}
-getFlagsClassGTypeClass :: MonadIO m => FlagsClass -> m GObject.TypeClass.TypeClass
-getFlagsClassGTypeClass s = liftIO $ withManagedPtr s $ \ptr -> do
-    let val = ptr `plusPtr` 0 :: (Ptr GObject.TypeClass.TypeClass)
-    val' <- (newPtr GObject.TypeClass.TypeClass) val
-    return val'
-
-#if ENABLE_OVERLOADING
-data FlagsClassGTypeClassFieldInfo
-instance AttrInfo FlagsClassGTypeClassFieldInfo where
-    type AttrAllowedOps FlagsClassGTypeClassFieldInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint FlagsClassGTypeClassFieldInfo = (~) (Ptr GObject.TypeClass.TypeClass)
-    type AttrBaseTypeConstraint FlagsClassGTypeClassFieldInfo = (~) FlagsClass
-    type AttrGetType FlagsClassGTypeClassFieldInfo = GObject.TypeClass.TypeClass
-    type AttrLabel FlagsClassGTypeClassFieldInfo = "g_type_class"
-    type AttrOrigin FlagsClassGTypeClassFieldInfo = FlagsClass
-    attrGet _ = getFlagsClassGTypeClass
-    attrSet _ = undefined
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsClass_gTypeClass :: AttrLabelProxy "gTypeClass"
-flagsClass_gTypeClass = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@mask@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsClass #mask
-@
--}
-getFlagsClassMask :: MonadIO m => FlagsClass -> m Word32
-getFlagsClassMask s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@mask@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' flagsClass [ #mask 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setFlagsClassMask :: MonadIO m => FlagsClass -> Word32 -> m ()
-setFlagsClassMask s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data FlagsClassMaskFieldInfo
-instance AttrInfo FlagsClassMaskFieldInfo where
-    type AttrAllowedOps FlagsClassMaskFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint FlagsClassMaskFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint FlagsClassMaskFieldInfo = (~) FlagsClass
-    type AttrGetType FlagsClassMaskFieldInfo = Word32
-    type AttrLabel FlagsClassMaskFieldInfo = "mask"
-    type AttrOrigin FlagsClassMaskFieldInfo = FlagsClass
-    attrGet _ = getFlagsClassMask
-    attrSet _ = setFlagsClassMask
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsClass_mask :: AttrLabelProxy "mask"
-flagsClass_mask = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@n_values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsClass #nValues
-@
--}
-getFlagsClassNValues :: MonadIO m => FlagsClass -> m Word32
-getFlagsClassNValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@n_values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' flagsClass [ #nValues 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setFlagsClassNValues :: MonadIO m => FlagsClass -> Word32 -> m ()
-setFlagsClassNValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 12) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data FlagsClassNValuesFieldInfo
-instance AttrInfo FlagsClassNValuesFieldInfo where
-    type AttrAllowedOps FlagsClassNValuesFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint FlagsClassNValuesFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint FlagsClassNValuesFieldInfo = (~) FlagsClass
-    type AttrGetType FlagsClassNValuesFieldInfo = Word32
-    type AttrLabel FlagsClassNValuesFieldInfo = "n_values"
-    type AttrOrigin FlagsClassNValuesFieldInfo = FlagsClass
-    attrGet _ = getFlagsClassNValues
-    attrSet _ = setFlagsClassNValues
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsClass_nValues :: AttrLabelProxy "nValues"
-flagsClass_nValues = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsClass #values
-@
--}
-getFlagsClassValues :: MonadIO m => FlagsClass -> m (Maybe GObject.FlagsValue.FlagsValue)
-getFlagsClassValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr GObject.FlagsValue.FlagsValue)
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr GObject.FlagsValue.FlagsValue) val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' flagsClass [ #values 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setFlagsClassValues :: MonadIO m => FlagsClass -> Ptr GObject.FlagsValue.FlagsValue -> m ()
-setFlagsClassValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Ptr GObject.FlagsValue.FlagsValue)
-
-{- |
-Set the value of the “@values@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #values
-@
--}
-clearFlagsClassValues :: MonadIO m => FlagsClass -> m ()
-clearFlagsClassValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr GObject.FlagsValue.FlagsValue)
-
-#if ENABLE_OVERLOADING
-data FlagsClassValuesFieldInfo
-instance AttrInfo FlagsClassValuesFieldInfo where
-    type AttrAllowedOps FlagsClassValuesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint FlagsClassValuesFieldInfo = (~) (Ptr GObject.FlagsValue.FlagsValue)
-    type AttrBaseTypeConstraint FlagsClassValuesFieldInfo = (~) FlagsClass
-    type AttrGetType FlagsClassValuesFieldInfo = Maybe GObject.FlagsValue.FlagsValue
-    type AttrLabel FlagsClassValuesFieldInfo = "values"
-    type AttrOrigin FlagsClassValuesFieldInfo = FlagsClass
-    attrGet _ = getFlagsClassValues
-    attrSet _ = setFlagsClassValues
-    attrConstruct = undefined
-    attrClear _ = clearFlagsClassValues
-
-flagsClass_values :: AttrLabelProxy "values"
-flagsClass_values = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList FlagsClass
-type instance O.AttributeList FlagsClass = FlagsClassAttributeList
-type FlagsClassAttributeList = ('[ '("gTypeClass", FlagsClassGTypeClassFieldInfo), '("mask", FlagsClassMaskFieldInfo), '("nValues", FlagsClassNValuesFieldInfo), '("values", FlagsClassValuesFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveFlagsClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFlagsClassMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveFlagsClassMethod t FlagsClass, O.MethodInfo info FlagsClass p) => OL.IsLabel t (FlagsClass -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/FlagsClass.hs-boot b/GI/GObject/Structs/FlagsClass.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/FlagsClass.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.FlagsClass where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype FlagsClass = FlagsClass (ManagedPtr FlagsClass)
-instance WrappedPtr FlagsClass where
diff --git a/GI/GObject/Structs/FlagsValue.hs b/GI/GObject/Structs/FlagsValue.hs
deleted file mode 100644
--- a/GI/GObject/Structs/FlagsValue.hs
+++ /dev/null
@@ -1,289 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure which contains a single flags value, its name, and its
-nickname.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.FlagsValue
-    ( 
-
--- * Exported types
-    FlagsValue(..)                          ,
-    newZeroFlagsValue                       ,
-    noFlagsValue                            ,
-
-
- -- * Properties
--- ** value #attr:value#
-{- | the flags value
--}
-#if ENABLE_OVERLOADING
-    flagsValue_value                        ,
-#endif
-    getFlagsValueValue                      ,
-    setFlagsValueValue                      ,
-
-
--- ** valueName #attr:valueName#
-{- | the name of the value
--}
-    clearFlagsValueValueName                ,
-#if ENABLE_OVERLOADING
-    flagsValue_valueName                    ,
-#endif
-    getFlagsValueValueName                  ,
-    setFlagsValueValueName                  ,
-
-
--- ** valueNick #attr:valueNick#
-{- | the nickname of the value
--}
-    clearFlagsValueValueNick                ,
-#if ENABLE_OVERLOADING
-    flagsValue_valueNick                    ,
-#endif
-    getFlagsValueValueNick                  ,
-    setFlagsValueValueNick                  ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype FlagsValue = FlagsValue (ManagedPtr FlagsValue)
-instance WrappedPtr FlagsValue where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr FlagsValue)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `FlagsValue` struct initialized to zero.
-newZeroFlagsValue :: MonadIO m => m FlagsValue
-newZeroFlagsValue = liftIO $ wrappedPtrCalloc >>= wrapPtr FlagsValue
-
-instance tag ~ 'AttrSet => Constructible FlagsValue tag where
-    new _ attrs = do
-        o <- newZeroFlagsValue
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `FlagsValue`.
-noFlagsValue :: Maybe FlagsValue
-noFlagsValue = Nothing
-
-{- |
-Get the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsValue #value
-@
--}
-getFlagsValueValue :: MonadIO m => FlagsValue -> m Word32
-getFlagsValueValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' flagsValue [ #value 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setFlagsValueValue :: MonadIO m => FlagsValue -> Word32 -> m ()
-setFlagsValueValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data FlagsValueValueFieldInfo
-instance AttrInfo FlagsValueValueFieldInfo where
-    type AttrAllowedOps FlagsValueValueFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint FlagsValueValueFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint FlagsValueValueFieldInfo = (~) FlagsValue
-    type AttrGetType FlagsValueValueFieldInfo = Word32
-    type AttrLabel FlagsValueValueFieldInfo = "value"
-    type AttrOrigin FlagsValueValueFieldInfo = FlagsValue
-    attrGet _ = getFlagsValueValue
-    attrSet _ = setFlagsValueValue
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsValue_value :: AttrLabelProxy "value"
-flagsValue_value = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsValue #valueName
-@
--}
-getFlagsValueValueName :: MonadIO m => FlagsValue -> m (Maybe T.Text)
-getFlagsValueValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' flagsValue [ #valueName 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setFlagsValueValueName :: MonadIO m => FlagsValue -> CString -> m ()
-setFlagsValueValueName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-{- |
-Set the value of the “@value_name@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueName
-@
--}
-clearFlagsValueValueName :: MonadIO m => FlagsValue -> m ()
-clearFlagsValueValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data FlagsValueValueNameFieldInfo
-instance AttrInfo FlagsValueValueNameFieldInfo where
-    type AttrAllowedOps FlagsValueValueNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint FlagsValueValueNameFieldInfo = (~) CString
-    type AttrBaseTypeConstraint FlagsValueValueNameFieldInfo = (~) FlagsValue
-    type AttrGetType FlagsValueValueNameFieldInfo = Maybe T.Text
-    type AttrLabel FlagsValueValueNameFieldInfo = "value_name"
-    type AttrOrigin FlagsValueValueNameFieldInfo = FlagsValue
-    attrGet _ = getFlagsValueValueName
-    attrSet _ = setFlagsValueValueName
-    attrConstruct = undefined
-    attrClear _ = clearFlagsValueValueName
-
-flagsValue_valueName :: AttrLabelProxy "valueName"
-flagsValue_valueName = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_nick@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' flagsValue #valueNick
-@
--}
-getFlagsValueValueNick :: MonadIO m => FlagsValue -> m (Maybe T.Text)
-getFlagsValueValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_nick@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' flagsValue [ #valueNick 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setFlagsValueValueNick :: MonadIO m => FlagsValue -> CString -> m ()
-setFlagsValueValueNick s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: CString)
-
-{- |
-Set the value of the “@value_nick@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueNick
-@
--}
-clearFlagsValueValueNick :: MonadIO m => FlagsValue -> m ()
-clearFlagsValueValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data FlagsValueValueNickFieldInfo
-instance AttrInfo FlagsValueValueNickFieldInfo where
-    type AttrAllowedOps FlagsValueValueNickFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint FlagsValueValueNickFieldInfo = (~) CString
-    type AttrBaseTypeConstraint FlagsValueValueNickFieldInfo = (~) FlagsValue
-    type AttrGetType FlagsValueValueNickFieldInfo = Maybe T.Text
-    type AttrLabel FlagsValueValueNickFieldInfo = "value_nick"
-    type AttrOrigin FlagsValueValueNickFieldInfo = FlagsValue
-    attrGet _ = getFlagsValueValueNick
-    attrSet _ = setFlagsValueValueNick
-    attrConstruct = undefined
-    attrClear _ = clearFlagsValueValueNick
-
-flagsValue_valueNick :: AttrLabelProxy "valueNick"
-flagsValue_valueNick = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList FlagsValue
-type instance O.AttributeList FlagsValue = FlagsValueAttributeList
-type FlagsValueAttributeList = ('[ '("value", FlagsValueValueFieldInfo), '("valueName", FlagsValueValueNameFieldInfo), '("valueNick", FlagsValueValueNickFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveFlagsValueMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFlagsValueMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveFlagsValueMethod t FlagsValue, O.MethodInfo info FlagsValue p) => OL.IsLabel t (FlagsValue -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/FlagsValue.hs-boot b/GI/GObject/Structs/FlagsValue.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/FlagsValue.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.FlagsValue where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype FlagsValue = FlagsValue (ManagedPtr FlagsValue)
-instance WrappedPtr FlagsValue where
diff --git a/GI/GObject/Structs/InterfaceInfo.hs b/GI/GObject/Structs/InterfaceInfo.hs
deleted file mode 100644
--- a/GI/GObject/Structs/InterfaceInfo.hs
+++ /dev/null
@@ -1,303 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure that provides information to the type system which is
-used specifically for managing interface types.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.InterfaceInfo
-    ( 
-
--- * Exported types
-    InterfaceInfo(..)                       ,
-    newZeroInterfaceInfo                    ,
-    noInterfaceInfo                         ,
-
-
- -- * Properties
--- ** interfaceData #attr:interfaceData#
-{- | user-supplied data passed to the interface init\/finalize functions
--}
-    clearInterfaceInfoInterfaceData         ,
-    getInterfaceInfoInterfaceData           ,
-#if ENABLE_OVERLOADING
-    interfaceInfo_interfaceData             ,
-#endif
-    setInterfaceInfoInterfaceData           ,
-
-
--- ** interfaceFinalize #attr:interfaceFinalize#
-{- | location of the interface finalization function
--}
-    clearInterfaceInfoInterfaceFinalize     ,
-    getInterfaceInfoInterfaceFinalize       ,
-#if ENABLE_OVERLOADING
-    interfaceInfo_interfaceFinalize         ,
-#endif
-    setInterfaceInfoInterfaceFinalize       ,
-
-
--- ** interfaceInit #attr:interfaceInit#
-{- | location of the interface initialization function
--}
-    clearInterfaceInfoInterfaceInit         ,
-    getInterfaceInfoInterfaceInit           ,
-#if ENABLE_OVERLOADING
-    interfaceInfo_interfaceInit             ,
-#endif
-    setInterfaceInfoInterfaceInit           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GObject.Callbacks as GObject.Callbacks
-
--- | Memory-managed wrapper type.
-newtype InterfaceInfo = InterfaceInfo (ManagedPtr InterfaceInfo)
-instance WrappedPtr InterfaceInfo where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr InterfaceInfo)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `InterfaceInfo` struct initialized to zero.
-newZeroInterfaceInfo :: MonadIO m => m InterfaceInfo
-newZeroInterfaceInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr InterfaceInfo
-
-instance tag ~ 'AttrSet => Constructible InterfaceInfo tag where
-    new _ attrs = do
-        o <- newZeroInterfaceInfo
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `InterfaceInfo`.
-noInterfaceInfo :: Maybe InterfaceInfo
-noInterfaceInfo = Nothing
-
-{- |
-Get the value of the “@interface_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' interfaceInfo #interfaceInit
-@
--}
-getInterfaceInfoInterfaceInit :: MonadIO m => InterfaceInfo -> m (Maybe GObject.Callbacks.InterfaceInitFunc)
-getInterfaceInfoInterfaceInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GObject.Callbacks.C_InterfaceInitFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_InterfaceInitFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@interface_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' interfaceInfo [ #interfaceInit 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setInterfaceInfoInterfaceInit :: MonadIO m => InterfaceInfo -> FunPtr GObject.Callbacks.C_InterfaceInitFunc -> m ()
-setInterfaceInfoInterfaceInit s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: FunPtr GObject.Callbacks.C_InterfaceInitFunc)
-
-{- |
-Set the value of the “@interface_init@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #interfaceInit
-@
--}
-clearInterfaceInfoInterfaceInit :: MonadIO m => InterfaceInfo -> m ()
-clearInterfaceInfoInterfaceInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_InterfaceInitFunc)
-
-#if ENABLE_OVERLOADING
-data InterfaceInfoInterfaceInitFieldInfo
-instance AttrInfo InterfaceInfoInterfaceInitFieldInfo where
-    type AttrAllowedOps InterfaceInfoInterfaceInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint InterfaceInfoInterfaceInitFieldInfo = (~) (FunPtr GObject.Callbacks.C_InterfaceInitFunc)
-    type AttrBaseTypeConstraint InterfaceInfoInterfaceInitFieldInfo = (~) InterfaceInfo
-    type AttrGetType InterfaceInfoInterfaceInitFieldInfo = Maybe GObject.Callbacks.InterfaceInitFunc
-    type AttrLabel InterfaceInfoInterfaceInitFieldInfo = "interface_init"
-    type AttrOrigin InterfaceInfoInterfaceInitFieldInfo = InterfaceInfo
-    attrGet _ = getInterfaceInfoInterfaceInit
-    attrSet _ = setInterfaceInfoInterfaceInit
-    attrConstruct = undefined
-    attrClear _ = clearInterfaceInfoInterfaceInit
-
-interfaceInfo_interfaceInit :: AttrLabelProxy "interfaceInit"
-interfaceInfo_interfaceInit = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@interface_finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' interfaceInfo #interfaceFinalize
-@
--}
-getInterfaceInfoInterfaceFinalize :: MonadIO m => InterfaceInfo -> m (Maybe GObject.Callbacks.InterfaceFinalizeFunc)
-getInterfaceInfoInterfaceFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GObject.Callbacks.C_InterfaceFinalizeFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_InterfaceFinalizeFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@interface_finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' interfaceInfo [ #interfaceFinalize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setInterfaceInfoInterfaceFinalize :: MonadIO m => InterfaceInfo -> FunPtr GObject.Callbacks.C_InterfaceFinalizeFunc -> m ()
-setInterfaceInfoInterfaceFinalize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: FunPtr GObject.Callbacks.C_InterfaceFinalizeFunc)
-
-{- |
-Set the value of the “@interface_finalize@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #interfaceFinalize
-@
--}
-clearInterfaceInfoInterfaceFinalize :: MonadIO m => InterfaceInfo -> m ()
-clearInterfaceInfoInterfaceFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_InterfaceFinalizeFunc)
-
-#if ENABLE_OVERLOADING
-data InterfaceInfoInterfaceFinalizeFieldInfo
-instance AttrInfo InterfaceInfoInterfaceFinalizeFieldInfo where
-    type AttrAllowedOps InterfaceInfoInterfaceFinalizeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint InterfaceInfoInterfaceFinalizeFieldInfo = (~) (FunPtr GObject.Callbacks.C_InterfaceFinalizeFunc)
-    type AttrBaseTypeConstraint InterfaceInfoInterfaceFinalizeFieldInfo = (~) InterfaceInfo
-    type AttrGetType InterfaceInfoInterfaceFinalizeFieldInfo = Maybe GObject.Callbacks.InterfaceFinalizeFunc
-    type AttrLabel InterfaceInfoInterfaceFinalizeFieldInfo = "interface_finalize"
-    type AttrOrigin InterfaceInfoInterfaceFinalizeFieldInfo = InterfaceInfo
-    attrGet _ = getInterfaceInfoInterfaceFinalize
-    attrSet _ = setInterfaceInfoInterfaceFinalize
-    attrConstruct = undefined
-    attrClear _ = clearInterfaceInfoInterfaceFinalize
-
-interfaceInfo_interfaceFinalize :: AttrLabelProxy "interfaceFinalize"
-interfaceInfo_interfaceFinalize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@interface_data@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' interfaceInfo #interfaceData
-@
--}
-getInterfaceInfoInterfaceData :: MonadIO m => InterfaceInfo -> m (Ptr ())
-getInterfaceInfoInterfaceData s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr ())
-    return val
-
-{- |
-Set the value of the “@interface_data@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' interfaceInfo [ #interfaceData 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setInterfaceInfoInterfaceData :: MonadIO m => InterfaceInfo -> Ptr () -> m ()
-setInterfaceInfoInterfaceData s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Ptr ())
-
-{- |
-Set the value of the “@interface_data@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #interfaceData
-@
--}
-clearInterfaceInfoInterfaceData :: MonadIO m => InterfaceInfo -> m ()
-clearInterfaceInfoInterfaceData s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr ())
-
-#if ENABLE_OVERLOADING
-data InterfaceInfoInterfaceDataFieldInfo
-instance AttrInfo InterfaceInfoInterfaceDataFieldInfo where
-    type AttrAllowedOps InterfaceInfoInterfaceDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint InterfaceInfoInterfaceDataFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint InterfaceInfoInterfaceDataFieldInfo = (~) InterfaceInfo
-    type AttrGetType InterfaceInfoInterfaceDataFieldInfo = Ptr ()
-    type AttrLabel InterfaceInfoInterfaceDataFieldInfo = "interface_data"
-    type AttrOrigin InterfaceInfoInterfaceDataFieldInfo = InterfaceInfo
-    attrGet _ = getInterfaceInfoInterfaceData
-    attrSet _ = setInterfaceInfoInterfaceData
-    attrConstruct = undefined
-    attrClear _ = clearInterfaceInfoInterfaceData
-
-interfaceInfo_interfaceData :: AttrLabelProxy "interfaceData"
-interfaceInfo_interfaceData = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList InterfaceInfo
-type instance O.AttributeList InterfaceInfo = InterfaceInfoAttributeList
-type InterfaceInfoAttributeList = ('[ '("interfaceInit", InterfaceInfoInterfaceInitFieldInfo), '("interfaceFinalize", InterfaceInfoInterfaceFinalizeFieldInfo), '("interfaceData", InterfaceInfoInterfaceDataFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveInterfaceInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveInterfaceInfoMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveInterfaceInfoMethod t InterfaceInfo, O.MethodInfo info InterfaceInfo p) => OL.IsLabel t (InterfaceInfo -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/InterfaceInfo.hs-boot b/GI/GObject/Structs/InterfaceInfo.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/InterfaceInfo.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.InterfaceInfo where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype InterfaceInfo = InterfaceInfo (ManagedPtr InterfaceInfo)
-instance WrappedPtr InterfaceInfo where
diff --git a/GI/GObject/Structs/ObjectConstructParam.hs b/GI/GObject/Structs/ObjectConstructParam.hs
deleted file mode 100644
--- a/GI/GObject/Structs/ObjectConstructParam.hs
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The GObjectConstructParam struct is an auxiliary
-structure used to hand 'GI.GObject.Objects.ParamSpec.ParamSpec'\/'GI.GObject.Structs.Value.Value' pairs to the /@constructor@/ of
-a 'GI.GObject.Structs.ObjectClass.ObjectClass'.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.ObjectConstructParam
-    ( 
-
--- * Exported types
-    ObjectConstructParam(..)                ,
-    newZeroObjectConstructParam             ,
-    noObjectConstructParam                  ,
-
-
- -- * Properties
--- ** pspec #attr:pspec#
-{- | the 'GI.GObject.Objects.ParamSpec.ParamSpec' of the construct parameter
--}
-    clearObjectConstructParamPspec          ,
-    getObjectConstructParamPspec            ,
-#if ENABLE_OVERLOADING
-    objectConstructParam_pspec              ,
-#endif
-    setObjectConstructParamPspec            ,
-
-
--- ** value #attr:value#
-{- | the value to set the parameter to
--}
-    clearObjectConstructParamValue          ,
-    getObjectConstructParamValue            ,
-#if ENABLE_OVERLOADING
-    objectConstructParam_value              ,
-#endif
-    setObjectConstructParamValue            ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype ObjectConstructParam = ObjectConstructParam (ManagedPtr ObjectConstructParam)
-instance WrappedPtr ObjectConstructParam where
-    wrappedPtrCalloc = callocBytes 16
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr ObjectConstructParam)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `ObjectConstructParam` struct initialized to zero.
-newZeroObjectConstructParam :: MonadIO m => m ObjectConstructParam
-newZeroObjectConstructParam = liftIO $ wrappedPtrCalloc >>= wrapPtr ObjectConstructParam
-
-instance tag ~ 'AttrSet => Constructible ObjectConstructParam tag where
-    new _ attrs = do
-        o <- newZeroObjectConstructParam
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `ObjectConstructParam`.
-noObjectConstructParam :: Maybe ObjectConstructParam
-noObjectConstructParam = Nothing
-
-{- |
-Get the value of the “@pspec@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' objectConstructParam #pspec
-@
--}
-getObjectConstructParamPspec :: MonadIO m => ObjectConstructParam -> m (Maybe GParamSpec)
-getObjectConstructParamPspec s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GParamSpec)
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- B.GParamSpec.newGParamSpecFromPtr val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@pspec@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' objectConstructParam [ #pspec 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setObjectConstructParamPspec :: MonadIO m => ObjectConstructParam -> Ptr GParamSpec -> m ()
-setObjectConstructParamPspec s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr GParamSpec)
-
-{- |
-Set the value of the “@pspec@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #pspec
-@
--}
-clearObjectConstructParamPspec :: MonadIO m => ObjectConstructParam -> m ()
-clearObjectConstructParamPspec s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr GParamSpec)
-
-#if ENABLE_OVERLOADING
-data ObjectConstructParamPspecFieldInfo
-instance AttrInfo ObjectConstructParamPspecFieldInfo where
-    type AttrAllowedOps ObjectConstructParamPspecFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ObjectConstructParamPspecFieldInfo = (~) (Ptr GParamSpec)
-    type AttrBaseTypeConstraint ObjectConstructParamPspecFieldInfo = (~) ObjectConstructParam
-    type AttrGetType ObjectConstructParamPspecFieldInfo = Maybe GParamSpec
-    type AttrLabel ObjectConstructParamPspecFieldInfo = "pspec"
-    type AttrOrigin ObjectConstructParamPspecFieldInfo = ObjectConstructParam
-    attrGet _ = getObjectConstructParamPspec
-    attrSet _ = setObjectConstructParamPspec
-    attrConstruct = undefined
-    attrClear _ = clearObjectConstructParamPspec
-
-objectConstructParam_pspec :: AttrLabelProxy "pspec"
-objectConstructParam_pspec = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' objectConstructParam #value
-@
--}
-getObjectConstructParamValue :: MonadIO m => ObjectConstructParam -> m (Maybe GValue)
-getObjectConstructParamValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- (newBoxed GValue) val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' objectConstructParam [ #value 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setObjectConstructParamValue :: MonadIO m => ObjectConstructParam -> Ptr GValue -> m ()
-setObjectConstructParamValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Ptr GValue)
-
-{- |
-Set the value of the “@value@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #value
-@
--}
-clearObjectConstructParamValue :: MonadIO m => ObjectConstructParam -> m ()
-clearObjectConstructParamValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr GValue)
-
-#if ENABLE_OVERLOADING
-data ObjectConstructParamValueFieldInfo
-instance AttrInfo ObjectConstructParamValueFieldInfo where
-    type AttrAllowedOps ObjectConstructParamValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ObjectConstructParamValueFieldInfo = (~) (Ptr GValue)
-    type AttrBaseTypeConstraint ObjectConstructParamValueFieldInfo = (~) ObjectConstructParam
-    type AttrGetType ObjectConstructParamValueFieldInfo = Maybe GValue
-    type AttrLabel ObjectConstructParamValueFieldInfo = "value"
-    type AttrOrigin ObjectConstructParamValueFieldInfo = ObjectConstructParam
-    attrGet _ = getObjectConstructParamValue
-    attrSet _ = setObjectConstructParamValue
-    attrConstruct = undefined
-    attrClear _ = clearObjectConstructParamValue
-
-objectConstructParam_value :: AttrLabelProxy "value"
-objectConstructParam_value = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList ObjectConstructParam
-type instance O.AttributeList ObjectConstructParam = ObjectConstructParamAttributeList
-type ObjectConstructParamAttributeList = ('[ '("pspec", ObjectConstructParamPspecFieldInfo), '("value", ObjectConstructParamValueFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveObjectConstructParamMethod (t :: Symbol) (o :: *) :: * where
-    ResolveObjectConstructParamMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveObjectConstructParamMethod t ObjectConstructParam, O.MethodInfo info ObjectConstructParam p) => OL.IsLabel t (ObjectConstructParam -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/ObjectConstructParam.hs-boot b/GI/GObject/Structs/ObjectConstructParam.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/ObjectConstructParam.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.ObjectConstructParam where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype ObjectConstructParam = ObjectConstructParam (ManagedPtr ObjectConstructParam)
-instance WrappedPtr ObjectConstructParam where
diff --git a/GI/GObject/Structs/ParamSpecPool.hs b/GI/GObject/Structs/ParamSpecPool.hs
deleted file mode 100644
--- a/GI/GObject/Structs/ParamSpecPool.hs
+++ /dev/null
@@ -1,337 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool' maintains a collection of @/GParamSpecs/@ which can be
-quickly accessed by owner and name. The implementation of the 'GI.GObject.Objects.Object.Object' property
-system uses such a pool to store the @/GParamSpecs/@ of the properties all object
-types.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.ParamSpecPool
-    ( 
-
--- * Exported types
-    ParamSpecPool(..)                       ,
-    noParamSpecPool                         ,
-
-
- -- * Methods
--- ** insert #method:insert#
-
-#if ENABLE_OVERLOADING
-    ParamSpecPoolInsertMethodInfo           ,
-#endif
-    paramSpecPoolInsert                     ,
-
-
--- ** listOwned #method:listOwned#
-
-#if ENABLE_OVERLOADING
-    ParamSpecPoolListOwnedMethodInfo        ,
-#endif
-    paramSpecPoolListOwned                  ,
-
-
--- ** lookup #method:lookup#
-
-#if ENABLE_OVERLOADING
-    ParamSpecPoolLookupMethodInfo           ,
-#endif
-    paramSpecPoolLookup                     ,
-
-
--- ** new #method:new#
-
-    paramSpecPoolNew                        ,
-
-
--- ** remove #method:remove#
-
-#if ENABLE_OVERLOADING
-    ParamSpecPoolRemoveMethodInfo           ,
-#endif
-    paramSpecPoolRemove                     ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype ParamSpecPool = ParamSpecPool (ManagedPtr ParamSpecPool)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr ParamSpecPool where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
--- | A convenience alias for `Nothing` :: `Maybe` `ParamSpecPool`.
-noParamSpecPool :: Maybe ParamSpecPool
-noParamSpecPool = Nothing
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList ParamSpecPool
-type instance O.AttributeList ParamSpecPool = ParamSpecPoolAttributeList
-type ParamSpecPoolAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
--- method ParamSpecPool::insert
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GObject", name = "ParamSpecPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpecPool.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType identifying the owner of @pspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_pool_insert" g_param_spec_pool_insert :: 
-    Ptr ParamSpecPool ->                    -- pool : TInterface (Name {namespace = "GObject", name = "ParamSpecPool"})
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    CGType ->                               -- owner_type : TBasicType TGType
-    IO ()
-
-{- |
-Inserts a 'GI.GObject.Objects.ParamSpec.ParamSpec' in the pool.
--}
-paramSpecPoolInsert ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ParamSpecPool
-    {- ^ /@pool@/: a 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool'. -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' to insert -}
-    -> GType
-    {- ^ /@ownerType@/: a 'GType' identifying the owner of /@pspec@/ -}
-    -> m ()
-paramSpecPoolInsert pool pspec ownerType = liftIO $ do
-    pool' <- unsafeManagedPtrGetPtr pool
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    let ownerType' = gtypeToCGType ownerType
-    g_param_spec_pool_insert pool' pspec' ownerType'
-    touchManagedPtr pool
-    touchManagedPtr pspec
-    return ()
-
-#if ENABLE_OVERLOADING
-data ParamSpecPoolInsertMethodInfo
-instance (signature ~ (GParamSpec -> GType -> m ()), MonadIO m) => O.MethodInfo ParamSpecPoolInsertMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolInsert
-
-#endif
-
--- XXX Could not generate method ParamSpecPool::list
--- Error was : Not implemented: "unpackCArray : Don't know how to unpack C Array of type TParamSpec"
--- method ParamSpecPool::list_owned
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GObject", name = "ParamSpecPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpecPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the owner to look for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TGList TParamSpec)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_pool_list_owned" g_param_spec_pool_list_owned :: 
-    Ptr ParamSpecPool ->                    -- pool : TInterface (Name {namespace = "GObject", name = "ParamSpecPool"})
-    CGType ->                               -- owner_type : TBasicType TGType
-    IO (Ptr (GList (Ptr GParamSpec)))
-
-{- |
-Gets an 'GI.GLib.Structs.List.List' of all @/GParamSpecs/@ owned by /@ownerType@/ in
-the pool.
--}
-paramSpecPoolListOwned ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ParamSpecPool
-    {- ^ /@pool@/: a 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool' -}
-    -> GType
-    {- ^ /@ownerType@/: the owner to look for -}
-    -> m [GParamSpec]
-    {- ^ __Returns:__ a
-         'GI.GLib.Structs.List.List' of all @/GParamSpecs/@ owned by /@ownerType@/ in
-         the pool@/GParamSpecs/@. -}
-paramSpecPoolListOwned pool ownerType = liftIO $ do
-    pool' <- unsafeManagedPtrGetPtr pool
-    let ownerType' = gtypeToCGType ownerType
-    result <- g_param_spec_pool_list_owned pool' ownerType'
-    result' <- unpackGList result
-    result'' <- mapM B.GParamSpec.newGParamSpecFromPtr result'
-    g_list_free result
-    touchManagedPtr pool
-    return result''
-
-#if ENABLE_OVERLOADING
-data ParamSpecPoolListOwnedMethodInfo
-instance (signature ~ (GType -> m [GParamSpec]), MonadIO m) => O.MethodInfo ParamSpecPoolListOwnedMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolListOwned
-
-#endif
-
--- method ParamSpecPool::lookup
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GObject", name = "ParamSpecPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpecPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name to look for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the owner to look for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "walk_ancestors", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, also try to find a #GParamSpec with @param_name\n owned by an ancestor of @owner_type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just TParamSpec
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_pool_lookup" g_param_spec_pool_lookup :: 
-    Ptr ParamSpecPool ->                    -- pool : TInterface (Name {namespace = "GObject", name = "ParamSpecPool"})
-    CString ->                              -- param_name : TBasicType TUTF8
-    CGType ->                               -- owner_type : TBasicType TGType
-    CInt ->                                 -- walk_ancestors : TBasicType TBoolean
-    IO (Ptr GParamSpec)
-
-{- |
-Looks up a 'GI.GObject.Objects.ParamSpec.ParamSpec' in the pool.
--}
-paramSpecPoolLookup ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ParamSpecPool
-    {- ^ /@pool@/: a 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool' -}
-    -> T.Text
-    {- ^ /@paramName@/: the name to look for -}
-    -> GType
-    {- ^ /@ownerType@/: the owner to look for -}
-    -> Bool
-    {- ^ /@walkAncestors@/: If 'True', also try to find a 'GI.GObject.Objects.ParamSpec.ParamSpec' with /@paramName@/
- owned by an ancestor of /@ownerType@/. -}
-    -> m GParamSpec
-    {- ^ __Returns:__ The found 'GI.GObject.Objects.ParamSpec.ParamSpec', or 'Nothing' if no
-matching 'GI.GObject.Objects.ParamSpec.ParamSpec' was found. -}
-paramSpecPoolLookup pool paramName ownerType walkAncestors = liftIO $ do
-    pool' <- unsafeManagedPtrGetPtr pool
-    paramName' <- textToCString paramName
-    let ownerType' = gtypeToCGType ownerType
-    let walkAncestors' = (fromIntegral . fromEnum) walkAncestors
-    result <- g_param_spec_pool_lookup pool' paramName' ownerType' walkAncestors'
-    checkUnexpectedReturnNULL "paramSpecPoolLookup" result
-    result' <- B.GParamSpec.newGParamSpecFromPtr result
-    touchManagedPtr pool
-    freeMem paramName'
-    return result'
-
-#if ENABLE_OVERLOADING
-data ParamSpecPoolLookupMethodInfo
-instance (signature ~ (T.Text -> GType -> Bool -> m GParamSpec), MonadIO m) => O.MethodInfo ParamSpecPoolLookupMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolLookup
-
-#endif
-
--- method ParamSpecPool::remove
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GObject", name = "ParamSpecPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpecPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GParamSpec to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_pool_remove" g_param_spec_pool_remove :: 
-    Ptr ParamSpecPool ->                    -- pool : TInterface (Name {namespace = "GObject", name = "ParamSpecPool"})
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    IO ()
-
-{- |
-Removes a 'GI.GObject.Objects.ParamSpec.ParamSpec' from the pool.
--}
-paramSpecPoolRemove ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ParamSpecPool
-    {- ^ /@pool@/: a 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool' -}
-    -> GParamSpec
-    {- ^ /@pspec@/: the 'GI.GObject.Objects.ParamSpec.ParamSpec' to remove -}
-    -> m ()
-paramSpecPoolRemove pool pspec = liftIO $ do
-    pool' <- unsafeManagedPtrGetPtr pool
-    pspec' <- unsafeManagedPtrGetPtr pspec
-    g_param_spec_pool_remove pool' pspec'
-    touchManagedPtr pool
-    touchManagedPtr pspec
-    return ()
-
-#if ENABLE_OVERLOADING
-data ParamSpecPoolRemoveMethodInfo
-instance (signature ~ (GParamSpec -> m ()), MonadIO m) => O.MethodInfo ParamSpecPoolRemoveMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolRemove
-
-#endif
-
--- method ParamSpecPool::new
--- method type : MemberFunction
--- Args : [Arg {argCName = "type_prefixing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether the pool will support type-prefixed property names.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ParamSpecPool"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_param_spec_pool_new" g_param_spec_pool_new :: 
-    CInt ->                                 -- type_prefixing : TBasicType TBoolean
-    IO (Ptr ParamSpecPool)
-
-{- |
-Creates a new 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool'.
-
-If /@typePrefixing@/ is 'True', lookups in the newly created pool will
-allow to specify the owner as a colon-separated prefix of the
-property name, like \"GtkContainer:border-width\". This feature is
-deprecated, so you should always set /@typePrefixing@/ to 'False'.
--}
-paramSpecPoolNew ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Bool
-    {- ^ /@typePrefixing@/: Whether the pool will support type-prefixed property names. -}
-    -> m ParamSpecPool
-    {- ^ __Returns:__ a newly allocated 'GI.GObject.Structs.ParamSpecPool.ParamSpecPool'. -}
-paramSpecPoolNew typePrefixing = liftIO $ do
-    let typePrefixing' = (fromIntegral . fromEnum) typePrefixing
-    result <- g_param_spec_pool_new typePrefixing'
-    checkUnexpectedReturnNULL "paramSpecPoolNew" result
-    result' <- (newPtr ParamSpecPool) result
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveParamSpecPoolMethod (t :: Symbol) (o :: *) :: * where
-    ResolveParamSpecPoolMethod "insert" o = ParamSpecPoolInsertMethodInfo
-    ResolveParamSpecPoolMethod "listOwned" o = ParamSpecPoolListOwnedMethodInfo
-    ResolveParamSpecPoolMethod "lookup" o = ParamSpecPoolLookupMethodInfo
-    ResolveParamSpecPoolMethod "remove" o = ParamSpecPoolRemoveMethodInfo
-    ResolveParamSpecPoolMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveParamSpecPoolMethod t ParamSpecPool, O.MethodInfo info ParamSpecPool p) => OL.IsLabel t (ParamSpecPool -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/ParamSpecPool.hs-boot b/GI/GObject/Structs/ParamSpecPool.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/ParamSpecPool.hs-boot
+++ /dev/null
@@ -1,38 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.ParamSpecPool where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype ParamSpecPool = ParamSpecPool (ManagedPtr ParamSpecPool)
-instance WrappedPtr ParamSpecPool where
-#if ENABLE_OVERLOADING
-data ParamSpecPoolInsertMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ParamSpecPoolListOwnedMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ParamSpecPoolLookupMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ParamSpecPoolRemoveMethodInfo
-#endif
diff --git a/GI/GObject/Structs/ParamSpecTypeInfo.hs b/GI/GObject/Structs/ParamSpecTypeInfo.hs
deleted file mode 100644
--- a/GI/GObject/Structs/ParamSpecTypeInfo.hs
+++ /dev/null
@@ -1,620 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-This structure is used to provide the type system with the information
-required to initialize and destruct (finalize) a parameter\'s class and
-instances thereof.
-The initialized structure is passed to the 'GI.GObject.Functions.paramTypeRegisterStatic'
-The type system will perform a deep copy of this structure, so its memory
-does not need to be persistent across invocation of
-'GI.GObject.Functions.paramTypeRegisterStatic'.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.ParamSpecTypeInfo
-    ( 
-
--- * Exported types
-    ParamSpecTypeInfo(..)                   ,
-    newZeroParamSpecTypeInfo                ,
-    noParamSpecTypeInfo                     ,
-
-
- -- * Properties
--- ** finalize #attr:finalize#
-{- | /No description available in the introspection data./
--}
-    clearParamSpecTypeInfoFinalize          ,
-    getParamSpecTypeInfoFinalize            ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_finalize              ,
-#endif
-    setParamSpecTypeInfoFinalize            ,
-
-
--- ** instanceInit #attr:instanceInit#
-{- | /No description available in the introspection data./
--}
-    clearParamSpecTypeInfoInstanceInit      ,
-    getParamSpecTypeInfoInstanceInit        ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_instanceInit          ,
-#endif
-    setParamSpecTypeInfoInstanceInit        ,
-
-
--- ** instanceSize #attr:instanceSize#
-{- | Size of the instance (object) structure.
--}
-    getParamSpecTypeInfoInstanceSize        ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_instanceSize          ,
-#endif
-    setParamSpecTypeInfoInstanceSize        ,
-
-
--- ** nPreallocs #attr:nPreallocs#
-{- | Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.
--}
-    getParamSpecTypeInfoNPreallocs          ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_nPreallocs            ,
-#endif
-    setParamSpecTypeInfoNPreallocs          ,
-
-
--- ** valueSetDefault #attr:valueSetDefault#
-{- | /No description available in the introspection data./
--}
-    clearParamSpecTypeInfoValueSetDefault   ,
-    getParamSpecTypeInfoValueSetDefault     ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_valueSetDefault       ,
-#endif
-    setParamSpecTypeInfoValueSetDefault     ,
-
-
--- ** valueType #attr:valueType#
-{- | The 'GType' of values conforming to this 'GI.GObject.Objects.ParamSpec.ParamSpec'
--}
-    getParamSpecTypeInfoValueType           ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_valueType             ,
-#endif
-    setParamSpecTypeInfoValueType           ,
-
-
--- ** valueValidate #attr:valueValidate#
-{- | /No description available in the introspection data./
--}
-    clearParamSpecTypeInfoValueValidate     ,
-    getParamSpecTypeInfoValueValidate       ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_valueValidate         ,
-#endif
-    setParamSpecTypeInfoValueValidate       ,
-
-
--- ** valuesCmp #attr:valuesCmp#
-{- | /No description available in the introspection data./
--}
-    clearParamSpecTypeInfoValuesCmp         ,
-    getParamSpecTypeInfoValuesCmp           ,
-#if ENABLE_OVERLOADING
-    paramSpecTypeInfo_valuesCmp             ,
-#endif
-    setParamSpecTypeInfoValuesCmp           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GObject.Callbacks as GObject.Callbacks
-
--- | Memory-managed wrapper type.
-newtype ParamSpecTypeInfo = ParamSpecTypeInfo (ManagedPtr ParamSpecTypeInfo)
-instance WrappedPtr ParamSpecTypeInfo where
-    wrappedPtrCalloc = callocBytes 56
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr ParamSpecTypeInfo)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `ParamSpecTypeInfo` struct initialized to zero.
-newZeroParamSpecTypeInfo :: MonadIO m => m ParamSpecTypeInfo
-newZeroParamSpecTypeInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr ParamSpecTypeInfo
-
-instance tag ~ 'AttrSet => Constructible ParamSpecTypeInfo tag where
-    new _ attrs = do
-        o <- newZeroParamSpecTypeInfo
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `ParamSpecTypeInfo`.
-noParamSpecTypeInfo :: Maybe ParamSpecTypeInfo
-noParamSpecTypeInfo = Nothing
-
-{- |
-Get the value of the “@instance_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #instanceSize
-@
--}
-getParamSpecTypeInfoInstanceSize :: MonadIO m => ParamSpecTypeInfo -> m Word16
-getParamSpecTypeInfoInstanceSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word16
-    return val
-
-{- |
-Set the value of the “@instance_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #instanceSize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoInstanceSize :: MonadIO m => ParamSpecTypeInfo -> Word16 -> m ()
-setParamSpecTypeInfoInstanceSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word16)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoInstanceSizeFieldInfo
-instance AttrInfo ParamSpecTypeInfoInstanceSizeFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoInstanceSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ParamSpecTypeInfoInstanceSizeFieldInfo = (~) Word16
-    type AttrBaseTypeConstraint ParamSpecTypeInfoInstanceSizeFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoInstanceSizeFieldInfo = Word16
-    type AttrLabel ParamSpecTypeInfoInstanceSizeFieldInfo = "instance_size"
-    type AttrOrigin ParamSpecTypeInfoInstanceSizeFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoInstanceSize
-    attrSet _ = setParamSpecTypeInfoInstanceSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-paramSpecTypeInfo_instanceSize :: AttrLabelProxy "instanceSize"
-paramSpecTypeInfo_instanceSize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@n_preallocs@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #nPreallocs
-@
--}
-getParamSpecTypeInfoNPreallocs :: MonadIO m => ParamSpecTypeInfo -> m Word16
-getParamSpecTypeInfoNPreallocs s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 2) :: IO Word16
-    return val
-
-{- |
-Set the value of the “@n_preallocs@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #nPreallocs 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoNPreallocs :: MonadIO m => ParamSpecTypeInfo -> Word16 -> m ()
-setParamSpecTypeInfoNPreallocs s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 2) (val :: Word16)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoNPreallocsFieldInfo
-instance AttrInfo ParamSpecTypeInfoNPreallocsFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoNPreallocsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ParamSpecTypeInfoNPreallocsFieldInfo = (~) Word16
-    type AttrBaseTypeConstraint ParamSpecTypeInfoNPreallocsFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoNPreallocsFieldInfo = Word16
-    type AttrLabel ParamSpecTypeInfoNPreallocsFieldInfo = "n_preallocs"
-    type AttrOrigin ParamSpecTypeInfoNPreallocsFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoNPreallocs
-    attrSet _ = setParamSpecTypeInfoNPreallocs
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-paramSpecTypeInfo_nPreallocs :: AttrLabelProxy "nPreallocs"
-paramSpecTypeInfo_nPreallocs = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@instance_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #instanceInit
-@
--}
-getParamSpecTypeInfoInstanceInit :: MonadIO m => ParamSpecTypeInfo -> m (Maybe GObject.Callbacks.ParamSpecTypeInfoInstanceInitFieldCallback)
-getParamSpecTypeInfoInstanceInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoInstanceInitFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ParamSpecTypeInfoInstanceInitFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@instance_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #instanceInit 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoInstanceInit :: MonadIO m => ParamSpecTypeInfo -> FunPtr GObject.Callbacks.C_ParamSpecTypeInfoInstanceInitFieldCallback -> m ()
-setParamSpecTypeInfoInstanceInit s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoInstanceInitFieldCallback)
-
-{- |
-Set the value of the “@instance_init@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #instanceInit
-@
--}
-clearParamSpecTypeInfoInstanceInit :: MonadIO m => ParamSpecTypeInfo -> m ()
-clearParamSpecTypeInfoInstanceInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoInstanceInitFieldCallback)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoInstanceInitFieldInfo
-instance AttrInfo ParamSpecTypeInfoInstanceInitFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoInstanceInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParamSpecTypeInfoInstanceInitFieldInfo = (~) (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoInstanceInitFieldCallback)
-    type AttrBaseTypeConstraint ParamSpecTypeInfoInstanceInitFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoInstanceInitFieldInfo = Maybe GObject.Callbacks.ParamSpecTypeInfoInstanceInitFieldCallback
-    type AttrLabel ParamSpecTypeInfoInstanceInitFieldInfo = "instance_init"
-    type AttrOrigin ParamSpecTypeInfoInstanceInitFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoInstanceInit
-    attrSet _ = setParamSpecTypeInfoInstanceInit
-    attrConstruct = undefined
-    attrClear _ = clearParamSpecTypeInfoInstanceInit
-
-paramSpecTypeInfo_instanceInit :: AttrLabelProxy "instanceInit"
-paramSpecTypeInfo_instanceInit = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #valueType
-@
--}
-getParamSpecTypeInfoValueType :: MonadIO m => ParamSpecTypeInfo -> m GType
-getParamSpecTypeInfoValueType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CGType
-    let val' = GType val
-    return val'
-
-{- |
-Set the value of the “@value_type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #valueType 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoValueType :: MonadIO m => ParamSpecTypeInfo -> GType -> m ()
-setParamSpecTypeInfoValueType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 16) (val' :: CGType)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoValueTypeFieldInfo
-instance AttrInfo ParamSpecTypeInfoValueTypeFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoValueTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ParamSpecTypeInfoValueTypeFieldInfo = (~) GType
-    type AttrBaseTypeConstraint ParamSpecTypeInfoValueTypeFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoValueTypeFieldInfo = GType
-    type AttrLabel ParamSpecTypeInfoValueTypeFieldInfo = "value_type"
-    type AttrOrigin ParamSpecTypeInfoValueTypeFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoValueType
-    attrSet _ = setParamSpecTypeInfoValueType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-paramSpecTypeInfo_valueType :: AttrLabelProxy "valueType"
-paramSpecTypeInfo_valueType = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #finalize
-@
--}
-getParamSpecTypeInfoFinalize :: MonadIO m => ParamSpecTypeInfo -> m (Maybe GObject.Callbacks.ParamSpecTypeInfoFinalizeFieldCallback)
-getParamSpecTypeInfoFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoFinalizeFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ParamSpecTypeInfoFinalizeFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #finalize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoFinalize :: MonadIO m => ParamSpecTypeInfo -> FunPtr GObject.Callbacks.C_ParamSpecTypeInfoFinalizeFieldCallback -> m ()
-setParamSpecTypeInfoFinalize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (val :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoFinalizeFieldCallback)
-
-{- |
-Set the value of the “@finalize@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #finalize
-@
--}
-clearParamSpecTypeInfoFinalize :: MonadIO m => ParamSpecTypeInfo -> m ()
-clearParamSpecTypeInfoFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoFinalizeFieldCallback)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoFinalizeFieldInfo
-instance AttrInfo ParamSpecTypeInfoFinalizeFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoFinalizeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParamSpecTypeInfoFinalizeFieldInfo = (~) (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoFinalizeFieldCallback)
-    type AttrBaseTypeConstraint ParamSpecTypeInfoFinalizeFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoFinalizeFieldInfo = Maybe GObject.Callbacks.ParamSpecTypeInfoFinalizeFieldCallback
-    type AttrLabel ParamSpecTypeInfoFinalizeFieldInfo = "finalize"
-    type AttrOrigin ParamSpecTypeInfoFinalizeFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoFinalize
-    attrSet _ = setParamSpecTypeInfoFinalize
-    attrConstruct = undefined
-    attrClear _ = clearParamSpecTypeInfoFinalize
-
-paramSpecTypeInfo_finalize :: AttrLabelProxy "finalize"
-paramSpecTypeInfo_finalize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_set_default@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #valueSetDefault
-@
--}
-getParamSpecTypeInfoValueSetDefault :: MonadIO m => ParamSpecTypeInfo -> m (Maybe GObject.Callbacks.ParamSpecTypeInfoValueSetDefaultFieldCallback)
-getParamSpecTypeInfoValueSetDefault s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueSetDefaultFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ParamSpecTypeInfoValueSetDefaultFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_set_default@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #valueSetDefault 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoValueSetDefault :: MonadIO m => ParamSpecTypeInfo -> FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueSetDefaultFieldCallback -> m ()
-setParamSpecTypeInfoValueSetDefault s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (val :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueSetDefaultFieldCallback)
-
-{- |
-Set the value of the “@value_set_default@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueSetDefault
-@
--}
-clearParamSpecTypeInfoValueSetDefault :: MonadIO m => ParamSpecTypeInfo -> m ()
-clearParamSpecTypeInfoValueSetDefault s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueSetDefaultFieldCallback)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoValueSetDefaultFieldInfo
-instance AttrInfo ParamSpecTypeInfoValueSetDefaultFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoValueSetDefaultFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParamSpecTypeInfoValueSetDefaultFieldInfo = (~) (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueSetDefaultFieldCallback)
-    type AttrBaseTypeConstraint ParamSpecTypeInfoValueSetDefaultFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoValueSetDefaultFieldInfo = Maybe GObject.Callbacks.ParamSpecTypeInfoValueSetDefaultFieldCallback
-    type AttrLabel ParamSpecTypeInfoValueSetDefaultFieldInfo = "value_set_default"
-    type AttrOrigin ParamSpecTypeInfoValueSetDefaultFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoValueSetDefault
-    attrSet _ = setParamSpecTypeInfoValueSetDefault
-    attrConstruct = undefined
-    attrClear _ = clearParamSpecTypeInfoValueSetDefault
-
-paramSpecTypeInfo_valueSetDefault :: AttrLabelProxy "valueSetDefault"
-paramSpecTypeInfo_valueSetDefault = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_validate@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #valueValidate
-@
--}
-getParamSpecTypeInfoValueValidate :: MonadIO m => ParamSpecTypeInfo -> m (Maybe GObject.Callbacks.ParamSpecTypeInfoValueValidateFieldCallback)
-getParamSpecTypeInfoValueValidate s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueValidateFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ParamSpecTypeInfoValueValidateFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_validate@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #valueValidate 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoValueValidate :: MonadIO m => ParamSpecTypeInfo -> FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueValidateFieldCallback -> m ()
-setParamSpecTypeInfoValueValidate s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (val :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueValidateFieldCallback)
-
-{- |
-Set the value of the “@value_validate@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueValidate
-@
--}
-clearParamSpecTypeInfoValueValidate :: MonadIO m => ParamSpecTypeInfo -> m ()
-clearParamSpecTypeInfoValueValidate s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueValidateFieldCallback)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoValueValidateFieldInfo
-instance AttrInfo ParamSpecTypeInfoValueValidateFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoValueValidateFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParamSpecTypeInfoValueValidateFieldInfo = (~) (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValueValidateFieldCallback)
-    type AttrBaseTypeConstraint ParamSpecTypeInfoValueValidateFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoValueValidateFieldInfo = Maybe GObject.Callbacks.ParamSpecTypeInfoValueValidateFieldCallback
-    type AttrLabel ParamSpecTypeInfoValueValidateFieldInfo = "value_validate"
-    type AttrOrigin ParamSpecTypeInfoValueValidateFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoValueValidate
-    attrSet _ = setParamSpecTypeInfoValueValidate
-    attrConstruct = undefined
-    attrClear _ = clearParamSpecTypeInfoValueValidate
-
-paramSpecTypeInfo_valueValidate :: AttrLabelProxy "valueValidate"
-paramSpecTypeInfo_valueValidate = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@values_cmp@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' paramSpecTypeInfo #valuesCmp
-@
--}
-getParamSpecTypeInfoValuesCmp :: MonadIO m => ParamSpecTypeInfo -> m (Maybe GObject.Callbacks.ParamSpecTypeInfoValuesCmpFieldCallback)
-getParamSpecTypeInfoValuesCmp s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValuesCmpFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ParamSpecTypeInfoValuesCmpFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@values_cmp@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' paramSpecTypeInfo [ #valuesCmp 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParamSpecTypeInfoValuesCmp :: MonadIO m => ParamSpecTypeInfo -> FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValuesCmpFieldCallback -> m ()
-setParamSpecTypeInfoValuesCmp s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (val :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValuesCmpFieldCallback)
-
-{- |
-Set the value of the “@values_cmp@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valuesCmp
-@
--}
-clearParamSpecTypeInfoValuesCmp :: MonadIO m => ParamSpecTypeInfo -> m ()
-clearParamSpecTypeInfoValuesCmp s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValuesCmpFieldCallback)
-
-#if ENABLE_OVERLOADING
-data ParamSpecTypeInfoValuesCmpFieldInfo
-instance AttrInfo ParamSpecTypeInfoValuesCmpFieldInfo where
-    type AttrAllowedOps ParamSpecTypeInfoValuesCmpFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParamSpecTypeInfoValuesCmpFieldInfo = (~) (FunPtr GObject.Callbacks.C_ParamSpecTypeInfoValuesCmpFieldCallback)
-    type AttrBaseTypeConstraint ParamSpecTypeInfoValuesCmpFieldInfo = (~) ParamSpecTypeInfo
-    type AttrGetType ParamSpecTypeInfoValuesCmpFieldInfo = Maybe GObject.Callbacks.ParamSpecTypeInfoValuesCmpFieldCallback
-    type AttrLabel ParamSpecTypeInfoValuesCmpFieldInfo = "values_cmp"
-    type AttrOrigin ParamSpecTypeInfoValuesCmpFieldInfo = ParamSpecTypeInfo
-    attrGet _ = getParamSpecTypeInfoValuesCmp
-    attrSet _ = setParamSpecTypeInfoValuesCmp
-    attrConstruct = undefined
-    attrClear _ = clearParamSpecTypeInfoValuesCmp
-
-paramSpecTypeInfo_valuesCmp :: AttrLabelProxy "valuesCmp"
-paramSpecTypeInfo_valuesCmp = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList ParamSpecTypeInfo
-type instance O.AttributeList ParamSpecTypeInfo = ParamSpecTypeInfoAttributeList
-type ParamSpecTypeInfoAttributeList = ('[ '("instanceSize", ParamSpecTypeInfoInstanceSizeFieldInfo), '("nPreallocs", ParamSpecTypeInfoNPreallocsFieldInfo), '("instanceInit", ParamSpecTypeInfoInstanceInitFieldInfo), '("valueType", ParamSpecTypeInfoValueTypeFieldInfo), '("finalize", ParamSpecTypeInfoFinalizeFieldInfo), '("valueSetDefault", ParamSpecTypeInfoValueSetDefaultFieldInfo), '("valueValidate", ParamSpecTypeInfoValueValidateFieldInfo), '("valuesCmp", ParamSpecTypeInfoValuesCmpFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveParamSpecTypeInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveParamSpecTypeInfoMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveParamSpecTypeInfoMethod t ParamSpecTypeInfo, O.MethodInfo info ParamSpecTypeInfo p) => OL.IsLabel t (ParamSpecTypeInfo -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/ParamSpecTypeInfo.hs-boot b/GI/GObject/Structs/ParamSpecTypeInfo.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/ParamSpecTypeInfo.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.ParamSpecTypeInfo where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype ParamSpecTypeInfo = ParamSpecTypeInfo (ManagedPtr ParamSpecTypeInfo)
-instance WrappedPtr ParamSpecTypeInfo where
diff --git a/GI/GObject/Structs/Parameter.hs b/GI/GObject/Structs/Parameter.hs
deleted file mode 100644
--- a/GI/GObject/Structs/Parameter.hs
+++ /dev/null
@@ -1,206 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The GParameter struct is an auxiliary structure used
-to hand parameter name\/value pairs to 'GI.GObject.Objects.Object.objectNewv'.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.Parameter
-    ( 
-
--- * Exported types
-    Parameter(..)                           ,
-    newZeroParameter                        ,
-    noParameter                             ,
-
-
- -- * Properties
--- ** name #attr:name#
-{- | the parameter name
--}
-    clearParameterName                      ,
-    getParameterName                        ,
-#if ENABLE_OVERLOADING
-    parameter_name                          ,
-#endif
-    setParameterName                        ,
-
-
--- ** value #attr:value#
-{- | the parameter value
--}
-    getParameterValue                       ,
-#if ENABLE_OVERLOADING
-    parameter_value                         ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype Parameter = Parameter (ManagedPtr Parameter)
-instance WrappedPtr Parameter where
-    wrappedPtrCalloc = callocBytes 32
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr Parameter)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `Parameter` struct initialized to zero.
-newZeroParameter :: MonadIO m => m Parameter
-newZeroParameter = liftIO $ wrappedPtrCalloc >>= wrapPtr Parameter
-
-instance tag ~ 'AttrSet => Constructible Parameter tag where
-    new _ attrs = do
-        o <- newZeroParameter
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `Parameter`.
-noParameter :: Maybe Parameter
-noParameter = Nothing
-
-{- |
-Get the value of the “@name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' parameter #name
-@
--}
-getParameterName :: MonadIO m => Parameter -> m (Maybe T.Text)
-getParameterName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' parameter [ #name 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setParameterName :: MonadIO m => Parameter -> CString -> m ()
-setParameterName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CString)
-
-{- |
-Set the value of the “@name@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #name
-@
--}
-clearParameterName :: MonadIO m => Parameter -> m ()
-clearParameterName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data ParameterNameFieldInfo
-instance AttrInfo ParameterNameFieldInfo where
-    type AttrAllowedOps ParameterNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParameterNameFieldInfo = (~) CString
-    type AttrBaseTypeConstraint ParameterNameFieldInfo = (~) Parameter
-    type AttrGetType ParameterNameFieldInfo = Maybe T.Text
-    type AttrLabel ParameterNameFieldInfo = "name"
-    type AttrOrigin ParameterNameFieldInfo = Parameter
-    attrGet _ = getParameterName
-    attrSet _ = setParameterName
-    attrConstruct = undefined
-    attrClear _ = clearParameterName
-
-parameter_name :: AttrLabelProxy "name"
-parameter_name = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' parameter #value
-@
--}
-getParameterValue :: MonadIO m => Parameter -> m GValue
-getParameterValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    let val = ptr `plusPtr` 8 :: (Ptr GValue)
-    val' <- (newBoxed GValue) val
-    return val'
-
-#if ENABLE_OVERLOADING
-data ParameterValueFieldInfo
-instance AttrInfo ParameterValueFieldInfo where
-    type AttrAllowedOps ParameterValueFieldInfo = '[ 'AttrGet]
-    type AttrSetTypeConstraint ParameterValueFieldInfo = (~) (Ptr GValue)
-    type AttrBaseTypeConstraint ParameterValueFieldInfo = (~) Parameter
-    type AttrGetType ParameterValueFieldInfo = GValue
-    type AttrLabel ParameterValueFieldInfo = "value"
-    type AttrOrigin ParameterValueFieldInfo = Parameter
-    attrGet _ = getParameterValue
-    attrSet _ = undefined
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-parameter_value :: AttrLabelProxy "value"
-parameter_value = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList Parameter
-type instance O.AttributeList Parameter = ParameterAttributeList
-type ParameterAttributeList = ('[ '("name", ParameterNameFieldInfo), '("value", ParameterValueFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveParameterMethod (t :: Symbol) (o :: *) :: * where
-    ResolveParameterMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveParameterMethod t Parameter, O.MethodInfo info Parameter p) => OL.IsLabel t (Parameter -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/Parameter.hs-boot b/GI/GObject/Structs/Parameter.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/Parameter.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.Parameter where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype Parameter = Parameter (ManagedPtr Parameter)
-instance WrappedPtr Parameter where
diff --git a/GI/GObject/Structs/SignalInvocationHint.hs b/GI/GObject/Structs/SignalInvocationHint.hs
deleted file mode 100644
--- a/GI/GObject/Structs/SignalInvocationHint.hs
+++ /dev/null
@@ -1,262 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The 'GI.GObject.Structs.SignalInvocationHint.SignalInvocationHint' structure is used to pass on additional information
-to callbacks during a signal emission.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.SignalInvocationHint
-    ( 
-
--- * Exported types
-    SignalInvocationHint(..)                ,
-    newZeroSignalInvocationHint             ,
-    noSignalInvocationHint                  ,
-
-
- -- * Properties
--- ** detail #attr:detail#
-{- | The detail passed on for this emission
--}
-    getSignalInvocationHintDetail           ,
-    setSignalInvocationHintDetail           ,
-#if ENABLE_OVERLOADING
-    signalInvocationHint_detail             ,
-#endif
-
-
--- ** runType #attr:runType#
-{- | The stage the signal emission is currently in, this
- field will contain one of 'GI.GObject.Flags.SignalFlagsRunFirst',
- 'GI.GObject.Flags.SignalFlagsRunLast' or 'GI.GObject.Flags.SignalFlagsRunCleanup'.
--}
-    getSignalInvocationHintRunType          ,
-    setSignalInvocationHintRunType          ,
-#if ENABLE_OVERLOADING
-    signalInvocationHint_runType            ,
-#endif
-
-
--- ** signalId #attr:signalId#
-{- | The signal id of the signal invoking the callback
--}
-    getSignalInvocationHintSignalId         ,
-    setSignalInvocationHintSignalId         ,
-#if ENABLE_OVERLOADING
-    signalInvocationHint_signalId           ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-
--- | Memory-managed wrapper type.
-newtype SignalInvocationHint = SignalInvocationHint (ManagedPtr SignalInvocationHint)
-instance WrappedPtr SignalInvocationHint where
-    wrappedPtrCalloc = callocBytes 12
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 12 >=> wrapPtr SignalInvocationHint)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `SignalInvocationHint` struct initialized to zero.
-newZeroSignalInvocationHint :: MonadIO m => m SignalInvocationHint
-newZeroSignalInvocationHint = liftIO $ wrappedPtrCalloc >>= wrapPtr SignalInvocationHint
-
-instance tag ~ 'AttrSet => Constructible SignalInvocationHint tag where
-    new _ attrs = do
-        o <- newZeroSignalInvocationHint
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `SignalInvocationHint`.
-noSignalInvocationHint :: Maybe SignalInvocationHint
-noSignalInvocationHint = Nothing
-
-{- |
-Get the value of the “@signal_id@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalInvocationHint #signalId
-@
--}
-getSignalInvocationHintSignalId :: MonadIO m => SignalInvocationHint -> m Word32
-getSignalInvocationHintSignalId s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@signal_id@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalInvocationHint [ #signalId 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalInvocationHintSignalId :: MonadIO m => SignalInvocationHint -> Word32 -> m ()
-setSignalInvocationHintSignalId s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data SignalInvocationHintSignalIdFieldInfo
-instance AttrInfo SignalInvocationHintSignalIdFieldInfo where
-    type AttrAllowedOps SignalInvocationHintSignalIdFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalInvocationHintSignalIdFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint SignalInvocationHintSignalIdFieldInfo = (~) SignalInvocationHint
-    type AttrGetType SignalInvocationHintSignalIdFieldInfo = Word32
-    type AttrLabel SignalInvocationHintSignalIdFieldInfo = "signal_id"
-    type AttrOrigin SignalInvocationHintSignalIdFieldInfo = SignalInvocationHint
-    attrGet _ = getSignalInvocationHintSignalId
-    attrSet _ = setSignalInvocationHintSignalId
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalInvocationHint_signalId :: AttrLabelProxy "signalId"
-signalInvocationHint_signalId = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@detail@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalInvocationHint #detail
-@
--}
-getSignalInvocationHintDetail :: MonadIO m => SignalInvocationHint -> m Word32
-getSignalInvocationHintDetail s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@detail@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalInvocationHint [ #detail 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalInvocationHintDetail :: MonadIO m => SignalInvocationHint -> Word32 -> m ()
-setSignalInvocationHintDetail s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 4) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data SignalInvocationHintDetailFieldInfo
-instance AttrInfo SignalInvocationHintDetailFieldInfo where
-    type AttrAllowedOps SignalInvocationHintDetailFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalInvocationHintDetailFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint SignalInvocationHintDetailFieldInfo = (~) SignalInvocationHint
-    type AttrGetType SignalInvocationHintDetailFieldInfo = Word32
-    type AttrLabel SignalInvocationHintDetailFieldInfo = "detail"
-    type AttrOrigin SignalInvocationHintDetailFieldInfo = SignalInvocationHint
-    attrGet _ = getSignalInvocationHintDetail
-    attrSet _ = setSignalInvocationHintDetail
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalInvocationHint_detail :: AttrLabelProxy "detail"
-signalInvocationHint_detail = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@run_type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalInvocationHint #runType
-@
--}
-getSignalInvocationHintRunType :: MonadIO m => SignalInvocationHint -> m [GObject.Flags.SignalFlags]
-getSignalInvocationHintRunType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-{- |
-Set the value of the “@run_type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalInvocationHint [ #runType 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalInvocationHintRunType :: MonadIO m => SignalInvocationHint -> [GObject.Flags.SignalFlags] -> m ()
-setSignalInvocationHintRunType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gflagsToWord val
-    poke (ptr `plusPtr` 8) (val' :: CUInt)
-
-#if ENABLE_OVERLOADING
-data SignalInvocationHintRunTypeFieldInfo
-instance AttrInfo SignalInvocationHintRunTypeFieldInfo where
-    type AttrAllowedOps SignalInvocationHintRunTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalInvocationHintRunTypeFieldInfo = (~) [GObject.Flags.SignalFlags]
-    type AttrBaseTypeConstraint SignalInvocationHintRunTypeFieldInfo = (~) SignalInvocationHint
-    type AttrGetType SignalInvocationHintRunTypeFieldInfo = [GObject.Flags.SignalFlags]
-    type AttrLabel SignalInvocationHintRunTypeFieldInfo = "run_type"
-    type AttrOrigin SignalInvocationHintRunTypeFieldInfo = SignalInvocationHint
-    attrGet _ = getSignalInvocationHintRunType
-    attrSet _ = setSignalInvocationHintRunType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalInvocationHint_runType :: AttrLabelProxy "runType"
-signalInvocationHint_runType = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList SignalInvocationHint
-type instance O.AttributeList SignalInvocationHint = SignalInvocationHintAttributeList
-type SignalInvocationHintAttributeList = ('[ '("signalId", SignalInvocationHintSignalIdFieldInfo), '("detail", SignalInvocationHintDetailFieldInfo), '("runType", SignalInvocationHintRunTypeFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveSignalInvocationHintMethod (t :: Symbol) (o :: *) :: * where
-    ResolveSignalInvocationHintMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveSignalInvocationHintMethod t SignalInvocationHint, O.MethodInfo info SignalInvocationHint p) => OL.IsLabel t (SignalInvocationHint -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/SignalInvocationHint.hs-boot b/GI/GObject/Structs/SignalInvocationHint.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/SignalInvocationHint.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.SignalInvocationHint where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype SignalInvocationHint = SignalInvocationHint (ManagedPtr SignalInvocationHint)
-instance WrappedPtr SignalInvocationHint where
diff --git a/GI/GObject/Structs/SignalQuery.hs b/GI/GObject/Structs/SignalQuery.hs
deleted file mode 100644
--- a/GI/GObject/Structs/SignalQuery.hs
+++ /dev/null
@@ -1,447 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure holding in-depth information for a specific signal. It is
-filled in by the 'GI.GObject.Functions.signalQuery' function.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.SignalQuery
-    ( 
-
--- * Exported types
-    SignalQuery(..)                         ,
-    newZeroSignalQuery                      ,
-    noSignalQuery                           ,
-
-
- -- * Properties
--- ** itype #attr:itype#
-{- | The interface\/instance type that this signal can be emitted for.
--}
-    getSignalQueryItype                     ,
-    setSignalQueryItype                     ,
-#if ENABLE_OVERLOADING
-    signalQuery_itype                       ,
-#endif
-
-
--- ** nParams #attr:nParams#
-{- | The number of parameters that user callbacks take.
--}
-    getSignalQueryNParams                   ,
-    setSignalQueryNParams                   ,
-#if ENABLE_OVERLOADING
-    signalQuery_nParams                     ,
-#endif
-
-
--- ** returnType #attr:returnType#
-{- | The return type for user callbacks.
--}
-    getSignalQueryReturnType                ,
-    setSignalQueryReturnType                ,
-#if ENABLE_OVERLOADING
-    signalQuery_returnType                  ,
-#endif
-
-
--- ** signalFlags #attr:signalFlags#
-{- | The signal flags as passed in to @/g_signal_new()/@.
--}
-    getSignalQuerySignalFlags               ,
-    setSignalQuerySignalFlags               ,
-#if ENABLE_OVERLOADING
-    signalQuery_signalFlags                 ,
-#endif
-
-
--- ** signalId #attr:signalId#
-{- | The signal id of the signal being queried, or 0 if the
- signal to be queried was unknown.
--}
-    getSignalQuerySignalId                  ,
-    setSignalQuerySignalId                  ,
-#if ENABLE_OVERLOADING
-    signalQuery_signalId                    ,
-#endif
-
-
--- ** signalName #attr:signalName#
-{- | The signal name.
--}
-    clearSignalQuerySignalName              ,
-    getSignalQuerySignalName                ,
-    setSignalQuerySignalName                ,
-#if ENABLE_OVERLOADING
-    signalQuery_signalName                  ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-
--- | Memory-managed wrapper type.
-newtype SignalQuery = SignalQuery (ManagedPtr SignalQuery)
-instance WrappedPtr SignalQuery where
-    wrappedPtrCalloc = callocBytes 56
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr SignalQuery)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `SignalQuery` struct initialized to zero.
-newZeroSignalQuery :: MonadIO m => m SignalQuery
-newZeroSignalQuery = liftIO $ wrappedPtrCalloc >>= wrapPtr SignalQuery
-
-instance tag ~ 'AttrSet => Constructible SignalQuery tag where
-    new _ attrs = do
-        o <- newZeroSignalQuery
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `SignalQuery`.
-noSignalQuery :: Maybe SignalQuery
-noSignalQuery = Nothing
-
-{- |
-Get the value of the “@signal_id@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalQuery #signalId
-@
--}
-getSignalQuerySignalId :: MonadIO m => SignalQuery -> m Word32
-getSignalQuerySignalId s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@signal_id@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalQuery [ #signalId 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalQuerySignalId :: MonadIO m => SignalQuery -> Word32 -> m ()
-setSignalQuerySignalId s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data SignalQuerySignalIdFieldInfo
-instance AttrInfo SignalQuerySignalIdFieldInfo where
-    type AttrAllowedOps SignalQuerySignalIdFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalQuerySignalIdFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint SignalQuerySignalIdFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQuerySignalIdFieldInfo = Word32
-    type AttrLabel SignalQuerySignalIdFieldInfo = "signal_id"
-    type AttrOrigin SignalQuerySignalIdFieldInfo = SignalQuery
-    attrGet _ = getSignalQuerySignalId
-    attrSet _ = setSignalQuerySignalId
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuery_signalId :: AttrLabelProxy "signalId"
-signalQuery_signalId = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@signal_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalQuery #signalName
-@
--}
-getSignalQuerySignalName :: MonadIO m => SignalQuery -> m (Maybe T.Text)
-getSignalQuerySignalName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@signal_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalQuery [ #signalName 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalQuerySignalName :: MonadIO m => SignalQuery -> CString -> m ()
-setSignalQuerySignalName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-{- |
-Set the value of the “@signal_name@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #signalName
-@
--}
-clearSignalQuerySignalName :: MonadIO m => SignalQuery -> m ()
-clearSignalQuerySignalName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data SignalQuerySignalNameFieldInfo
-instance AttrInfo SignalQuerySignalNameFieldInfo where
-    type AttrAllowedOps SignalQuerySignalNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint SignalQuerySignalNameFieldInfo = (~) CString
-    type AttrBaseTypeConstraint SignalQuerySignalNameFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQuerySignalNameFieldInfo = Maybe T.Text
-    type AttrLabel SignalQuerySignalNameFieldInfo = "signal_name"
-    type AttrOrigin SignalQuerySignalNameFieldInfo = SignalQuery
-    attrGet _ = getSignalQuerySignalName
-    attrSet _ = setSignalQuerySignalName
-    attrConstruct = undefined
-    attrClear _ = clearSignalQuerySignalName
-
-signalQuery_signalName :: AttrLabelProxy "signalName"
-signalQuery_signalName = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@itype@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalQuery #itype
-@
--}
-getSignalQueryItype :: MonadIO m => SignalQuery -> m GType
-getSignalQueryItype s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CGType
-    let val' = GType val
-    return val'
-
-{- |
-Set the value of the “@itype@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalQuery [ #itype 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalQueryItype :: MonadIO m => SignalQuery -> GType -> m ()
-setSignalQueryItype s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 16) (val' :: CGType)
-
-#if ENABLE_OVERLOADING
-data SignalQueryItypeFieldInfo
-instance AttrInfo SignalQueryItypeFieldInfo where
-    type AttrAllowedOps SignalQueryItypeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalQueryItypeFieldInfo = (~) GType
-    type AttrBaseTypeConstraint SignalQueryItypeFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQueryItypeFieldInfo = GType
-    type AttrLabel SignalQueryItypeFieldInfo = "itype"
-    type AttrOrigin SignalQueryItypeFieldInfo = SignalQuery
-    attrGet _ = getSignalQueryItype
-    attrSet _ = setSignalQueryItype
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuery_itype :: AttrLabelProxy "itype"
-signalQuery_itype = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@signal_flags@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalQuery #signalFlags
-@
--}
-getSignalQuerySignalFlags :: MonadIO m => SignalQuery -> m [GObject.Flags.SignalFlags]
-getSignalQuerySignalFlags s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-{- |
-Set the value of the “@signal_flags@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalQuery [ #signalFlags 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalQuerySignalFlags :: MonadIO m => SignalQuery -> [GObject.Flags.SignalFlags] -> m ()
-setSignalQuerySignalFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gflagsToWord val
-    poke (ptr `plusPtr` 24) (val' :: CUInt)
-
-#if ENABLE_OVERLOADING
-data SignalQuerySignalFlagsFieldInfo
-instance AttrInfo SignalQuerySignalFlagsFieldInfo where
-    type AttrAllowedOps SignalQuerySignalFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalQuerySignalFlagsFieldInfo = (~) [GObject.Flags.SignalFlags]
-    type AttrBaseTypeConstraint SignalQuerySignalFlagsFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQuerySignalFlagsFieldInfo = [GObject.Flags.SignalFlags]
-    type AttrLabel SignalQuerySignalFlagsFieldInfo = "signal_flags"
-    type AttrOrigin SignalQuerySignalFlagsFieldInfo = SignalQuery
-    attrGet _ = getSignalQuerySignalFlags
-    attrSet _ = setSignalQuerySignalFlags
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuery_signalFlags :: AttrLabelProxy "signalFlags"
-signalQuery_signalFlags = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@return_type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalQuery #returnType
-@
--}
-getSignalQueryReturnType :: MonadIO m => SignalQuery -> m GType
-getSignalQueryReturnType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CGType
-    let val' = GType val
-    return val'
-
-{- |
-Set the value of the “@return_type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalQuery [ #returnType 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalQueryReturnType :: MonadIO m => SignalQuery -> GType -> m ()
-setSignalQueryReturnType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 32) (val' :: CGType)
-
-#if ENABLE_OVERLOADING
-data SignalQueryReturnTypeFieldInfo
-instance AttrInfo SignalQueryReturnTypeFieldInfo where
-    type AttrAllowedOps SignalQueryReturnTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalQueryReturnTypeFieldInfo = (~) GType
-    type AttrBaseTypeConstraint SignalQueryReturnTypeFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQueryReturnTypeFieldInfo = GType
-    type AttrLabel SignalQueryReturnTypeFieldInfo = "return_type"
-    type AttrOrigin SignalQueryReturnTypeFieldInfo = SignalQuery
-    attrGet _ = getSignalQueryReturnType
-    attrSet _ = setSignalQueryReturnType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuery_returnType :: AttrLabelProxy "returnType"
-signalQuery_returnType = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@n_params@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' signalQuery #nParams
-@
--}
-getSignalQueryNParams :: MonadIO m => SignalQuery -> m Word32
-getSignalQueryNParams s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@n_params@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' signalQuery [ #nParams 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setSignalQueryNParams :: MonadIO m => SignalQuery -> Word32 -> m ()
-setSignalQueryNParams s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data SignalQueryNParamsFieldInfo
-instance AttrInfo SignalQueryNParamsFieldInfo where
-    type AttrAllowedOps SignalQueryNParamsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalQueryNParamsFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint SignalQueryNParamsFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQueryNParamsFieldInfo = Word32
-    type AttrLabel SignalQueryNParamsFieldInfo = "n_params"
-    type AttrOrigin SignalQueryNParamsFieldInfo = SignalQuery
-    attrGet _ = getSignalQueryNParams
-    attrSet _ = setSignalQueryNParams
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuery_nParams :: AttrLabelProxy "nParams"
-signalQuery_nParams = AttrLabelProxy
-
-#endif
-
-
--- XXX Skipped attribute for "SignalQuery:param_types" :: Not implemented: "Don't know how to unpack C array of type TCArray False (-1) 5 (TBasicType TGType)"
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList SignalQuery
-type instance O.AttributeList SignalQuery = SignalQueryAttributeList
-type SignalQueryAttributeList = ('[ '("signalId", SignalQuerySignalIdFieldInfo), '("signalName", SignalQuerySignalNameFieldInfo), '("itype", SignalQueryItypeFieldInfo), '("signalFlags", SignalQuerySignalFlagsFieldInfo), '("returnType", SignalQueryReturnTypeFieldInfo), '("nParams", SignalQueryNParamsFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveSignalQueryMethod (t :: Symbol) (o :: *) :: * where
-    ResolveSignalQueryMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveSignalQueryMethod t SignalQuery, O.MethodInfo info SignalQuery p) => OL.IsLabel t (SignalQuery -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/SignalQuery.hs-boot b/GI/GObject/Structs/SignalQuery.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/SignalQuery.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.SignalQuery where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype SignalQuery = SignalQuery (ManagedPtr SignalQuery)
-instance WrappedPtr SignalQuery where
diff --git a/GI/GObject/Structs/TypeClass.hs b/GI/GObject/Structs/TypeClass.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeClass.hs
+++ /dev/null
@@ -1,501 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-An opaque structure used as the base of all classes.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeClass
-    ( 
-
--- * Exported types
-    TypeClass(..)                           ,
-    newZeroTypeClass                        ,
-    noTypeClass                             ,
-
-
- -- * Methods
--- ** addPrivate #method:addPrivate#
-
-#if ENABLE_OVERLOADING
-    TypeClassAddPrivateMethodInfo           ,
-#endif
-    typeClassAddPrivate                     ,
-
-
--- ** adjustPrivateOffset #method:adjustPrivateOffset#
-
-    typeClassAdjustPrivateOffset            ,
-
-
--- ** getPrivate #method:getPrivate#
-
-#if ENABLE_OVERLOADING
-    TypeClassGetPrivateMethodInfo           ,
-#endif
-    typeClassGetPrivate                     ,
-
-
--- ** peek #method:peek#
-
-    typeClassPeek                           ,
-
-
--- ** peekParent #method:peekParent#
-
-#if ENABLE_OVERLOADING
-    TypeClassPeekParentMethodInfo           ,
-#endif
-    typeClassPeekParent                     ,
-
-
--- ** peekStatic #method:peekStatic#
-
-    typeClassPeekStatic                     ,
-
-
--- ** ref #method:ref#
-
-    typeClassRef                            ,
-
-
--- ** unref #method:unref#
-
-#if ENABLE_OVERLOADING
-    TypeClassUnrefMethodInfo                ,
-#endif
-    typeClassUnref                          ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype TypeClass = TypeClass (ManagedPtr TypeClass)
-instance WrappedPtr TypeClass where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr TypeClass)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeClass` struct initialized to zero.
-newZeroTypeClass :: MonadIO m => m TypeClass
-newZeroTypeClass = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeClass
-
-instance tag ~ 'AttrSet => Constructible TypeClass tag where
-    new _ attrs = do
-        o <- newZeroTypeClass
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeClass`.
-noTypeClass :: Maybe TypeClass
-noTypeClass = Nothing
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeClass
-type instance O.AttributeList TypeClass = TypeClassAttributeList
-type TypeClassAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
--- method TypeClass::add_private
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class structure for an instantiatable\n   type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of private structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_add_private" g_type_class_add_private :: 
-    Ptr TypeClass ->                        -- g_class : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    Word64 ->                               -- private_size : TBasicType TUInt64
-    IO ()
-
-{-# DEPRECATED typeClassAddPrivate ["(Since version 2.58)","Use the @/G_ADD_PRIVATE()/@ macro with the @G_DEFINE_*@","  family of macros to add instance private data to a type"] #-}
-{- |
-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()/@.
-
-
-=== /C code/
->
->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->priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object,
->                                                 MY_TYPE_OBJECT,
->                                                 MyObjectPrivate);
->  // my_object->priv->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->priv;
->
->  return priv->some_field;
->}
-
-
-/Since: 2.4/
--}
-typeClassAddPrivate ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    TypeClass
-    {- ^ /@gClass@/: class structure for an instantiatable
-   type -}
-    -> Word64
-    {- ^ /@privateSize@/: size of private structure -}
-    -> m ()
-typeClassAddPrivate gClass privateSize = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    g_type_class_add_private gClass' privateSize
-    touchManagedPtr gClass
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypeClassAddPrivateMethodInfo
-instance (signature ~ (Word64 -> m ()), MonadIO m) => O.MethodInfo TypeClassAddPrivateMethodInfo TypeClass signature where
-    overloadedMethod _ = typeClassAddPrivate
-
-#endif
-
--- method TypeClass::get_private
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "klass", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_get_private" g_type_class_get_private :: 
-    Ptr TypeClass ->                        -- klass : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    CGType ->                               -- private_type : TBasicType TGType
-    IO (Ptr ())
-
-{- |
-/No description available in the introspection data./
--}
-typeClassGetPrivate ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    TypeClass
-    -> GType
-    -> m (Ptr ())
-typeClassGetPrivate klass privateType = liftIO $ do
-    klass' <- unsafeManagedPtrGetPtr klass
-    let privateType' = gtypeToCGType privateType
-    result <- g_type_class_get_private klass' privateType'
-    touchManagedPtr klass
-    return result
-
-#if ENABLE_OVERLOADING
-data TypeClassGetPrivateMethodInfo
-instance (signature ~ (GType -> m (Ptr ())), MonadIO m) => O.MethodInfo TypeClassGetPrivateMethodInfo TypeClass signature where
-    overloadedMethod _ = typeClassGetPrivate
-
-#endif
-
--- method TypeClass::peek_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTypeClass structure to\n    retrieve the parent class for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeClass"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_peek_parent" g_type_class_peek_parent :: 
-    Ptr TypeClass ->                        -- g_class : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    IO (Ptr TypeClass)
-
-{- |
-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)))
--}
-typeClassPeekParent ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    TypeClass
-    {- ^ /@gClass@/: the 'GI.GObject.Structs.TypeClass.TypeClass' structure to
-    retrieve the parent class for -}
-    -> m TypeClass
-    {- ^ __Returns:__ the parent class
-    of /@gClass@/ -}
-typeClassPeekParent gClass = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    result <- g_type_class_peek_parent gClass'
-    checkUnexpectedReturnNULL "typeClassPeekParent" result
-    result' <- (newPtr TypeClass) result
-    touchManagedPtr gClass
-    return result'
-
-#if ENABLE_OVERLOADING
-data TypeClassPeekParentMethodInfo
-instance (signature ~ (m TypeClass), MonadIO m) => O.MethodInfo TypeClassPeekParentMethodInfo TypeClass signature where
-    overloadedMethod _ = typeClassPeekParent
-
-#endif
-
--- method TypeClass::unref
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "g_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeClass structure to unref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_unref" g_type_class_unref :: 
-    Ptr TypeClass ->                        -- g_class : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    IO ()
-
-{- |
-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 'GI.GObject.Structs.TypeClass.typeClassUnref' are invalid.
--}
-typeClassUnref ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    TypeClass
-    {- ^ /@gClass@/: a 'GI.GObject.Structs.TypeClass.TypeClass' structure to unref -}
-    -> m ()
-typeClassUnref gClass = liftIO $ do
-    gClass' <- unsafeManagedPtrGetPtr gClass
-    g_type_class_unref gClass'
-    touchManagedPtr gClass
-    return ()
-
-#if ENABLE_OVERLOADING
-data TypeClassUnrefMethodInfo
-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TypeClassUnrefMethodInfo TypeClass signature where
-    overloadedMethod _ = typeClassUnref
-
-#endif
-
--- method TypeClass::adjust_private_offset
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_class", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size_or_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_adjust_private_offset" g_type_class_adjust_private_offset :: 
-    Ptr () ->                               -- g_class : TBasicType TPtr
-    Int32 ->                                -- private_size_or_offset : TBasicType TInt
-    IO ()
-
-{- |
-/No description available in the introspection data./
--}
-typeClassAdjustPrivateOffset ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Ptr ()
-    -> Int32
-    -> m ()
-typeClassAdjustPrivateOffset gClass privateSizeOrOffset = liftIO $ do
-    g_type_class_adjust_private_offset gClass privateSizeOrOffset
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method TypeClass::peek
--- method type : MemberFunction
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type ID of a classed type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeClass"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_peek" g_type_class_peek :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO (Ptr TypeClass)
-
-{- |
-This function is essentially the same as 'GI.GObject.Functions.typeClassRef',
-except that the classes reference count isn\'t incremented.
-As a consequence, this function may return 'Nothing' if the class
-of the type passed in does not currently exist (hasn\'t been
-referenced before).
--}
-typeClassPeek ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: type ID of a classed type -}
-    -> m TypeClass
-    {- ^ __Returns:__ the 'GI.GObject.Structs.TypeClass.TypeClass'
-    structure for the given type ID or 'Nothing' if the class does not
-    currently exist -}
-typeClassPeek type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_class_peek type_'
-    checkUnexpectedReturnNULL "typeClassPeek" result
-    result' <- (newPtr TypeClass) result
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method TypeClass::peek_static
--- method type : MemberFunction
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type ID of a classed type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeClass"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_peek_static" g_type_class_peek_static :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO (Ptr TypeClass)
-
-{- |
-A more efficient version of 'GI.GObject.Functions.typeClassPeek' which works only for
-static types.
-
-/Since: 2.4/
--}
-typeClassPeekStatic ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: type ID of a classed type -}
-    -> m TypeClass
-    {- ^ __Returns:__ the 'GI.GObject.Structs.TypeClass.TypeClass'
-    structure for the given type ID or 'Nothing' if the class does not
-    currently exist or is dynamically loaded -}
-typeClassPeekStatic type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_class_peek_static type_'
-    checkUnexpectedReturnNULL "typeClassPeekStatic" result
-    result' <- (newPtr TypeClass) result
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method TypeClass::ref
--- method type : MemberFunction
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type ID of a classed type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeClass"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_ref" g_type_class_ref :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO (Ptr TypeClass)
-
-{- |
-Increments the reference count of the class structure belonging to
-/@type@/. This function will demand-create the class if it doesn\'t
-exist already.
--}
-typeClassRef ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@type@/: type ID of a classed type -}
-    -> m TypeClass
-    {- ^ __Returns:__ the 'GI.GObject.Structs.TypeClass.TypeClass'
-    structure for the given type ID -}
-typeClassRef type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_class_ref type_'
-    checkUnexpectedReturnNULL "typeClassRef" result
-    result' <- (newPtr TypeClass) result
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeClassMethod "addPrivate" o = TypeClassAddPrivateMethodInfo
-    ResolveTypeClassMethod "peekParent" o = TypeClassPeekParentMethodInfo
-    ResolveTypeClassMethod "unref" o = TypeClassUnrefMethodInfo
-    ResolveTypeClassMethod "getPrivate" o = TypeClassGetPrivateMethodInfo
-    ResolveTypeClassMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeClassMethod t TypeClass, O.MethodInfo info TypeClass p) => OL.IsLabel t (TypeClass -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeClass.hs-boot b/GI/GObject/Structs/TypeClass.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeClass.hs-boot
+++ /dev/null
@@ -1,38 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeClass where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeClass = TypeClass (ManagedPtr TypeClass)
-instance WrappedPtr TypeClass where
-#if ENABLE_OVERLOADING
-data TypeClassAddPrivateMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeClassGetPrivateMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeClassPeekParentMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data TypeClassUnrefMethodInfo
-#endif
diff --git a/GI/GObject/Structs/TypeFundamentalInfo.hs b/GI/GObject/Structs/TypeFundamentalInfo.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeFundamentalInfo.hs
+++ /dev/null
@@ -1,150 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure that provides information to the type system which is
-used specifically for managing fundamental types.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeFundamentalInfo
-    ( 
-
--- * Exported types
-    TypeFundamentalInfo(..)                 ,
-    newZeroTypeFundamentalInfo              ,
-    noTypeFundamentalInfo                   ,
-
-
- -- * Properties
--- ** typeFlags #attr:typeFlags#
-{- | 'GI.GObject.Flags.TypeFundamentalFlags' describing the characteristics of the fundamental type
--}
-    getTypeFundamentalInfoTypeFlags         ,
-    setTypeFundamentalInfoTypeFlags         ,
-#if ENABLE_OVERLOADING
-    typeFundamentalInfo_typeFlags           ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Flags as GObject.Flags
-
--- | Memory-managed wrapper type.
-newtype TypeFundamentalInfo = TypeFundamentalInfo (ManagedPtr TypeFundamentalInfo)
-instance WrappedPtr TypeFundamentalInfo where
-    wrappedPtrCalloc = callocBytes 4
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 4 >=> wrapPtr TypeFundamentalInfo)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeFundamentalInfo` struct initialized to zero.
-newZeroTypeFundamentalInfo :: MonadIO m => m TypeFundamentalInfo
-newZeroTypeFundamentalInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeFundamentalInfo
-
-instance tag ~ 'AttrSet => Constructible TypeFundamentalInfo tag where
-    new _ attrs = do
-        o <- newZeroTypeFundamentalInfo
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeFundamentalInfo`.
-noTypeFundamentalInfo :: Maybe TypeFundamentalInfo
-noTypeFundamentalInfo = Nothing
-
-{- |
-Get the value of the “@type_flags@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeFundamentalInfo #typeFlags
-@
--}
-getTypeFundamentalInfoTypeFlags :: MonadIO m => TypeFundamentalInfo -> m [GObject.Flags.TypeFundamentalFlags]
-getTypeFundamentalInfoTypeFlags s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-{- |
-Set the value of the “@type_flags@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeFundamentalInfo [ #typeFlags 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeFundamentalInfoTypeFlags :: MonadIO m => TypeFundamentalInfo -> [GObject.Flags.TypeFundamentalFlags] -> m ()
-setTypeFundamentalInfoTypeFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gflagsToWord val
-    poke (ptr `plusPtr` 0) (val' :: CUInt)
-
-#if ENABLE_OVERLOADING
-data TypeFundamentalInfoTypeFlagsFieldInfo
-instance AttrInfo TypeFundamentalInfoTypeFlagsFieldInfo where
-    type AttrAllowedOps TypeFundamentalInfoTypeFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeFundamentalInfoTypeFlagsFieldInfo = (~) [GObject.Flags.TypeFundamentalFlags]
-    type AttrBaseTypeConstraint TypeFundamentalInfoTypeFlagsFieldInfo = (~) TypeFundamentalInfo
-    type AttrGetType TypeFundamentalInfoTypeFlagsFieldInfo = [GObject.Flags.TypeFundamentalFlags]
-    type AttrLabel TypeFundamentalInfoTypeFlagsFieldInfo = "type_flags"
-    type AttrOrigin TypeFundamentalInfoTypeFlagsFieldInfo = TypeFundamentalInfo
-    attrGet _ = getTypeFundamentalInfoTypeFlags
-    attrSet _ = setTypeFundamentalInfoTypeFlags
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeFundamentalInfo_typeFlags :: AttrLabelProxy "typeFlags"
-typeFundamentalInfo_typeFlags = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeFundamentalInfo
-type instance O.AttributeList TypeFundamentalInfo = TypeFundamentalInfoAttributeList
-type TypeFundamentalInfoAttributeList = ('[ '("typeFlags", TypeFundamentalInfoTypeFlagsFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeFundamentalInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeFundamentalInfoMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeFundamentalInfoMethod t TypeFundamentalInfo, O.MethodInfo info TypeFundamentalInfo p) => OL.IsLabel t (TypeFundamentalInfo -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeFundamentalInfo.hs-boot b/GI/GObject/Structs/TypeFundamentalInfo.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeFundamentalInfo.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeFundamentalInfo where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeFundamentalInfo = TypeFundamentalInfo (ManagedPtr TypeFundamentalInfo)
-instance WrappedPtr TypeFundamentalInfo where
diff --git a/GI/GObject/Structs/TypeInfo.hs b/GI/GObject/Structs/TypeInfo.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeInfo.hs
+++ /dev/null
@@ -1,768 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-This structure is used to provide the type system with the information
-required to initialize and destruct (finalize) a type\'s class and
-its instances.
-
-The initialized structure is passed to the 'GI.GObject.Functions.typeRegisterStatic' function
-(or is copied into the provided 'GI.GObject.Structs.TypeInfo.TypeInfo' structure in the
-'GI.GObject.Interfaces.TypePlugin.typePluginCompleteTypeInfo'). The type system will perform a deep
-copy of this structure, so its memory does not need to be persistent
-across invocation of 'GI.GObject.Functions.typeRegisterStatic'.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeInfo
-    ( 
-
--- * Exported types
-    TypeInfo(..)                            ,
-    newZeroTypeInfo                         ,
-    noTypeInfo                              ,
-
-
- -- * Properties
--- ** baseFinalize #attr:baseFinalize#
-{- | Location of the base finalization function (optional)
--}
-    clearTypeInfoBaseFinalize               ,
-    getTypeInfoBaseFinalize                 ,
-    setTypeInfoBaseFinalize                 ,
-#if ENABLE_OVERLOADING
-    typeInfo_baseFinalize                   ,
-#endif
-
-
--- ** baseInit #attr:baseInit#
-{- | Location of the base initialization function (optional)
--}
-    clearTypeInfoBaseInit                   ,
-    getTypeInfoBaseInit                     ,
-    setTypeInfoBaseInit                     ,
-#if ENABLE_OVERLOADING
-    typeInfo_baseInit                       ,
-#endif
-
-
--- ** classData #attr:classData#
-{- | User-supplied data passed to the class init\/finalize functions
--}
-    clearTypeInfoClassData                  ,
-    getTypeInfoClassData                    ,
-    setTypeInfoClassData                    ,
-#if ENABLE_OVERLOADING
-    typeInfo_classData                      ,
-#endif
-
-
--- ** classFinalize #attr:classFinalize#
-{- | Location of the class finalization function for
- classed and instantiatable types. Location of the default vtable
- finalization function for interface types. (optional)
--}
-    clearTypeInfoClassFinalize              ,
-    getTypeInfoClassFinalize                ,
-    setTypeInfoClassFinalize                ,
-#if ENABLE_OVERLOADING
-    typeInfo_classFinalize                  ,
-#endif
-
-
--- ** classInit #attr:classInit#
-{- | Location of the class initialization function for
- classed and instantiatable types. Location of the default vtable
- inititalization function for interface types. (optional) This function
- is used both to fill in virtual functions in the class or default vtable,
- and to do type-specific setup such as registering signals and object
- properties.
--}
-    clearTypeInfoClassInit                  ,
-    getTypeInfoClassInit                    ,
-    setTypeInfoClassInit                    ,
-#if ENABLE_OVERLOADING
-    typeInfo_classInit                      ,
-#endif
-
-
--- ** classSize #attr:classSize#
-{- | Size of the class structure (required for interface, classed and instantiatable types)
--}
-    getTypeInfoClassSize                    ,
-    setTypeInfoClassSize                    ,
-#if ENABLE_OVERLOADING
-    typeInfo_classSize                      ,
-#endif
-
-
--- ** instanceInit #attr:instanceInit#
-{- | Location of the instance initialization function (optional, for instantiatable types only)
--}
-    clearTypeInfoInstanceInit               ,
-    getTypeInfoInstanceInit                 ,
-    setTypeInfoInstanceInit                 ,
-#if ENABLE_OVERLOADING
-    typeInfo_instanceInit                   ,
-#endif
-
-
--- ** instanceSize #attr:instanceSize#
-{- | Size of the instance (object) structure (required for instantiatable types only)
--}
-    getTypeInfoInstanceSize                 ,
-    setTypeInfoInstanceSize                 ,
-#if ENABLE_OVERLOADING
-    typeInfo_instanceSize                   ,
-#endif
-
-
--- ** nPreallocs #attr:nPreallocs#
-{- | Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.
--}
-    getTypeInfoNPreallocs                   ,
-    setTypeInfoNPreallocs                   ,
-#if ENABLE_OVERLOADING
-    typeInfo_nPreallocs                     ,
-#endif
-
-
--- ** valueTable #attr:valueTable#
-{- | A 'GI.GObject.Structs.TypeValueTable.TypeValueTable' function table for generic handling of GValues
- of this type (usually only useful for fundamental types)
--}
-    clearTypeInfoValueTable                 ,
-    getTypeInfoValueTable                   ,
-    setTypeInfoValueTable                   ,
-#if ENABLE_OVERLOADING
-    typeInfo_valueTable                     ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GObject.Callbacks as GObject.Callbacks
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeValueTable as GObject.TypeValueTable
-
--- | Memory-managed wrapper type.
-newtype TypeInfo = TypeInfo (ManagedPtr TypeInfo)
-instance WrappedPtr TypeInfo where
-    wrappedPtrCalloc = callocBytes 72
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 72 >=> wrapPtr TypeInfo)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeInfo` struct initialized to zero.
-newZeroTypeInfo :: MonadIO m => m TypeInfo
-newZeroTypeInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeInfo
-
-instance tag ~ 'AttrSet => Constructible TypeInfo tag where
-    new _ attrs = do
-        o <- newZeroTypeInfo
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeInfo`.
-noTypeInfo :: Maybe TypeInfo
-noTypeInfo = Nothing
-
-{- |
-Get the value of the “@class_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #classSize
-@
--}
-getTypeInfoClassSize :: MonadIO m => TypeInfo -> m Word16
-getTypeInfoClassSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word16
-    return val
-
-{- |
-Set the value of the “@class_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #classSize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoClassSize :: MonadIO m => TypeInfo -> Word16 -> m ()
-setTypeInfoClassSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word16)
-
-#if ENABLE_OVERLOADING
-data TypeInfoClassSizeFieldInfo
-instance AttrInfo TypeInfoClassSizeFieldInfo where
-    type AttrAllowedOps TypeInfoClassSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeInfoClassSizeFieldInfo = (~) Word16
-    type AttrBaseTypeConstraint TypeInfoClassSizeFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoClassSizeFieldInfo = Word16
-    type AttrLabel TypeInfoClassSizeFieldInfo = "class_size"
-    type AttrOrigin TypeInfoClassSizeFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoClassSize
-    attrSet _ = setTypeInfoClassSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeInfo_classSize :: AttrLabelProxy "classSize"
-typeInfo_classSize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@base_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #baseInit
-@
--}
-getTypeInfoBaseInit :: MonadIO m => TypeInfo -> m (Maybe GObject.Callbacks.BaseInitFunc)
-getTypeInfoBaseInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GObject.Callbacks.C_BaseInitFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_BaseInitFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@base_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #baseInit 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoBaseInit :: MonadIO m => TypeInfo -> FunPtr GObject.Callbacks.C_BaseInitFunc -> m ()
-setTypeInfoBaseInit s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: FunPtr GObject.Callbacks.C_BaseInitFunc)
-
-{- |
-Set the value of the “@base_init@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #baseInit
-@
--}
-clearTypeInfoBaseInit :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoBaseInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_BaseInitFunc)
-
-#if ENABLE_OVERLOADING
-data TypeInfoBaseInitFieldInfo
-instance AttrInfo TypeInfoBaseInitFieldInfo where
-    type AttrAllowedOps TypeInfoBaseInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoBaseInitFieldInfo = (~) (FunPtr GObject.Callbacks.C_BaseInitFunc)
-    type AttrBaseTypeConstraint TypeInfoBaseInitFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoBaseInitFieldInfo = Maybe GObject.Callbacks.BaseInitFunc
-    type AttrLabel TypeInfoBaseInitFieldInfo = "base_init"
-    type AttrOrigin TypeInfoBaseInitFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoBaseInit
-    attrSet _ = setTypeInfoBaseInit
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoBaseInit
-
-typeInfo_baseInit :: AttrLabelProxy "baseInit"
-typeInfo_baseInit = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@base_finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #baseFinalize
-@
--}
-getTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> m (Maybe GObject.Callbacks.BaseFinalizeFunc)
-getTypeInfoBaseFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr GObject.Callbacks.C_BaseFinalizeFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_BaseFinalizeFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@base_finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #baseFinalize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> FunPtr GObject.Callbacks.C_BaseFinalizeFunc -> m ()
-setTypeInfoBaseFinalize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: FunPtr GObject.Callbacks.C_BaseFinalizeFunc)
-
-{- |
-Set the value of the “@base_finalize@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #baseFinalize
-@
--}
-clearTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoBaseFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_BaseFinalizeFunc)
-
-#if ENABLE_OVERLOADING
-data TypeInfoBaseFinalizeFieldInfo
-instance AttrInfo TypeInfoBaseFinalizeFieldInfo where
-    type AttrAllowedOps TypeInfoBaseFinalizeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoBaseFinalizeFieldInfo = (~) (FunPtr GObject.Callbacks.C_BaseFinalizeFunc)
-    type AttrBaseTypeConstraint TypeInfoBaseFinalizeFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoBaseFinalizeFieldInfo = Maybe GObject.Callbacks.BaseFinalizeFunc
-    type AttrLabel TypeInfoBaseFinalizeFieldInfo = "base_finalize"
-    type AttrOrigin TypeInfoBaseFinalizeFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoBaseFinalize
-    attrSet _ = setTypeInfoBaseFinalize
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoBaseFinalize
-
-typeInfo_baseFinalize :: AttrLabelProxy "baseFinalize"
-typeInfo_baseFinalize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@class_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #classInit
-@
--}
-getTypeInfoClassInit :: MonadIO m => TypeInfo -> m (Maybe GObject.Callbacks.ClassInitFunc)
-getTypeInfoClassInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GObject.Callbacks.C_ClassInitFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ClassInitFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@class_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #classInit 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoClassInit :: MonadIO m => TypeInfo -> FunPtr GObject.Callbacks.C_ClassInitFunc -> m ()
-setTypeInfoClassInit s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (val :: FunPtr GObject.Callbacks.C_ClassInitFunc)
-
-{- |
-Set the value of the “@class_init@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #classInit
-@
--}
-clearTypeInfoClassInit :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoClassInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ClassInitFunc)
-
-#if ENABLE_OVERLOADING
-data TypeInfoClassInitFieldInfo
-instance AttrInfo TypeInfoClassInitFieldInfo where
-    type AttrAllowedOps TypeInfoClassInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoClassInitFieldInfo = (~) (FunPtr GObject.Callbacks.C_ClassInitFunc)
-    type AttrBaseTypeConstraint TypeInfoClassInitFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoClassInitFieldInfo = Maybe GObject.Callbacks.ClassInitFunc
-    type AttrLabel TypeInfoClassInitFieldInfo = "class_init"
-    type AttrOrigin TypeInfoClassInitFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoClassInit
-    attrSet _ = setTypeInfoClassInit
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoClassInit
-
-typeInfo_classInit :: AttrLabelProxy "classInit"
-typeInfo_classInit = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@class_finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #classFinalize
-@
--}
-getTypeInfoClassFinalize :: MonadIO m => TypeInfo -> m (Maybe GObject.Callbacks.ClassFinalizeFunc)
-getTypeInfoClassFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr GObject.Callbacks.C_ClassFinalizeFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_ClassFinalizeFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@class_finalize@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #classFinalize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoClassFinalize :: MonadIO m => TypeInfo -> FunPtr GObject.Callbacks.C_ClassFinalizeFunc -> m ()
-setTypeInfoClassFinalize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (val :: FunPtr GObject.Callbacks.C_ClassFinalizeFunc)
-
-{- |
-Set the value of the “@class_finalize@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #classFinalize
-@
--}
-clearTypeInfoClassFinalize :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoClassFinalize s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_ClassFinalizeFunc)
-
-#if ENABLE_OVERLOADING
-data TypeInfoClassFinalizeFieldInfo
-instance AttrInfo TypeInfoClassFinalizeFieldInfo where
-    type AttrAllowedOps TypeInfoClassFinalizeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoClassFinalizeFieldInfo = (~) (FunPtr GObject.Callbacks.C_ClassFinalizeFunc)
-    type AttrBaseTypeConstraint TypeInfoClassFinalizeFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoClassFinalizeFieldInfo = Maybe GObject.Callbacks.ClassFinalizeFunc
-    type AttrLabel TypeInfoClassFinalizeFieldInfo = "class_finalize"
-    type AttrOrigin TypeInfoClassFinalizeFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoClassFinalize
-    attrSet _ = setTypeInfoClassFinalize
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoClassFinalize
-
-typeInfo_classFinalize :: AttrLabelProxy "classFinalize"
-typeInfo_classFinalize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@class_data@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #classData
-@
--}
-getTypeInfoClassData :: MonadIO m => TypeInfo -> m (Ptr ())
-getTypeInfoClassData s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr ())
-    return val
-
-{- |
-Set the value of the “@class_data@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #classData 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoClassData :: MonadIO m => TypeInfo -> Ptr () -> m ()
-setTypeInfoClassData s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (val :: Ptr ())
-
-{- |
-Set the value of the “@class_data@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #classData
-@
--}
-clearTypeInfoClassData :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoClassData s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr ())
-
-#if ENABLE_OVERLOADING
-data TypeInfoClassDataFieldInfo
-instance AttrInfo TypeInfoClassDataFieldInfo where
-    type AttrAllowedOps TypeInfoClassDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoClassDataFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint TypeInfoClassDataFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoClassDataFieldInfo = Ptr ()
-    type AttrLabel TypeInfoClassDataFieldInfo = "class_data"
-    type AttrOrigin TypeInfoClassDataFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoClassData
-    attrSet _ = setTypeInfoClassData
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoClassData
-
-typeInfo_classData :: AttrLabelProxy "classData"
-typeInfo_classData = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@instance_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #instanceSize
-@
--}
-getTypeInfoInstanceSize :: MonadIO m => TypeInfo -> m Word16
-getTypeInfoInstanceSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO Word16
-    return val
-
-{- |
-Set the value of the “@instance_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #instanceSize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m ()
-setTypeInfoInstanceSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (val :: Word16)
-
-#if ENABLE_OVERLOADING
-data TypeInfoInstanceSizeFieldInfo
-instance AttrInfo TypeInfoInstanceSizeFieldInfo where
-    type AttrAllowedOps TypeInfoInstanceSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeInfoInstanceSizeFieldInfo = (~) Word16
-    type AttrBaseTypeConstraint TypeInfoInstanceSizeFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoInstanceSizeFieldInfo = Word16
-    type AttrLabel TypeInfoInstanceSizeFieldInfo = "instance_size"
-    type AttrOrigin TypeInfoInstanceSizeFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoInstanceSize
-    attrSet _ = setTypeInfoInstanceSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeInfo_instanceSize :: AttrLabelProxy "instanceSize"
-typeInfo_instanceSize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@n_preallocs@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #nPreallocs
-@
--}
-getTypeInfoNPreallocs :: MonadIO m => TypeInfo -> m Word16
-getTypeInfoNPreallocs s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 50) :: IO Word16
-    return val
-
-{- |
-Set the value of the “@n_preallocs@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #nPreallocs 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m ()
-setTypeInfoNPreallocs s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 50) (val :: Word16)
-
-#if ENABLE_OVERLOADING
-data TypeInfoNPreallocsFieldInfo
-instance AttrInfo TypeInfoNPreallocsFieldInfo where
-    type AttrAllowedOps TypeInfoNPreallocsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeInfoNPreallocsFieldInfo = (~) Word16
-    type AttrBaseTypeConstraint TypeInfoNPreallocsFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoNPreallocsFieldInfo = Word16
-    type AttrLabel TypeInfoNPreallocsFieldInfo = "n_preallocs"
-    type AttrOrigin TypeInfoNPreallocsFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoNPreallocs
-    attrSet _ = setTypeInfoNPreallocs
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeInfo_nPreallocs :: AttrLabelProxy "nPreallocs"
-typeInfo_nPreallocs = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@instance_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #instanceInit
-@
--}
-getTypeInfoInstanceInit :: MonadIO m => TypeInfo -> m (Maybe GObject.Callbacks.InstanceInitFunc)
-getTypeInfoInstanceInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO (FunPtr GObject.Callbacks.C_InstanceInitFunc)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_InstanceInitFunc val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@instance_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #instanceInit 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoInstanceInit :: MonadIO m => TypeInfo -> FunPtr GObject.Callbacks.C_InstanceInitFunc -> m ()
-setTypeInfoInstanceInit s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 56) (val :: FunPtr GObject.Callbacks.C_InstanceInitFunc)
-
-{- |
-Set the value of the “@instance_init@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #instanceInit
-@
--}
-clearTypeInfoInstanceInit :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoInstanceInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 56) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_InstanceInitFunc)
-
-#if ENABLE_OVERLOADING
-data TypeInfoInstanceInitFieldInfo
-instance AttrInfo TypeInfoInstanceInitFieldInfo where
-    type AttrAllowedOps TypeInfoInstanceInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoInstanceInitFieldInfo = (~) (FunPtr GObject.Callbacks.C_InstanceInitFunc)
-    type AttrBaseTypeConstraint TypeInfoInstanceInitFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoInstanceInitFieldInfo = Maybe GObject.Callbacks.InstanceInitFunc
-    type AttrLabel TypeInfoInstanceInitFieldInfo = "instance_init"
-    type AttrOrigin TypeInfoInstanceInitFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoInstanceInit
-    attrSet _ = setTypeInfoInstanceInit
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoInstanceInit
-
-typeInfo_instanceInit :: AttrLabelProxy "instanceInit"
-typeInfo_instanceInit = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_table@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeInfo #valueTable
-@
--}
-getTypeInfoValueTable :: MonadIO m => TypeInfo -> m (Maybe GObject.TypeValueTable.TypeValueTable)
-getTypeInfoValueTable s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO (Ptr GObject.TypeValueTable.TypeValueTable)
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr GObject.TypeValueTable.TypeValueTable) val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_table@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeInfo [ #valueTable 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeInfoValueTable :: MonadIO m => TypeInfo -> Ptr GObject.TypeValueTable.TypeValueTable -> m ()
-setTypeInfoValueTable s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (val :: Ptr GObject.TypeValueTable.TypeValueTable)
-
-{- |
-Set the value of the “@value_table@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueTable
-@
--}
-clearTypeInfoValueTable :: MonadIO m => TypeInfo -> m ()
-clearTypeInfoValueTable s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (FP.nullPtr :: Ptr GObject.TypeValueTable.TypeValueTable)
-
-#if ENABLE_OVERLOADING
-data TypeInfoValueTableFieldInfo
-instance AttrInfo TypeInfoValueTableFieldInfo where
-    type AttrAllowedOps TypeInfoValueTableFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoValueTableFieldInfo = (~) (Ptr GObject.TypeValueTable.TypeValueTable)
-    type AttrBaseTypeConstraint TypeInfoValueTableFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoValueTableFieldInfo = Maybe GObject.TypeValueTable.TypeValueTable
-    type AttrLabel TypeInfoValueTableFieldInfo = "value_table"
-    type AttrOrigin TypeInfoValueTableFieldInfo = TypeInfo
-    attrGet _ = getTypeInfoValueTable
-    attrSet _ = setTypeInfoValueTable
-    attrConstruct = undefined
-    attrClear _ = clearTypeInfoValueTable
-
-typeInfo_valueTable :: AttrLabelProxy "valueTable"
-typeInfo_valueTable = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeInfo
-type instance O.AttributeList TypeInfo = TypeInfoAttributeList
-type TypeInfoAttributeList = ('[ '("classSize", TypeInfoClassSizeFieldInfo), '("baseInit", TypeInfoBaseInitFieldInfo), '("baseFinalize", TypeInfoBaseFinalizeFieldInfo), '("classInit", TypeInfoClassInitFieldInfo), '("classFinalize", TypeInfoClassFinalizeFieldInfo), '("classData", TypeInfoClassDataFieldInfo), '("instanceSize", TypeInfoInstanceSizeFieldInfo), '("nPreallocs", TypeInfoNPreallocsFieldInfo), '("instanceInit", TypeInfoInstanceInitFieldInfo), '("valueTable", TypeInfoValueTableFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeInfoMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeInfoMethod t TypeInfo, O.MethodInfo info TypeInfo p) => OL.IsLabel t (TypeInfo -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeInfo.hs-boot b/GI/GObject/Structs/TypeInfo.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeInfo.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeInfo where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeInfo = TypeInfo (ManagedPtr TypeInfo)
-instance WrappedPtr TypeInfo where
diff --git a/GI/GObject/Structs/TypeInstance.hs b/GI/GObject/Structs/TypeInstance.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeInstance.hs
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-An opaque structure used as the base of all type instances.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeInstance
-    ( 
-
--- * Exported types
-    TypeInstance(..)                        ,
-    newZeroTypeInstance                     ,
-    noTypeInstance                          ,
-
-
- -- * Methods
--- ** getPrivate #method:getPrivate#
-
-#if ENABLE_OVERLOADING
-    TypeInstanceGetPrivateMethodInfo        ,
-#endif
-    typeInstanceGetPrivate                  ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype TypeInstance = TypeInstance (ManagedPtr TypeInstance)
-instance WrappedPtr TypeInstance where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr TypeInstance)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeInstance` struct initialized to zero.
-newZeroTypeInstance :: MonadIO m => m TypeInstance
-newZeroTypeInstance = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeInstance
-
-instance tag ~ 'AttrSet => Constructible TypeInstance tag where
-    new _ attrs = do
-        o <- newZeroTypeInstance
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeInstance`.
-noTypeInstance :: Maybe TypeInstance
-noTypeInstance = Nothing
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeInstance
-type instance O.AttributeList TypeInstance = TypeInstanceAttributeList
-type TypeInstanceAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
--- method TypeInstance::get_private
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "instance", argType = TInterface (Name {namespace = "GObject", name = "TypeInstance"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TPtr)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_instance_get_private" g_type_instance_get_private :: 
-    Ptr TypeInstance ->                     -- instance : TInterface (Name {namespace = "GObject", name = "TypeInstance"})
-    CGType ->                               -- private_type : TBasicType TGType
-    IO (Ptr ())
-
-{- |
-/No description available in the introspection data./
--}
-typeInstanceGetPrivate ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    TypeInstance
-    -> GType
-    -> m (Ptr ())
-typeInstanceGetPrivate instance_ privateType = liftIO $ do
-    instance_' <- unsafeManagedPtrGetPtr instance_
-    let privateType' = gtypeToCGType privateType
-    result <- g_type_instance_get_private instance_' privateType'
-    touchManagedPtr instance_
-    return result
-
-#if ENABLE_OVERLOADING
-data TypeInstanceGetPrivateMethodInfo
-instance (signature ~ (GType -> m (Ptr ())), MonadIO m) => O.MethodInfo TypeInstanceGetPrivateMethodInfo TypeInstance signature where
-    overloadedMethod _ = typeInstanceGetPrivate
-
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeInstanceMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeInstanceMethod "getPrivate" o = TypeInstanceGetPrivateMethodInfo
-    ResolveTypeInstanceMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeInstanceMethod t TypeInstance, O.MethodInfo info TypeInstance p) => OL.IsLabel t (TypeInstance -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeInstance.hs-boot b/GI/GObject/Structs/TypeInstance.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeInstance.hs-boot
+++ /dev/null
@@ -1,29 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeInstance where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeInstance = TypeInstance (ManagedPtr TypeInstance)
-instance WrappedPtr TypeInstance where
-#if ENABLE_OVERLOADING
-data TypeInstanceGetPrivateMethodInfo
-#endif
diff --git a/GI/GObject/Structs/TypeInterface.hs b/GI/GObject/Structs/TypeInterface.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeInterface.hs
+++ /dev/null
@@ -1,318 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-An opaque structure used as the base of all interface types.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeInterface
-    ( 
-
--- * Exported types
-    TypeInterface(..)                       ,
-    newZeroTypeInterface                    ,
-    noTypeInterface                         ,
-
-
- -- * Methods
--- ** addPrerequisite #method:addPrerequisite#
-
-    typeInterfaceAddPrerequisite            ,
-
-
--- ** getPlugin #method:getPlugin#
-
-    typeInterfaceGetPlugin                  ,
-
-
--- ** peek #method:peek#
-
-    typeInterfacePeek                       ,
-
-
--- ** peekParent #method:peekParent#
-
-#if ENABLE_OVERLOADING
-    TypeInterfacePeekParentMethodInfo       ,
-#endif
-    typeInterfacePeekParent                 ,
-
-
--- ** prerequisites #method:prerequisites#
-
-    typeInterfacePrerequisites              ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import {-# SOURCE #-} qualified GI.GObject.Interfaces.TypePlugin as GObject.TypePlugin
-import {-# SOURCE #-} qualified GI.GObject.Structs.TypeClass as GObject.TypeClass
-
--- | Memory-managed wrapper type.
-newtype TypeInterface = TypeInterface (ManagedPtr TypeInterface)
-instance WrappedPtr TypeInterface where
-    wrappedPtrCalloc = callocBytes 16
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr TypeInterface)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeInterface` struct initialized to zero.
-newZeroTypeInterface :: MonadIO m => m TypeInterface
-newZeroTypeInterface = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeInterface
-
-instance tag ~ 'AttrSet => Constructible TypeInterface tag where
-    new _ attrs = do
-        o <- newZeroTypeInterface
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeInterface`.
-noTypeInterface :: Maybe TypeInterface
-noTypeInterface = Nothing
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeInterface
-type instance O.AttributeList TypeInterface = TypeInterfaceAttributeList
-type TypeInterfaceAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
--- method TypeInterface::peek_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "g_iface", argType = TInterface (Name {namespace = "GObject", name = "TypeInterface"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeInterface structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeInterface"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_peek_parent" g_type_interface_peek_parent :: 
-    Ptr TypeInterface ->                    -- g_iface : TInterface (Name {namespace = "GObject", name = "TypeInterface"})
-    IO (Ptr TypeInterface)
-
-{- |
-Returns the corresponding 'GI.GObject.Structs.TypeInterface.TypeInterface' structure of the parent type
-of the instance type to which /@gIface@/ belongs. This is useful when
-deriving the implementation of an interface from the parent type and
-then possibly overriding some methods.
--}
-typeInterfacePeekParent ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    TypeInterface
-    {- ^ /@gIface@/: a 'GI.GObject.Structs.TypeInterface.TypeInterface' structure -}
-    -> m TypeInterface
-    {- ^ __Returns:__ the
-    corresponding 'GI.GObject.Structs.TypeInterface.TypeInterface' structure of the parent type of the
-    instance type to which /@gIface@/ belongs, or 'Nothing' if the parent
-    type doesn\'t conform to the interface -}
-typeInterfacePeekParent gIface = liftIO $ do
-    gIface' <- unsafeManagedPtrGetPtr gIface
-    result <- g_type_interface_peek_parent gIface'
-    checkUnexpectedReturnNULL "typeInterfacePeekParent" result
-    result' <- (newPtr TypeInterface) result
-    touchManagedPtr gIface
-    return result'
-
-#if ENABLE_OVERLOADING
-data TypeInterfacePeekParentMethodInfo
-instance (signature ~ (m TypeInterface), MonadIO m) => O.MethodInfo TypeInterfacePeekParentMethodInfo TypeInterface signature where
-    overloadedMethod _ = typeInterfacePeekParent
-
-#endif
-
--- method TypeInterface::add_prerequisite
--- method type : MemberFunction
--- Args : [Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType value of an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prerequisite_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType value of an interface or instantiatable type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_add_prerequisite" g_type_interface_add_prerequisite :: 
-    CGType ->                               -- interface_type : TBasicType TGType
-    CGType ->                               -- prerequisite_type : TBasicType TGType
-    IO ()
-
-{- |
-Adds /@prerequisiteType@/ to the list of prerequisites of /@interfaceType@/.
-This means that any type implementing /@interfaceType@/ must also implement
-/@prerequisiteType@/. Prerequisites can be thought of as an alternative to
-interface derivation (which GType doesn\'t support). An interface can have
-at most one instantiatable prerequisite type.
--}
-typeInterfaceAddPrerequisite ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@interfaceType@/: 'GType' value of an interface type -}
-    -> GType
-    {- ^ /@prerequisiteType@/: 'GType' value of an interface or instantiatable type -}
-    -> m ()
-typeInterfaceAddPrerequisite interfaceType prerequisiteType = liftIO $ do
-    let interfaceType' = gtypeToCGType interfaceType
-    let prerequisiteType' = gtypeToCGType prerequisiteType
-    g_type_interface_add_prerequisite interfaceType' prerequisiteType'
-    return ()
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method TypeInterface::get_plugin
--- method type : MemberFunction
--- Args : [Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType of an instantiatable type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType of an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypePlugin"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_get_plugin" g_type_interface_get_plugin :: 
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    IO (Ptr GObject.TypePlugin.TypePlugin)
-
-{- |
-Returns the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure for the dynamic interface
-/@interfaceType@/ which has been added to /@instanceType@/, or 'Nothing'
-if /@interfaceType@/ has not been added to /@instanceType@/ or does
-not have a 'GI.GObject.Interfaces.TypePlugin.TypePlugin' structure. See 'GI.GObject.Functions.typeAddInterfaceDynamic'.
--}
-typeInterfaceGetPlugin ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@instanceType@/: 'GType' of an instantiatable type -}
-    -> GType
-    {- ^ /@interfaceType@/: 'GType' of an interface type -}
-    -> m GObject.TypePlugin.TypePlugin
-    {- ^ __Returns:__ the 'GI.GObject.Interfaces.TypePlugin.TypePlugin' for the dynamic
-    interface /@interfaceType@/ of /@instanceType@/ -}
-typeInterfaceGetPlugin instanceType interfaceType = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    result <- g_type_interface_get_plugin instanceType' interfaceType'
-    checkUnexpectedReturnNULL "typeInterfaceGetPlugin" result
-    result' <- (newPtr GObject.TypePlugin.TypePlugin) result
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method TypeInterface::peek
--- method type : MemberFunction
--- Args : [Arg {argCName = "instance_class", argType = TInterface (Name {namespace = "GObject", name = "TypeClass"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTypeClass structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interface ID which this class conforms to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "TypeInterface"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_peek" g_type_interface_peek :: 
-    Ptr GObject.TypeClass.TypeClass ->      -- instance_class : TInterface (Name {namespace = "GObject", name = "TypeClass"})
-    CGType ->                               -- iface_type : TBasicType TGType
-    IO (Ptr TypeInterface)
-
-{- |
-Returns the 'GI.GObject.Structs.TypeInterface.TypeInterface' structure of an interface to which the
-passed in class conforms.
--}
-typeInterfacePeek ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GObject.TypeClass.TypeClass
-    {- ^ /@instanceClass@/: a 'GI.GObject.Structs.TypeClass.TypeClass' structure -}
-    -> GType
-    {- ^ /@ifaceType@/: an interface ID which this class conforms to -}
-    -> m TypeInterface
-    {- ^ __Returns:__ the 'GI.GObject.Structs.TypeInterface.TypeInterface'
-    structure of /@ifaceType@/ if implemented by /@instanceClass@/, 'Nothing'
-    otherwise -}
-typeInterfacePeek instanceClass ifaceType = liftIO $ do
-    instanceClass' <- unsafeManagedPtrGetPtr instanceClass
-    let ifaceType' = gtypeToCGType ifaceType
-    result <- g_type_interface_peek instanceClass' ifaceType'
-    checkUnexpectedReturnNULL "typeInterfacePeek" result
-    result' <- (newPtr TypeInterface) result
-    touchManagedPtr instanceClass
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method TypeInterface::prerequisites
--- method type : MemberFunction
--- Args : [Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interface type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_prerequisites", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return the number\n    of prerequisites, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_prerequisites", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return the number\n    of prerequisites, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- returnType : Just (TCArray False (-1) 1 (TBasicType TGType))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_prerequisites" g_type_interface_prerequisites :: 
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr Word32 ->                           -- n_prerequisites : TBasicType TUInt
-    IO (Ptr CGType)
-
-{- |
-Returns the prerequisites of an interfaces type.
-
-/Since: 2.2/
--}
-typeInterfacePrerequisites ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    GType
-    {- ^ /@interfaceType@/: an interface type -}
-    -> m [GType]
-    {- ^ __Returns:__ a
-    newly-allocated zero-terminated array of 'GType' containing
-    the prerequisites of /@interfaceType@/ -}
-typeInterfacePrerequisites interfaceType = liftIO $ do
-    let interfaceType' = gtypeToCGType interfaceType
-    nPrerequisites <- allocMem :: IO (Ptr Word32)
-    result <- g_type_interface_prerequisites interfaceType' nPrerequisites
-    nPrerequisites' <- peek nPrerequisites
-    checkUnexpectedReturnNULL "typeInterfacePrerequisites" result
-    result' <- (unpackMapStorableArrayWithLength GType nPrerequisites') result
-    freeMem result
-    freeMem nPrerequisites
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeInterfaceMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeInterfaceMethod "peekParent" o = TypeInterfacePeekParentMethodInfo
-    ResolveTypeInterfaceMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeInterfaceMethod t TypeInterface, O.MethodInfo info TypeInterface p) => OL.IsLabel t (TypeInterface -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeInterface.hs-boot b/GI/GObject/Structs/TypeInterface.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeInterface.hs-boot
+++ /dev/null
@@ -1,29 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeInterface where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeInterface = TypeInterface (ManagedPtr TypeInterface)
-instance WrappedPtr TypeInterface where
-#if ENABLE_OVERLOADING
-data TypeInterfacePeekParentMethodInfo
-#endif
diff --git a/GI/GObject/Structs/TypeQuery.hs b/GI/GObject/Structs/TypeQuery.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeQuery.hs
+++ /dev/null
@@ -1,330 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure holding information for a specific type.
-It is filled in by the 'GI.GObject.Functions.typeQuery' function.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeQuery
-    ( 
-
--- * Exported types
-    TypeQuery(..)                           ,
-    newZeroTypeQuery                        ,
-    noTypeQuery                             ,
-
-
- -- * Properties
--- ** classSize #attr:classSize#
-{- | the size of the class structure
--}
-    getTypeQueryClassSize                   ,
-    setTypeQueryClassSize                   ,
-#if ENABLE_OVERLOADING
-    typeQuery_classSize                     ,
-#endif
-
-
--- ** instanceSize #attr:instanceSize#
-{- | the size of the instance structure
--}
-    getTypeQueryInstanceSize                ,
-    setTypeQueryInstanceSize                ,
-#if ENABLE_OVERLOADING
-    typeQuery_instanceSize                  ,
-#endif
-
-
--- ** type #attr:type#
-{- | the 'GType' value of the type
--}
-    getTypeQueryType                        ,
-    setTypeQueryType                        ,
-#if ENABLE_OVERLOADING
-    typeQuery_type                          ,
-#endif
-
-
--- ** typeName #attr:typeName#
-{- | the name of the type
--}
-    clearTypeQueryTypeName                  ,
-    getTypeQueryTypeName                    ,
-    setTypeQueryTypeName                    ,
-#if ENABLE_OVERLOADING
-    typeQuery_typeName                      ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype TypeQuery = TypeQuery (ManagedPtr TypeQuery)
-instance WrappedPtr TypeQuery where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr TypeQuery)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeQuery` struct initialized to zero.
-newZeroTypeQuery :: MonadIO m => m TypeQuery
-newZeroTypeQuery = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeQuery
-
-instance tag ~ 'AttrSet => Constructible TypeQuery tag where
-    new _ attrs = do
-        o <- newZeroTypeQuery
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeQuery`.
-noTypeQuery :: Maybe TypeQuery
-noTypeQuery = Nothing
-
-{- |
-Get the value of the “@type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeQuery #type
-@
--}
-getTypeQueryType :: MonadIO m => TypeQuery -> m GType
-getTypeQueryType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CGType
-    let val' = GType val
-    return val'
-
-{- |
-Set the value of the “@type@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeQuery [ #type 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeQueryType :: MonadIO m => TypeQuery -> GType -> m ()
-setTypeQueryType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 0) (val' :: CGType)
-
-#if ENABLE_OVERLOADING
-data TypeQueryTypeFieldInfo
-instance AttrInfo TypeQueryTypeFieldInfo where
-    type AttrAllowedOps TypeQueryTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeQueryTypeFieldInfo = (~) GType
-    type AttrBaseTypeConstraint TypeQueryTypeFieldInfo = (~) TypeQuery
-    type AttrGetType TypeQueryTypeFieldInfo = GType
-    type AttrLabel TypeQueryTypeFieldInfo = "type"
-    type AttrOrigin TypeQueryTypeFieldInfo = TypeQuery
-    attrGet _ = getTypeQueryType
-    attrSet _ = setTypeQueryType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeQuery_type :: AttrLabelProxy "type"
-typeQuery_type = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@type_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeQuery #typeName
-@
--}
-getTypeQueryTypeName :: MonadIO m => TypeQuery -> m (Maybe T.Text)
-getTypeQueryTypeName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@type_name@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeQuery [ #typeName 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeQueryTypeName :: MonadIO m => TypeQuery -> CString -> m ()
-setTypeQueryTypeName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-{- |
-Set the value of the “@type_name@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #typeName
-@
--}
-clearTypeQueryTypeName :: MonadIO m => TypeQuery -> m ()
-clearTypeQueryTypeName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data TypeQueryTypeNameFieldInfo
-instance AttrInfo TypeQueryTypeNameFieldInfo where
-    type AttrAllowedOps TypeQueryTypeNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeQueryTypeNameFieldInfo = (~) CString
-    type AttrBaseTypeConstraint TypeQueryTypeNameFieldInfo = (~) TypeQuery
-    type AttrGetType TypeQueryTypeNameFieldInfo = Maybe T.Text
-    type AttrLabel TypeQueryTypeNameFieldInfo = "type_name"
-    type AttrOrigin TypeQueryTypeNameFieldInfo = TypeQuery
-    attrGet _ = getTypeQueryTypeName
-    attrSet _ = setTypeQueryTypeName
-    attrConstruct = undefined
-    attrClear _ = clearTypeQueryTypeName
-
-typeQuery_typeName :: AttrLabelProxy "typeName"
-typeQuery_typeName = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@class_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeQuery #classSize
-@
--}
-getTypeQueryClassSize :: MonadIO m => TypeQuery -> m Word32
-getTypeQueryClassSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@class_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeQuery [ #classSize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeQueryClassSize :: MonadIO m => TypeQuery -> Word32 -> m ()
-setTypeQueryClassSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data TypeQueryClassSizeFieldInfo
-instance AttrInfo TypeQueryClassSizeFieldInfo where
-    type AttrAllowedOps TypeQueryClassSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeQueryClassSizeFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint TypeQueryClassSizeFieldInfo = (~) TypeQuery
-    type AttrGetType TypeQueryClassSizeFieldInfo = Word32
-    type AttrLabel TypeQueryClassSizeFieldInfo = "class_size"
-    type AttrOrigin TypeQueryClassSizeFieldInfo = TypeQuery
-    attrGet _ = getTypeQueryClassSize
-    attrSet _ = setTypeQueryClassSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeQuery_classSize :: AttrLabelProxy "classSize"
-typeQuery_classSize = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@instance_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeQuery #instanceSize
-@
--}
-getTypeQueryInstanceSize :: MonadIO m => TypeQuery -> m Word32
-getTypeQueryInstanceSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@instance_size@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeQuery [ #instanceSize 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeQueryInstanceSize :: MonadIO m => TypeQuery -> Word32 -> m ()
-setTypeQueryInstanceSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 20) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data TypeQueryInstanceSizeFieldInfo
-instance AttrInfo TypeQueryInstanceSizeFieldInfo where
-    type AttrAllowedOps TypeQueryInstanceSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeQueryInstanceSizeFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint TypeQueryInstanceSizeFieldInfo = (~) TypeQuery
-    type AttrGetType TypeQueryInstanceSizeFieldInfo = Word32
-    type AttrLabel TypeQueryInstanceSizeFieldInfo = "instance_size"
-    type AttrOrigin TypeQueryInstanceSizeFieldInfo = TypeQuery
-    attrGet _ = getTypeQueryInstanceSize
-    attrSet _ = setTypeQueryInstanceSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeQuery_instanceSize :: AttrLabelProxy "instanceSize"
-typeQuery_instanceSize = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeQuery
-type instance O.AttributeList TypeQuery = TypeQueryAttributeList
-type TypeQueryAttributeList = ('[ '("type", TypeQueryTypeFieldInfo), '("typeName", TypeQueryTypeNameFieldInfo), '("classSize", TypeQueryClassSizeFieldInfo), '("instanceSize", TypeQueryInstanceSizeFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeQueryMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeQueryMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeQueryMethod t TypeQuery, O.MethodInfo info TypeQuery p) => OL.IsLabel t (TypeQuery -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeQuery.hs-boot b/GI/GObject/Structs/TypeQuery.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeQuery.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeQuery where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeQuery = TypeQuery (ManagedPtr TypeQuery)
-instance WrappedPtr TypeQuery where
diff --git a/GI/GObject/Structs/TypeValueTable.hs b/GI/GObject/Structs/TypeValueTable.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypeValueTable.hs
+++ /dev/null
@@ -1,674 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-The 'GI.GObject.Structs.TypeValueTable.TypeValueTable' provides the functions required by the 'GI.GObject.Structs.Value.Value'
-implementation, to serve as a container for values of a type.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.TypeValueTable
-    ( 
-
--- * Exported types
-    TypeValueTable(..)                      ,
-    newZeroTypeValueTable                   ,
-    noTypeValueTable                        ,
-
-
- -- * Properties
--- ** collectFormat #attr:collectFormat#
-{- | A string format describing how to collect the contents of
- this value bit-by-bit. Each character in the format represents
- an argument to be collected, and the characters themselves indicate
- the type of the argument. Currently supported arguments are:
- - \'i\' - Integers. passed as collect_values[].v_int.
- - \'l\' - Longs. passed as collect_values[].v_long.
- - \'d\' - Doubles. passed as collect_values[].v_double.
- - \'p\' - Pointers. passed as collect_values[].v_pointer.
- It should be noted that for variable argument list construction,
- ANSI C promotes every type smaller than an integer to an int, and
- floats to doubles. So for collection of short int or char, \'i\'
- needs to be used, and for collection of floats \'d\'.
--}
-    clearTypeValueTableCollectFormat        ,
-    getTypeValueTableCollectFormat          ,
-    setTypeValueTableCollectFormat          ,
-#if ENABLE_OVERLOADING
-    typeValueTable_collectFormat            ,
-#endif
-
-
--- ** collectValue #attr:collectValue#
-{- | /No description available in the introspection data./
--}
-    clearTypeValueTableCollectValue         ,
-    getTypeValueTableCollectValue           ,
-    setTypeValueTableCollectValue           ,
-#if ENABLE_OVERLOADING
-    typeValueTable_collectValue             ,
-#endif
-
-
--- ** lcopyFormat #attr:lcopyFormat#
-{- | Format description of the arguments to collect for /@lcopyValue@/,
- analogous to /@collectFormat@/. Usually, /@lcopyFormat@/ string consists
- only of \'p\'s to provide @/lcopy_value()/@ with pointers to storage locations.
--}
-    clearTypeValueTableLcopyFormat          ,
-    getTypeValueTableLcopyFormat            ,
-    setTypeValueTableLcopyFormat            ,
-#if ENABLE_OVERLOADING
-    typeValueTable_lcopyFormat              ,
-#endif
-
-
--- ** lcopyValue #attr:lcopyValue#
-{- | /No description available in the introspection data./
--}
-    clearTypeValueTableLcopyValue           ,
-    getTypeValueTableLcopyValue             ,
-    setTypeValueTableLcopyValue             ,
-#if ENABLE_OVERLOADING
-    typeValueTable_lcopyValue               ,
-#endif
-
-
--- ** valueCopy #attr:valueCopy#
-{- | /No description available in the introspection data./
--}
-    clearTypeValueTableValueCopy            ,
-    getTypeValueTableValueCopy              ,
-    setTypeValueTableValueCopy              ,
-#if ENABLE_OVERLOADING
-    typeValueTable_valueCopy                ,
-#endif
-
-
--- ** valueFree #attr:valueFree#
-{- | /No description available in the introspection data./
--}
-    clearTypeValueTableValueFree            ,
-    getTypeValueTableValueFree              ,
-    setTypeValueTableValueFree              ,
-#if ENABLE_OVERLOADING
-    typeValueTable_valueFree                ,
-#endif
-
-
--- ** valueInit #attr:valueInit#
-{- | /No description available in the introspection data./
--}
-    clearTypeValueTableValueInit            ,
-    getTypeValueTableValueInit              ,
-    setTypeValueTableValueInit              ,
-#if ENABLE_OVERLOADING
-    typeValueTable_valueInit                ,
-#endif
-
-
--- ** valuePeekPointer #attr:valuePeekPointer#
-{- | /No description available in the introspection data./
--}
-    clearTypeValueTableValuePeekPointer     ,
-    getTypeValueTableValuePeekPointer       ,
-    setTypeValueTableValuePeekPointer       ,
-#if ENABLE_OVERLOADING
-    typeValueTable_valuePeekPointer         ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GObject.Callbacks as GObject.Callbacks
-
--- | Memory-managed wrapper type.
-newtype TypeValueTable = TypeValueTable (ManagedPtr TypeValueTable)
-instance WrappedPtr TypeValueTable where
-    wrappedPtrCalloc = callocBytes 64
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr TypeValueTable)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeValueTable` struct initialized to zero.
-newZeroTypeValueTable :: MonadIO m => m TypeValueTable
-newZeroTypeValueTable = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeValueTable
-
-instance tag ~ 'AttrSet => Constructible TypeValueTable tag where
-    new _ attrs = do
-        o <- newZeroTypeValueTable
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeValueTable`.
-noTypeValueTable :: Maybe TypeValueTable
-noTypeValueTable = Nothing
-
-{- |
-Get the value of the “@value_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #valueInit
-@
--}
-getTypeValueTableValueInit :: MonadIO m => TypeValueTable -> m (Maybe GObject.Callbacks.TypeValueTableValueInitFieldCallback)
-getTypeValueTableValueInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GObject.Callbacks.C_TypeValueTableValueInitFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_TypeValueTableValueInitFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_init@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #valueInit 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableValueInit :: MonadIO m => TypeValueTable -> FunPtr GObject.Callbacks.C_TypeValueTableValueInitFieldCallback -> m ()
-setTypeValueTableValueInit s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: FunPtr GObject.Callbacks.C_TypeValueTableValueInitFieldCallback)
-
-{- |
-Set the value of the “@value_init@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueInit
-@
--}
-clearTypeValueTableValueInit :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableValueInit s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_TypeValueTableValueInitFieldCallback)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableValueInitFieldInfo
-instance AttrInfo TypeValueTableValueInitFieldInfo where
-    type AttrAllowedOps TypeValueTableValueInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableValueInitFieldInfo = (~) (FunPtr GObject.Callbacks.C_TypeValueTableValueInitFieldCallback)
-    type AttrBaseTypeConstraint TypeValueTableValueInitFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableValueInitFieldInfo = Maybe GObject.Callbacks.TypeValueTableValueInitFieldCallback
-    type AttrLabel TypeValueTableValueInitFieldInfo = "value_init"
-    type AttrOrigin TypeValueTableValueInitFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableValueInit
-    attrSet _ = setTypeValueTableValueInit
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableValueInit
-
-typeValueTable_valueInit :: AttrLabelProxy "valueInit"
-typeValueTable_valueInit = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_free@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #valueFree
-@
--}
-getTypeValueTableValueFree :: MonadIO m => TypeValueTable -> m (Maybe GObject.Callbacks.TypeValueTableValueFreeFieldCallback)
-getTypeValueTableValueFree s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GObject.Callbacks.C_TypeValueTableValueFreeFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_TypeValueTableValueFreeFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_free@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #valueFree 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableValueFree :: MonadIO m => TypeValueTable -> FunPtr GObject.Callbacks.C_TypeValueTableValueFreeFieldCallback -> m ()
-setTypeValueTableValueFree s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: FunPtr GObject.Callbacks.C_TypeValueTableValueFreeFieldCallback)
-
-{- |
-Set the value of the “@value_free@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueFree
-@
--}
-clearTypeValueTableValueFree :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableValueFree s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_TypeValueTableValueFreeFieldCallback)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableValueFreeFieldInfo
-instance AttrInfo TypeValueTableValueFreeFieldInfo where
-    type AttrAllowedOps TypeValueTableValueFreeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableValueFreeFieldInfo = (~) (FunPtr GObject.Callbacks.C_TypeValueTableValueFreeFieldCallback)
-    type AttrBaseTypeConstraint TypeValueTableValueFreeFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableValueFreeFieldInfo = Maybe GObject.Callbacks.TypeValueTableValueFreeFieldCallback
-    type AttrLabel TypeValueTableValueFreeFieldInfo = "value_free"
-    type AttrOrigin TypeValueTableValueFreeFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableValueFree
-    attrSet _ = setTypeValueTableValueFree
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableValueFree
-
-typeValueTable_valueFree :: AttrLabelProxy "valueFree"
-typeValueTable_valueFree = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_copy@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #valueCopy
-@
--}
-getTypeValueTableValueCopy :: MonadIO m => TypeValueTable -> m (Maybe GObject.Callbacks.TypeValueTableValueCopyFieldCallback)
-getTypeValueTableValueCopy s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr GObject.Callbacks.C_TypeValueTableValueCopyFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_TypeValueTableValueCopyFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_copy@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #valueCopy 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableValueCopy :: MonadIO m => TypeValueTable -> FunPtr GObject.Callbacks.C_TypeValueTableValueCopyFieldCallback -> m ()
-setTypeValueTableValueCopy s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: FunPtr GObject.Callbacks.C_TypeValueTableValueCopyFieldCallback)
-
-{- |
-Set the value of the “@value_copy@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valueCopy
-@
--}
-clearTypeValueTableValueCopy :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableValueCopy s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_TypeValueTableValueCopyFieldCallback)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableValueCopyFieldInfo
-instance AttrInfo TypeValueTableValueCopyFieldInfo where
-    type AttrAllowedOps TypeValueTableValueCopyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableValueCopyFieldInfo = (~) (FunPtr GObject.Callbacks.C_TypeValueTableValueCopyFieldCallback)
-    type AttrBaseTypeConstraint TypeValueTableValueCopyFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableValueCopyFieldInfo = Maybe GObject.Callbacks.TypeValueTableValueCopyFieldCallback
-    type AttrLabel TypeValueTableValueCopyFieldInfo = "value_copy"
-    type AttrOrigin TypeValueTableValueCopyFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableValueCopy
-    attrSet _ = setTypeValueTableValueCopy
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableValueCopy
-
-typeValueTable_valueCopy :: AttrLabelProxy "valueCopy"
-typeValueTable_valueCopy = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@value_peek_pointer@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #valuePeekPointer
-@
--}
-getTypeValueTableValuePeekPointer :: MonadIO m => TypeValueTable -> m (Maybe GObject.Callbacks.TypeValueTableValuePeekPointerFieldCallback)
-getTypeValueTableValuePeekPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GObject.Callbacks.C_TypeValueTableValuePeekPointerFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_TypeValueTableValuePeekPointerFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@value_peek_pointer@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #valuePeekPointer 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableValuePeekPointer :: MonadIO m => TypeValueTable -> FunPtr GObject.Callbacks.C_TypeValueTableValuePeekPointerFieldCallback -> m ()
-setTypeValueTableValuePeekPointer s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (val :: FunPtr GObject.Callbacks.C_TypeValueTableValuePeekPointerFieldCallback)
-
-{- |
-Set the value of the “@value_peek_pointer@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #valuePeekPointer
-@
--}
-clearTypeValueTableValuePeekPointer :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableValuePeekPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_TypeValueTableValuePeekPointerFieldCallback)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableValuePeekPointerFieldInfo
-instance AttrInfo TypeValueTableValuePeekPointerFieldInfo where
-    type AttrAllowedOps TypeValueTableValuePeekPointerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableValuePeekPointerFieldInfo = (~) (FunPtr GObject.Callbacks.C_TypeValueTableValuePeekPointerFieldCallback)
-    type AttrBaseTypeConstraint TypeValueTableValuePeekPointerFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableValuePeekPointerFieldInfo = Maybe GObject.Callbacks.TypeValueTableValuePeekPointerFieldCallback
-    type AttrLabel TypeValueTableValuePeekPointerFieldInfo = "value_peek_pointer"
-    type AttrOrigin TypeValueTableValuePeekPointerFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableValuePeekPointer
-    attrSet _ = setTypeValueTableValuePeekPointer
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableValuePeekPointer
-
-typeValueTable_valuePeekPointer :: AttrLabelProxy "valuePeekPointer"
-typeValueTable_valuePeekPointer = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@collect_format@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #collectFormat
-@
--}
-getTypeValueTableCollectFormat :: MonadIO m => TypeValueTable -> m (Maybe T.Text)
-getTypeValueTableCollectFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@collect_format@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #collectFormat 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableCollectFormat :: MonadIO m => TypeValueTable -> CString -> m ()
-setTypeValueTableCollectFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (val :: CString)
-
-{- |
-Set the value of the “@collect_format@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #collectFormat
-@
--}
-clearTypeValueTableCollectFormat :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableCollectFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableCollectFormatFieldInfo
-instance AttrInfo TypeValueTableCollectFormatFieldInfo where
-    type AttrAllowedOps TypeValueTableCollectFormatFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableCollectFormatFieldInfo = (~) CString
-    type AttrBaseTypeConstraint TypeValueTableCollectFormatFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableCollectFormatFieldInfo = Maybe T.Text
-    type AttrLabel TypeValueTableCollectFormatFieldInfo = "collect_format"
-    type AttrOrigin TypeValueTableCollectFormatFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableCollectFormat
-    attrSet _ = setTypeValueTableCollectFormat
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableCollectFormat
-
-typeValueTable_collectFormat :: AttrLabelProxy "collectFormat"
-typeValueTable_collectFormat = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@collect_value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #collectValue
-@
--}
-getTypeValueTableCollectValue :: MonadIO m => TypeValueTable -> m (Maybe GObject.Callbacks.TypeValueTableCollectValueFieldCallback)
-getTypeValueTableCollectValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr GObject.Callbacks.C_TypeValueTableCollectValueFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_TypeValueTableCollectValueFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@collect_value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #collectValue 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableCollectValue :: MonadIO m => TypeValueTable -> FunPtr GObject.Callbacks.C_TypeValueTableCollectValueFieldCallback -> m ()
-setTypeValueTableCollectValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (val :: FunPtr GObject.Callbacks.C_TypeValueTableCollectValueFieldCallback)
-
-{- |
-Set the value of the “@collect_value@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #collectValue
-@
--}
-clearTypeValueTableCollectValue :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableCollectValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_TypeValueTableCollectValueFieldCallback)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableCollectValueFieldInfo
-instance AttrInfo TypeValueTableCollectValueFieldInfo where
-    type AttrAllowedOps TypeValueTableCollectValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableCollectValueFieldInfo = (~) (FunPtr GObject.Callbacks.C_TypeValueTableCollectValueFieldCallback)
-    type AttrBaseTypeConstraint TypeValueTableCollectValueFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableCollectValueFieldInfo = Maybe GObject.Callbacks.TypeValueTableCollectValueFieldCallback
-    type AttrLabel TypeValueTableCollectValueFieldInfo = "collect_value"
-    type AttrOrigin TypeValueTableCollectValueFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableCollectValue
-    attrSet _ = setTypeValueTableCollectValue
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableCollectValue
-
-typeValueTable_collectValue :: AttrLabelProxy "collectValue"
-typeValueTable_collectValue = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@lcopy_format@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #lcopyFormat
-@
--}
-getTypeValueTableLcopyFormat :: MonadIO m => TypeValueTable -> m (Maybe T.Text)
-getTypeValueTableLcopyFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CString
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@lcopy_format@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #lcopyFormat 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableLcopyFormat :: MonadIO m => TypeValueTable -> CString -> m ()
-setTypeValueTableLcopyFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (val :: CString)
-
-{- |
-Set the value of the “@lcopy_format@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #lcopyFormat
-@
--}
-clearTypeValueTableLcopyFormat :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableLcopyFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (FP.nullPtr :: CString)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableLcopyFormatFieldInfo
-instance AttrInfo TypeValueTableLcopyFormatFieldInfo where
-    type AttrAllowedOps TypeValueTableLcopyFormatFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableLcopyFormatFieldInfo = (~) CString
-    type AttrBaseTypeConstraint TypeValueTableLcopyFormatFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableLcopyFormatFieldInfo = Maybe T.Text
-    type AttrLabel TypeValueTableLcopyFormatFieldInfo = "lcopy_format"
-    type AttrOrigin TypeValueTableLcopyFormatFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableLcopyFormat
-    attrSet _ = setTypeValueTableLcopyFormat
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableLcopyFormat
-
-typeValueTable_lcopyFormat :: AttrLabelProxy "lcopyFormat"
-typeValueTable_lcopyFormat = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@lcopy_value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' typeValueTable #lcopyValue
-@
--}
-getTypeValueTableLcopyValue :: MonadIO m => TypeValueTable -> m (Maybe GObject.Callbacks.TypeValueTableLcopyValueFieldCallback)
-getTypeValueTableLcopyValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 56) :: IO (FunPtr GObject.Callbacks.C_TypeValueTableLcopyValueFieldCallback)
-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do
-        let val'' = GObject.Callbacks.dynamic_TypeValueTableLcopyValueFieldCallback val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@lcopy_value@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' typeValueTable [ #lcopyValue 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setTypeValueTableLcopyValue :: MonadIO m => TypeValueTable -> FunPtr GObject.Callbacks.C_TypeValueTableLcopyValueFieldCallback -> m ()
-setTypeValueTableLcopyValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 56) (val :: FunPtr GObject.Callbacks.C_TypeValueTableLcopyValueFieldCallback)
-
-{- |
-Set the value of the “@lcopy_value@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #lcopyValue
-@
--}
-clearTypeValueTableLcopyValue :: MonadIO m => TypeValueTable -> m ()
-clearTypeValueTableLcopyValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 56) (FP.nullFunPtr :: FunPtr GObject.Callbacks.C_TypeValueTableLcopyValueFieldCallback)
-
-#if ENABLE_OVERLOADING
-data TypeValueTableLcopyValueFieldInfo
-instance AttrInfo TypeValueTableLcopyValueFieldInfo where
-    type AttrAllowedOps TypeValueTableLcopyValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeValueTableLcopyValueFieldInfo = (~) (FunPtr GObject.Callbacks.C_TypeValueTableLcopyValueFieldCallback)
-    type AttrBaseTypeConstraint TypeValueTableLcopyValueFieldInfo = (~) TypeValueTable
-    type AttrGetType TypeValueTableLcopyValueFieldInfo = Maybe GObject.Callbacks.TypeValueTableLcopyValueFieldCallback
-    type AttrLabel TypeValueTableLcopyValueFieldInfo = "lcopy_value"
-    type AttrOrigin TypeValueTableLcopyValueFieldInfo = TypeValueTable
-    attrGet _ = getTypeValueTableLcopyValue
-    attrSet _ = setTypeValueTableLcopyValue
-    attrConstruct = undefined
-    attrClear _ = clearTypeValueTableLcopyValue
-
-typeValueTable_lcopyValue :: AttrLabelProxy "lcopyValue"
-typeValueTable_lcopyValue = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeValueTable
-type instance O.AttributeList TypeValueTable = TypeValueTableAttributeList
-type TypeValueTableAttributeList = ('[ '("valueInit", TypeValueTableValueInitFieldInfo), '("valueFree", TypeValueTableValueFreeFieldInfo), '("valueCopy", TypeValueTableValueCopyFieldInfo), '("valuePeekPointer", TypeValueTableValuePeekPointerFieldInfo), '("collectFormat", TypeValueTableCollectFormatFieldInfo), '("collectValue", TypeValueTableCollectValueFieldInfo), '("lcopyFormat", TypeValueTableLcopyFormatFieldInfo), '("lcopyValue", TypeValueTableLcopyValueFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeValueTableMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeValueTableMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeValueTableMethod t TypeValueTable, O.MethodInfo info TypeValueTable p) => OL.IsLabel t (TypeValueTable -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/TypeValueTable.hs-boot b/GI/GObject/Structs/TypeValueTable.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypeValueTable.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.TypeValueTable where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeValueTable = TypeValueTable (ManagedPtr TypeValueTable)
-instance WrappedPtr TypeValueTable where
diff --git a/GI/GObject/Structs/ValueArray.hs b/GI/GObject/Structs/ValueArray.hs
deleted file mode 100644
--- a/GI/GObject/Structs/ValueArray.hs
+++ /dev/null
@@ -1,634 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A 'GI.GObject.Structs.ValueArray.ValueArray' contains an array of 'GI.GObject.Structs.Value.Value' elements.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.ValueArray
-    ( 
-
--- * Exported types
-    ValueArray(..)                          ,
-    newZeroValueArray                       ,
-    noValueArray                            ,
-
-
- -- * Methods
--- ** append #method:append#
-
-#if ENABLE_OVERLOADING
-    ValueArrayAppendMethodInfo              ,
-#endif
-    valueArrayAppend                        ,
-
-
--- ** copy #method:copy#
-
-#if ENABLE_OVERLOADING
-    ValueArrayCopyMethodInfo                ,
-#endif
-    valueArrayCopy                          ,
-
-
--- ** getNth #method:getNth#
-
-#if ENABLE_OVERLOADING
-    ValueArrayGetNthMethodInfo              ,
-#endif
-    valueArrayGetNth                        ,
-
-
--- ** insert #method:insert#
-
-#if ENABLE_OVERLOADING
-    ValueArrayInsertMethodInfo              ,
-#endif
-    valueArrayInsert                        ,
-
-
--- ** new #method:new#
-
-    valueArrayNew                           ,
-
-
--- ** prepend #method:prepend#
-
-#if ENABLE_OVERLOADING
-    ValueArrayPrependMethodInfo             ,
-#endif
-    valueArrayPrepend                       ,
-
-
--- ** remove #method:remove#
-
-#if ENABLE_OVERLOADING
-    ValueArrayRemoveMethodInfo              ,
-#endif
-    valueArrayRemove                        ,
-
-
--- ** sort #method:sort#
-
-#if ENABLE_OVERLOADING
-    ValueArraySortMethodInfo                ,
-#endif
-    valueArraySort                          ,
-
-
-
-
- -- * Properties
--- ** nValues #attr:nValues#
-{- | number of values contained in the array
--}
-    getValueArrayNValues                    ,
-    setValueArrayNValues                    ,
-#if ENABLE_OVERLOADING
-    valueArray_nValues                      ,
-#endif
-
-
--- ** values #attr:values#
-{- | array of values
--}
-    clearValueArrayValues                   ,
-    getValueArrayValues                     ,
-    setValueArrayValues                     ,
-#if ENABLE_OVERLOADING
-    valueArray_values                       ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-import qualified GI.GLib.Callbacks as GLib.Callbacks
-
--- | Memory-managed wrapper type.
-newtype ValueArray = ValueArray (ManagedPtr ValueArray)
-foreign import ccall "g_value_array_get_type" c_g_value_array_get_type :: 
-    IO GType
-
-instance BoxedObject ValueArray where
-    boxedType _ = c_g_value_array_get_type
-
--- | Construct a `ValueArray` struct initialized to zero.
-newZeroValueArray :: MonadIO m => m ValueArray
-newZeroValueArray = liftIO $ callocBoxedBytes 24 >>= wrapBoxed ValueArray
-
-instance tag ~ 'AttrSet => Constructible ValueArray tag where
-    new _ attrs = do
-        o <- newZeroValueArray
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `ValueArray`.
-noValueArray :: Maybe ValueArray
-noValueArray = Nothing
-
-{- |
-Get the value of the “@n_values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' valueArray #nValues
-@
--}
-getValueArrayNValues :: MonadIO m => ValueArray -> m Word32
-getValueArrayNValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@n_values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' valueArray [ #nValues 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValueArrayNValues :: MonadIO m => ValueArray -> Word32 -> m ()
-setValueArrayNValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data ValueArrayNValuesFieldInfo
-instance AttrInfo ValueArrayNValuesFieldInfo where
-    type AttrAllowedOps ValueArrayNValuesFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ValueArrayNValuesFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint ValueArrayNValuesFieldInfo = (~) ValueArray
-    type AttrGetType ValueArrayNValuesFieldInfo = Word32
-    type AttrLabel ValueArrayNValuesFieldInfo = "n_values"
-    type AttrOrigin ValueArrayNValuesFieldInfo = ValueArray
-    attrGet _ = getValueArrayNValues
-    attrSet _ = setValueArrayNValues
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-valueArray_nValues :: AttrLabelProxy "nValues"
-valueArray_nValues = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' valueArray #values
-@
--}
-getValueArrayValues :: MonadIO m => ValueArray -> m (Maybe GValue)
-getValueArrayValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)
-    result <- SP.convertIfNonNull val $ \val' -> do
-        val'' <- (newBoxed GValue) val'
-        return val''
-    return result
-
-{- |
-Set the value of the “@values@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' valueArray [ #values 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValueArrayValues :: MonadIO m => ValueArray -> Ptr GValue -> m ()
-setValueArrayValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Ptr GValue)
-
-{- |
-Set the value of the “@values@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #values
-@
--}
-clearValueArrayValues :: MonadIO m => ValueArray -> m ()
-clearValueArrayValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr GValue)
-
-#if ENABLE_OVERLOADING
-data ValueArrayValuesFieldInfo
-instance AttrInfo ValueArrayValuesFieldInfo where
-    type AttrAllowedOps ValueArrayValuesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ValueArrayValuesFieldInfo = (~) (Ptr GValue)
-    type AttrBaseTypeConstraint ValueArrayValuesFieldInfo = (~) ValueArray
-    type AttrGetType ValueArrayValuesFieldInfo = Maybe GValue
-    type AttrLabel ValueArrayValuesFieldInfo = "values"
-    type AttrOrigin ValueArrayValuesFieldInfo = ValueArray
-    attrGet _ = getValueArrayValues
-    attrSet _ = setValueArrayValues
-    attrConstruct = undefined
-    attrClear _ = clearValueArrayValues
-
-valueArray_values :: AttrLabelProxy "values"
-valueArray_values = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList ValueArray
-type instance O.AttributeList ValueArray = ValueArrayAttributeList
-type ValueArrayAttributeList = ('[ '("nValues", ValueArrayNValuesFieldInfo), '("values", ValueArrayValuesFieldInfo)] :: [(Symbol, *)])
-#endif
-
--- method ValueArray::new
--- method type : Constructor
--- Args : [Arg {argCName = "n_prealloced", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of values to preallocate space for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_new" g_value_array_new :: 
-    Word32 ->                               -- n_prealloced : TBasicType TUInt
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayNew ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_sized_new()/@ instead."] #-}
-{- |
-Allocate and initialize a new 'GI.GObject.Structs.ValueArray.ValueArray', optionally preserve space
-for /@nPrealloced@/ elements. New arrays always contain 0 elements,
-regardless of the value of /@nPrealloced@/.
--}
-valueArrayNew ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    Word32
-    {- ^ /@nPrealloced@/: number of values to preallocate space for -}
-    -> m ValueArray
-    {- ^ __Returns:__ a newly allocated 'GI.GObject.Structs.ValueArray.ValueArray' with 0 values -}
-valueArrayNew nPrealloced = liftIO $ do
-    result <- g_value_array_new nPrealloced
-    checkUnexpectedReturnNULL "valueArrayNew" result
-    result' <- (wrapBoxed ValueArray) result
-    return result'
-
-#if ENABLE_OVERLOADING
-#endif
-
--- method ValueArray::append
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to add an element to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GValue to copy into #GValueArray, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_append" g_value_array_append :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayAppend ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_append_val()/@ instead."] #-}
-{- |
-Insert a copy of /@value@/ as last element of /@valueArray@/. If /@value@/ is
-'Nothing', an uninitialized value is appended.
--}
-valueArrayAppend ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to add an element to -}
-    -> Maybe (GValue)
-    {- ^ /@value@/: 'GI.GObject.Structs.Value.Value' to copy into 'GI.GObject.Structs.ValueArray.ValueArray', or 'Nothing' -}
-    -> m ValueArray
-    {- ^ __Returns:__ the 'GI.GObject.Structs.ValueArray.ValueArray' passed in as /@valueArray@/ -}
-valueArrayAppend valueArray value = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    maybeValue <- case value of
-        Nothing -> return nullPtr
-        Just jValue -> do
-            jValue' <- unsafeManagedPtrGetPtr jValue
-            return jValue'
-    result <- g_value_array_append valueArray' maybeValue
-    checkUnexpectedReturnNULL "valueArrayAppend" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr valueArray
-    whenJust value touchManagedPtr
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArrayAppendMethodInfo
-instance (signature ~ (Maybe (GValue) -> m ValueArray), MonadIO m) => O.MethodInfo ValueArrayAppendMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayAppend
-
-#endif
-
--- method ValueArray::copy
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_copy" g_value_array_copy :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayCopy ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_ref()/@ instead."] #-}
-{- |
-Construct an exact copy of a 'GI.GObject.Structs.ValueArray.ValueArray' by duplicating all its
-contents.
--}
-valueArrayCopy ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to copy -}
-    -> m ValueArray
-    {- ^ __Returns:__ Newly allocated copy of 'GI.GObject.Structs.ValueArray.ValueArray' -}
-valueArrayCopy valueArray = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    result <- g_value_array_copy valueArray'
-    checkUnexpectedReturnNULL "valueArrayCopy" result
-    result' <- (wrapBoxed ValueArray) result
-    touchManagedPtr valueArray
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArrayCopyMethodInfo
-instance (signature ~ (m ValueArray), MonadIO m) => O.MethodInfo ValueArrayCopyMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayCopy
-
-#endif
-
--- method ValueArray::get_nth
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to get a value from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the value of interest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_get_nth" g_value_array_get_nth :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    Word32 ->                               -- index_ : TBasicType TUInt
-    IO (Ptr GValue)
-
-{-# DEPRECATED valueArrayGetNth ["(Since version 2.32)","Use @/g_array_index()/@ instead."] #-}
-{- |
-Return a pointer to the value at /@index_@/ containd in /@valueArray@/.
--}
-valueArrayGetNth ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to get a value from -}
-    -> Word32
-    {- ^ /@index_@/: index of the value of interest -}
-    -> m GValue
-    {- ^ __Returns:__ pointer to a value at /@index_@/ in /@valueArray@/ -}
-valueArrayGetNth valueArray index_ = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    result <- g_value_array_get_nth valueArray' index_
-    checkUnexpectedReturnNULL "valueArrayGetNth" result
-    result' <- (newBoxed GValue) result
-    touchManagedPtr valueArray
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArrayGetNthMethodInfo
-instance (signature ~ (Word32 -> m GValue), MonadIO m) => O.MethodInfo ValueArrayGetNthMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayGetNth
-
-#endif
-
--- method ValueArray::insert
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to add an element to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "insertion position, must be <= value_array->;n_values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GValue to copy into #GValueArray, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_insert" g_value_array_insert :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    Word32 ->                               -- index_ : TBasicType TUInt
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayInsert ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_insert_val()/@ instead."] #-}
-{- |
-Insert a copy of /@value@/ at specified position into /@valueArray@/. If /@value@/
-is 'Nothing', an uninitialized value is inserted.
--}
-valueArrayInsert ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to add an element to -}
-    -> Word32
-    {- ^ /@index_@/: insertion position, must be \<= value_array->;n_values -}
-    -> Maybe (GValue)
-    {- ^ /@value@/: 'GI.GObject.Structs.Value.Value' to copy into 'GI.GObject.Structs.ValueArray.ValueArray', or 'Nothing' -}
-    -> m ValueArray
-    {- ^ __Returns:__ the 'GI.GObject.Structs.ValueArray.ValueArray' passed in as /@valueArray@/ -}
-valueArrayInsert valueArray index_ value = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    maybeValue <- case value of
-        Nothing -> return nullPtr
-        Just jValue -> do
-            jValue' <- unsafeManagedPtrGetPtr jValue
-            return jValue'
-    result <- g_value_array_insert valueArray' index_ maybeValue
-    checkUnexpectedReturnNULL "valueArrayInsert" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr valueArray
-    whenJust value touchManagedPtr
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArrayInsertMethodInfo
-instance (signature ~ (Word32 -> Maybe (GValue) -> m ValueArray), MonadIO m) => O.MethodInfo ValueArrayInsertMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayInsert
-
-#endif
-
--- method ValueArray::prepend
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to add an element to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GValue to copy into #GValueArray, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_prepend" g_value_array_prepend :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayPrepend ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_prepend_val()/@ instead."] #-}
-{- |
-Insert a copy of /@value@/ as first element of /@valueArray@/. If /@value@/ is
-'Nothing', an uninitialized value is prepended.
--}
-valueArrayPrepend ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to add an element to -}
-    -> Maybe (GValue)
-    {- ^ /@value@/: 'GI.GObject.Structs.Value.Value' to copy into 'GI.GObject.Structs.ValueArray.ValueArray', or 'Nothing' -}
-    -> m ValueArray
-    {- ^ __Returns:__ the 'GI.GObject.Structs.ValueArray.ValueArray' passed in as /@valueArray@/ -}
-valueArrayPrepend valueArray value = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    maybeValue <- case value of
-        Nothing -> return nullPtr
-        Just jValue -> do
-            jValue' <- unsafeManagedPtrGetPtr jValue
-            return jValue'
-    result <- g_value_array_prepend valueArray' maybeValue
-    checkUnexpectedReturnNULL "valueArrayPrepend" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr valueArray
-    whenJust value touchManagedPtr
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArrayPrependMethodInfo
-instance (signature ~ (Maybe (GValue) -> m ValueArray), MonadIO m) => O.MethodInfo ValueArrayPrependMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayPrepend
-
-#endif
-
--- method ValueArray::remove
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to remove an element from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position of value to remove, which must be less than\n    @value_array->n_values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_remove" g_value_array_remove :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    Word32 ->                               -- index_ : TBasicType TUInt
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayRemove ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_remove_index()/@ instead."] #-}
-{- |
-Remove the value at position /@index_@/ from /@valueArray@/.
--}
-valueArrayRemove ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to remove an element from -}
-    -> Word32
-    {- ^ /@index_@/: position of value to remove, which must be less than
-    /@valueArray@/->n_values -}
-    -> m ValueArray
-    {- ^ __Returns:__ the 'GI.GObject.Structs.ValueArray.ValueArray' passed in as /@valueArray@/ -}
-valueArrayRemove valueArray index_ = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    result <- g_value_array_remove valueArray' index_
-    checkUnexpectedReturnNULL "valueArrayRemove" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr valueArray
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArrayRemoveMethodInfo
-instance (signature ~ (Word32 -> m ValueArray), MonadIO m) => O.MethodInfo ValueArrayRemoveMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayRemove
-
-#endif
-
--- method ValueArray::sort
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "value_array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValueArray to sort", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_func", argType = TInterface (Name {namespace = "GLib", name = "CompareDataFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to compare elements", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extra data argument provided for @compare_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface (Name {namespace = "GObject", name = "ValueArray"}))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_sort_with_data" g_value_array_sort_with_data :: 
-    Ptr ValueArray ->                       -- value_array : TInterface (Name {namespace = "GObject", name = "ValueArray"})
-    FunPtr GLib.Callbacks.C_CompareDataFunc -> -- compare_func : TInterface (Name {namespace = "GLib", name = "CompareDataFunc"})
-    Ptr () ->                               -- user_data : TBasicType TPtr
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArraySort ["(Since version 2.32)","Use 'GI.GLib.Structs.Array.Array' and @/g_array_sort_with_data()/@."] #-}
-{- |
-Sort /@valueArray@/ using /@compareFunc@/ to compare the elements according
-to the semantics of 'GI.GLib.Callbacks.CompareDataFunc'.
-
-The current implementation uses the same sorting algorithm as standard
-C @/qsort()/@ function.
--}
-valueArraySort ::
-    (B.CallStack.HasCallStack, MonadIO m) =>
-    ValueArray
-    {- ^ /@valueArray@/: 'GI.GObject.Structs.ValueArray.ValueArray' to sort -}
-    -> GLib.Callbacks.CompareDataFunc
-    {- ^ /@compareFunc@/: function to compare elements -}
-    -> m ValueArray
-    {- ^ __Returns:__ the 'GI.GObject.Structs.ValueArray.ValueArray' passed in as /@valueArray@/ -}
-valueArraySort valueArray compareFunc = liftIO $ do
-    valueArray' <- unsafeManagedPtrGetPtr valueArray
-    compareFunc' <- GLib.Callbacks.mk_CompareDataFunc (GLib.Callbacks.wrap_CompareDataFunc Nothing (GLib.Callbacks.drop_closures_CompareDataFunc compareFunc))
-    let userData = nullPtr
-    result <- g_value_array_sort_with_data valueArray' compareFunc' userData
-    checkUnexpectedReturnNULL "valueArraySort" result
-    result' <- (newBoxed ValueArray) result
-    safeFreeFunPtr $ castFunPtrToPtr compareFunc'
-    touchManagedPtr valueArray
-    return result'
-
-#if ENABLE_OVERLOADING
-data ValueArraySortMethodInfo
-instance (signature ~ (GLib.Callbacks.CompareDataFunc -> m ValueArray), MonadIO m) => O.MethodInfo ValueArraySortMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArraySort
-
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveValueArrayMethod (t :: Symbol) (o :: *) :: * where
-    ResolveValueArrayMethod "append" o = ValueArrayAppendMethodInfo
-    ResolveValueArrayMethod "copy" o = ValueArrayCopyMethodInfo
-    ResolveValueArrayMethod "insert" o = ValueArrayInsertMethodInfo
-    ResolveValueArrayMethod "prepend" o = ValueArrayPrependMethodInfo
-    ResolveValueArrayMethod "remove" o = ValueArrayRemoveMethodInfo
-    ResolveValueArrayMethod "sort" o = ValueArraySortMethodInfo
-    ResolveValueArrayMethod "getNth" o = ValueArrayGetNthMethodInfo
-    ResolveValueArrayMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveValueArrayMethod t ValueArray, O.MethodInfo info ValueArray p) => OL.IsLabel t (ValueArray -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/ValueArray.hs-boot b/GI/GObject/Structs/ValueArray.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/ValueArray.hs-boot
+++ /dev/null
@@ -1,47 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.ValueArray where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype ValueArray = ValueArray (ManagedPtr ValueArray)
-instance BoxedObject ValueArray where
-#if ENABLE_OVERLOADING
-data ValueArrayAppendMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ValueArrayCopyMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ValueArrayGetNthMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ValueArrayInsertMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ValueArrayPrependMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ValueArrayRemoveMethodInfo
-#endif
-#if ENABLE_OVERLOADING
-data ValueArraySortMethodInfo
-#endif
diff --git a/GI/GObject/Structs/WeakRef.hs b/GI/GObject/Structs/WeakRef.hs
deleted file mode 100644
--- a/GI/GObject/Structs/WeakRef.hs
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-A structure containing a weak reference to a 'GI.GObject.Objects.Object.Object'.  It can either
-be empty (i.e. point to 'Nothing'), or point to an object for as long as
-at least one \"strong\" reference to that object exists. Before the
-object\'s 'GI.GObject.Structs.ObjectClass.ObjectClass'.@/dispose/@ method is called, every 'GI.GObject.Structs.WeakRef.WeakRef'
-associated with becomes empty (i.e. points to 'Nothing').
-
-Like 'GI.GObject.Structs.Value.Value', 'GI.GObject.Structs.WeakRef.WeakRef' can be statically allocated, stack- or
-heap-allocated, or embedded in larger structures.
-
-Unlike @/g_object_weak_ref()/@ and @/g_object_add_weak_pointer()/@, this weak
-reference is thread-safe: converting a weak pointer to a reference is
-atomic with respect to invalidation of weak pointers to destroyed
-objects.
-
-If the object\'s 'GI.GObject.Structs.ObjectClass.ObjectClass'.@/dispose/@ method results in additional
-references to the object being held, any @/GWeakRefs/@ taken
-before it was disposed will continue to point to 'Nothing'.  If
-@/GWeakRefs/@ are taken after the object is disposed and
-re-referenced, they will continue to point to it until its refcount
-goes back to zero, at which point they too will be invalidated.
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Structs.WeakRef
-    ( 
-
--- * Exported types
-    WeakRef(..)                             ,
-    noWeakRef                               ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype WeakRef = WeakRef (ManagedPtr WeakRef)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr WeakRef where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
--- | A convenience alias for `Nothing` :: `Maybe` `WeakRef`.
-noWeakRef :: Maybe WeakRef
-noWeakRef = Nothing
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList WeakRef
-type instance O.AttributeList WeakRef = WeakRefAttributeList
-type WeakRefAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveWeakRefMethod (t :: Symbol) (o :: *) :: * where
-    ResolveWeakRefMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveWeakRefMethod t WeakRef, O.MethodInfo info WeakRef p) => OL.IsLabel t (WeakRef -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Structs/WeakRef.hs-boot b/GI/GObject/Structs/WeakRef.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/WeakRef.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Structs.WeakRef where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype WeakRef = WeakRef (ManagedPtr WeakRef)
-instance WrappedPtr WeakRef where
diff --git a/GI/GObject/Unions.hs b/GI/GObject/Unions.hs
deleted file mode 100644
--- a/GI/GObject/Unions.hs
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Unions
-    (     module GI.GObject.Unions.TypeCValue     ,
-    module GI.GObject.Unions.Value_Data_Union_,
-
-
-    ) where
-
-import GI.GObject.Unions.TypeCValue
-import GI.GObject.Unions.Value_Data_Union_
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
-
diff --git a/GI/GObject/Unions/TypeCValue.hs b/GI/GObject/Unions/TypeCValue.hs
deleted file mode 100644
--- a/GI/GObject/Unions/TypeCValue.hs
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-/No description available in the introspection data./
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Unions.TypeCValue
-    ( 
-
--- * Exported types
-    TypeCValue(..)                          ,
-    noTypeCValue                            ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype TypeCValue = TypeCValue (ManagedPtr TypeCValue)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr TypeCValue where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
--- | A convenience alias for `Nothing` :: `Maybe` `TypeCValue`.
-noTypeCValue :: Maybe TypeCValue
-noTypeCValue = Nothing
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList TypeCValue
-type instance O.AttributeList TypeCValue = TypeCValueAttributeList
-type TypeCValueAttributeList = ('[ ] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveTypeCValueMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeCValueMethod l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeCValueMethod t TypeCValue, O.MethodInfo info TypeCValue p) => OL.IsLabel t (TypeCValue -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Unions/TypeCValue.hs-boot b/GI/GObject/Unions/TypeCValue.hs-boot
deleted file mode 100644
--- a/GI/GObject/Unions/TypeCValue.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Unions.TypeCValue where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype TypeCValue = TypeCValue (ManagedPtr TypeCValue)
-instance WrappedPtr TypeCValue where
diff --git a/GI/GObject/Unions/Value_Data_Union_.hs b/GI/GObject/Unions/Value_Data_Union_.hs
deleted file mode 100644
--- a/GI/GObject/Unions/Value_Data_Union_.hs
+++ /dev/null
@@ -1,603 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
-
-/No description available in the introspection data./
--}
-
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-
-module GI.GObject.Unions.Value_Data_Union_
-    ( 
-
--- * Exported types
-    Value_Data_Union_(..)                   ,
-    newZeroValue_Data_Union_                ,
-    noValue_Data_Union_                     ,
-
-
- -- * Properties
--- ** vDouble #attr:vDouble#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VDouble             ,
-    setValue_Data_Union_VDouble             ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vDouble               ,
-#endif
-
-
--- ** vFloat #attr:vFloat#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VFloat              ,
-    setValue_Data_Union_VFloat              ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vFloat                ,
-#endif
-
-
--- ** vInt #attr:vInt#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VInt                ,
-    setValue_Data_Union_VInt                ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vInt                  ,
-#endif
-
-
--- ** vInt64 #attr:vInt64#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VInt64              ,
-    setValue_Data_Union_VInt64              ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vInt64                ,
-#endif
-
-
--- ** vLong #attr:vLong#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VLong               ,
-    setValue_Data_Union_VLong               ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vLong                 ,
-#endif
-
-
--- ** vPointer #attr:vPointer#
-{- | /No description available in the introspection data./
--}
-    clearValue_Data_Union_VPointer          ,
-    getValue_Data_Union_VPointer            ,
-    setValue_Data_Union_VPointer            ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vPointer              ,
-#endif
-
-
--- ** vUint #attr:vUint#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VUint               ,
-    setValue_Data_Union_VUint               ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vUint                 ,
-#endif
-
-
--- ** vUint64 #attr:vUint64#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VUint64             ,
-    setValue_Data_Union_VUint64             ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vUint64               ,
-#endif
-
-
--- ** vUlong #attr:vUlong#
-{- | /No description available in the introspection data./
--}
-    getValue_Data_Union_VUlong              ,
-    setValue_Data_Union_VUlong              ,
-#if ENABLE_OVERLOADING
-    value_Data_Union__vUlong                ,
-#endif
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-
--- | Memory-managed wrapper type.
-newtype Value_Data_Union_ = Value_Data_Union_ (ManagedPtr Value_Data_Union_)
-instance WrappedPtr Value_Data_Union_ where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr Value_Data_Union_)
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `Value_Data_Union_` struct initialized to zero.
-newZeroValue_Data_Union_ :: MonadIO m => m Value_Data_Union_
-newZeroValue_Data_Union_ = liftIO $ wrappedPtrCalloc >>= wrapPtr Value_Data_Union_
-
-instance tag ~ 'AttrSet => Constructible Value_Data_Union_ tag where
-    new _ attrs = do
-        o <- newZeroValue_Data_Union_
-        GI.Attributes.set o attrs
-        return o
-
-
--- | A convenience alias for `Nothing` :: `Maybe` `Value_Data_Union_`.
-noValue_Data_Union_ :: Maybe Value_Data_Union_
-noValue_Data_Union_ = Nothing
-
-{- |
-Get the value of the “@v_int@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vInt
-@
--}
-getValue_Data_Union_VInt :: MonadIO m => Value_Data_Union_ -> m Int32
-getValue_Data_Union_VInt s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-{- |
-Set the value of the “@v_int@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vInt 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VInt :: MonadIO m => Value_Data_Union_ -> Int32 -> m ()
-setValue_Data_Union_VInt s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VIntFieldInfo
-instance AttrInfo Value_Data_Union_VIntFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VIntFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VIntFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint Value_Data_Union_VIntFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VIntFieldInfo = Int32
-    type AttrLabel Value_Data_Union_VIntFieldInfo = "v_int"
-    type AttrOrigin Value_Data_Union_VIntFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VInt
-    attrSet _ = setValue_Data_Union_VInt
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vInt :: AttrLabelProxy "vInt"
-value_Data_Union__vInt = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_uint@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vUint
-@
--}
-getValue_Data_Union_VUint :: MonadIO m => Value_Data_Union_ -> m Word32
-getValue_Data_Union_VUint s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-{- |
-Set the value of the “@v_uint@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vUint 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VUint :: MonadIO m => Value_Data_Union_ -> Word32 -> m ()
-setValue_Data_Union_VUint s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VUintFieldInfo
-instance AttrInfo Value_Data_Union_VUintFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VUintFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VUintFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint Value_Data_Union_VUintFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VUintFieldInfo = Word32
-    type AttrLabel Value_Data_Union_VUintFieldInfo = "v_uint"
-    type AttrOrigin Value_Data_Union_VUintFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VUint
-    attrSet _ = setValue_Data_Union_VUint
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vUint :: AttrLabelProxy "vUint"
-value_Data_Union__vUint = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_long@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vLong
-@
--}
-getValue_Data_Union_VLong :: MonadIO m => Value_Data_Union_ -> m CLong
-getValue_Data_Union_VLong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CLong
-    return val
-
-{- |
-Set the value of the “@v_long@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vLong 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VLong :: MonadIO m => Value_Data_Union_ -> CLong -> m ()
-setValue_Data_Union_VLong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CLong)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VLongFieldInfo
-instance AttrInfo Value_Data_Union_VLongFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VLongFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VLongFieldInfo = (~) CLong
-    type AttrBaseTypeConstraint Value_Data_Union_VLongFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VLongFieldInfo = CLong
-    type AttrLabel Value_Data_Union_VLongFieldInfo = "v_long"
-    type AttrOrigin Value_Data_Union_VLongFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VLong
-    attrSet _ = setValue_Data_Union_VLong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vLong :: AttrLabelProxy "vLong"
-value_Data_Union__vLong = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_ulong@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vUlong
-@
--}
-getValue_Data_Union_VUlong :: MonadIO m => Value_Data_Union_ -> m CULong
-getValue_Data_Union_VUlong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CULong
-    return val
-
-{- |
-Set the value of the “@v_ulong@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vUlong 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VUlong :: MonadIO m => Value_Data_Union_ -> CULong -> m ()
-setValue_Data_Union_VUlong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CULong)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VUlongFieldInfo
-instance AttrInfo Value_Data_Union_VUlongFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VUlongFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VUlongFieldInfo = (~) CULong
-    type AttrBaseTypeConstraint Value_Data_Union_VUlongFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VUlongFieldInfo = CULong
-    type AttrLabel Value_Data_Union_VUlongFieldInfo = "v_ulong"
-    type AttrOrigin Value_Data_Union_VUlongFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VUlong
-    attrSet _ = setValue_Data_Union_VUlong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vUlong :: AttrLabelProxy "vUlong"
-value_Data_Union__vUlong = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_int64@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vInt64
-@
--}
-getValue_Data_Union_VInt64 :: MonadIO m => Value_Data_Union_ -> m Int64
-getValue_Data_Union_VInt64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int64
-    return val
-
-{- |
-Set the value of the “@v_int64@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vInt64 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VInt64 :: MonadIO m => Value_Data_Union_ -> Int64 -> m ()
-setValue_Data_Union_VInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int64)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VInt64FieldInfo
-instance AttrInfo Value_Data_Union_VInt64FieldInfo where
-    type AttrAllowedOps Value_Data_Union_VInt64FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VInt64FieldInfo = (~) Int64
-    type AttrBaseTypeConstraint Value_Data_Union_VInt64FieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VInt64FieldInfo = Int64
-    type AttrLabel Value_Data_Union_VInt64FieldInfo = "v_int64"
-    type AttrOrigin Value_Data_Union_VInt64FieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VInt64
-    attrSet _ = setValue_Data_Union_VInt64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vInt64 :: AttrLabelProxy "vInt64"
-value_Data_Union__vInt64 = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_uint64@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vUint64
-@
--}
-getValue_Data_Union_VUint64 :: MonadIO m => Value_Data_Union_ -> m Word64
-getValue_Data_Union_VUint64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word64
-    return val
-
-{- |
-Set the value of the “@v_uint64@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vUint64 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VUint64 :: MonadIO m => Value_Data_Union_ -> Word64 -> m ()
-setValue_Data_Union_VUint64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word64)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VUint64FieldInfo
-instance AttrInfo Value_Data_Union_VUint64FieldInfo where
-    type AttrAllowedOps Value_Data_Union_VUint64FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VUint64FieldInfo = (~) Word64
-    type AttrBaseTypeConstraint Value_Data_Union_VUint64FieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VUint64FieldInfo = Word64
-    type AttrLabel Value_Data_Union_VUint64FieldInfo = "v_uint64"
-    type AttrOrigin Value_Data_Union_VUint64FieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VUint64
-    attrSet _ = setValue_Data_Union_VUint64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vUint64 :: AttrLabelProxy "vUint64"
-value_Data_Union__vUint64 = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_float@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vFloat
-@
--}
-getValue_Data_Union_VFloat :: MonadIO m => Value_Data_Union_ -> m Float
-getValue_Data_Union_VFloat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CFloat
-    let val' = realToFrac val
-    return val'
-
-{- |
-Set the value of the “@v_float@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vFloat 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VFloat :: MonadIO m => Value_Data_Union_ -> Float -> m ()
-setValue_Data_Union_VFloat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CFloat)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VFloatFieldInfo
-instance AttrInfo Value_Data_Union_VFloatFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VFloatFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VFloatFieldInfo = (~) Float
-    type AttrBaseTypeConstraint Value_Data_Union_VFloatFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VFloatFieldInfo = Float
-    type AttrLabel Value_Data_Union_VFloatFieldInfo = "v_float"
-    type AttrOrigin Value_Data_Union_VFloatFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VFloat
-    attrSet _ = setValue_Data_Union_VFloat
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vFloat :: AttrLabelProxy "vFloat"
-value_Data_Union__vFloat = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_double@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vDouble
-@
--}
-getValue_Data_Union_VDouble :: MonadIO m => Value_Data_Union_ -> m Double
-getValue_Data_Union_VDouble s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-{- |
-Set the value of the “@v_double@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vDouble 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VDouble :: MonadIO m => Value_Data_Union_ -> Double -> m ()
-setValue_Data_Union_VDouble s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CDouble)
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VDoubleFieldInfo
-instance AttrInfo Value_Data_Union_VDoubleFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VDoubleFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint Value_Data_Union_VDoubleFieldInfo = (~) Double
-    type AttrBaseTypeConstraint Value_Data_Union_VDoubleFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VDoubleFieldInfo = Double
-    type AttrLabel Value_Data_Union_VDoubleFieldInfo = "v_double"
-    type AttrOrigin Value_Data_Union_VDoubleFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VDouble
-    attrSet _ = setValue_Data_Union_VDouble
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union__vDouble :: AttrLabelProxy "vDouble"
-value_Data_Union__vDouble = AttrLabelProxy
-
-#endif
-
-
-{- |
-Get the value of the “@v_pointer@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.get' value_Data_Union_ #vPointer
-@
--}
-getValue_Data_Union_VPointer :: MonadIO m => Value_Data_Union_ -> m (Ptr ())
-getValue_Data_Union_VPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
-    return val
-
-{- |
-Set the value of the “@v_pointer@” field.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.set' value_Data_Union_ [ #vPointer 'Data.GI.Base.Attributes.:=' value ]
-@
--}
-setValue_Data_Union_VPointer :: MonadIO m => Value_Data_Union_ -> Ptr () -> m ()
-setValue_Data_Union_VPointer s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr ())
-
-{- |
-Set the value of the “@v_pointer@” field to `Nothing`.
-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-
-@
-'Data.GI.Base.Attributes.clear' #vPointer
-@
--}
-clearValue_Data_Union_VPointer :: MonadIO m => Value_Data_Union_ -> m ()
-clearValue_Data_Union_VPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())
-
-#if ENABLE_OVERLOADING
-data Value_Data_Union_VPointerFieldInfo
-instance AttrInfo Value_Data_Union_VPointerFieldInfo where
-    type AttrAllowedOps Value_Data_Union_VPointerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint Value_Data_Union_VPointerFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint Value_Data_Union_VPointerFieldInfo = (~) Value_Data_Union_
-    type AttrGetType Value_Data_Union_VPointerFieldInfo = Ptr ()
-    type AttrLabel Value_Data_Union_VPointerFieldInfo = "v_pointer"
-    type AttrOrigin Value_Data_Union_VPointerFieldInfo = Value_Data_Union_
-    attrGet _ = getValue_Data_Union_VPointer
-    attrSet _ = setValue_Data_Union_VPointer
-    attrConstruct = undefined
-    attrClear _ = clearValue_Data_Union_VPointer
-
-value_Data_Union__vPointer :: AttrLabelProxy "vPointer"
-value_Data_Union__vPointer = AttrLabelProxy
-
-#endif
-
-
-
-#if ENABLE_OVERLOADING
-instance O.HasAttributeList Value_Data_Union_
-type instance O.AttributeList Value_Data_Union_ = Value_Data_Union_AttributeList
-type Value_Data_Union_AttributeList = ('[ '("vInt", Value_Data_Union_VIntFieldInfo), '("vUint", Value_Data_Union_VUintFieldInfo), '("vLong", Value_Data_Union_VLongFieldInfo), '("vUlong", Value_Data_Union_VUlongFieldInfo), '("vInt64", Value_Data_Union_VInt64FieldInfo), '("vUint64", Value_Data_Union_VUint64FieldInfo), '("vFloat", Value_Data_Union_VFloatFieldInfo), '("vDouble", Value_Data_Union_VDoubleFieldInfo), '("vPointer", Value_Data_Union_VPointerFieldInfo)] :: [(Symbol, *)])
-#endif
-
-#if ENABLE_OVERLOADING
-type family ResolveValue_Data_Union_Method (t :: Symbol) (o :: *) :: * where
-    ResolveValue_Data_Union_Method l o = O.MethodResolutionFailed l o
-
-instance (info ~ ResolveValue_Data_Union_Method t Value_Data_Union_, O.MethodInfo info Value_Data_Union_ p) => OL.IsLabel t (Value_Data_Union_ -> p) where
-#if MIN_VERSION_base(4,10,0)
-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#else
-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
-#endif
-
-#endif
-
-
diff --git a/GI/GObject/Unions/Value_Data_Union_.hs-boot b/GI/GObject/Unions/Value_Data_Union_.hs-boot
deleted file mode 100644
--- a/GI/GObject/Unions/Value_Data_Union_.hs-boot
+++ /dev/null
@@ -1,26 +0,0 @@
-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
-       && !defined(__HADDOCK_VERSION__))
-module GI.GObject.Unions.Value_Data_Union_ where
-
-import Data.GI.Base.ShortPrelude
-import qualified Data.GI.Base.ShortPrelude as SP
-import qualified Data.GI.Base.Overloading as O
-import qualified Prelude as P
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
-import qualified Data.GI.Base.GClosure as B.GClosure
-import qualified Data.GI.Base.GError as B.GError
-import qualified Data.GI.Base.GVariant as B.GVariant
-import qualified Data.GI.Base.GValue as B.GValue
-import qualified Data.GI.Base.GParamSpec as B.GParamSpec
-import qualified Data.GI.Base.CallStack as B.CallStack
-import qualified Data.GI.Base.Properties as B.Properties
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-import qualified Foreign.Ptr as FP
-import qualified GHC.OverloadedLabels as OL
-
-newtype Value_Data_Union_ = Value_Data_Union_ (ManagedPtr Value_Data_Union_)
-instance WrappedPtr Value_Data_Union_ where
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Documentation
 Autogenerated documentation for this package can be found at
 
-[https://hackage.haskell.org/package/gi-gobject-2.0.18/docs/GI-GObject.html](https://hackage.haskell.org/package/gi-gobject-2.0.18/docs/GI-GObject.html)
+[https://hackage.haskell.org/package/gi-gobject-2.0.19/docs/GI-GObject.html](https://hackage.haskell.org/package/gi-gobject-2.0.19/docs/GI-GObject.html)
 
 For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
diff --git a/gi-gobject.cabal b/gi-gobject.cabal
--- a/gi-gobject.cabal
+++ b/gi-gobject.cabal
@@ -1,5 +1,5 @@
 name:                 gi-gobject
-version:              2.0.18
+version:              2.0.19
 synopsis:             GObject bindings
 description:          Bindings for GObject, autogenerated by haskell-gi.
 homepage:             https://github.com/haskell-gi/haskell-gi
@@ -41,6 +41,69 @@
               build-depends: haskell-gi-overloading == 0.0
 
       exposed-modules: GI.GObject,
+                       GI.GObject.Callbacks,
+                       GI.GObject.Constants,
+                       GI.GObject.Flags,
+                       GI.GObject.Functions,
+                       GI.GObject.Interfaces,
+                       GI.GObject.Interfaces.TypePlugin,
+                       GI.GObject.Objects,
+                       GI.GObject.Objects.Binding,
+                       GI.GObject.Objects.InitiallyUnowned,
+                       GI.GObject.Objects.Object,
+                       GI.GObject.Objects.ParamSpec,
+                       GI.GObject.Objects.ParamSpecBoolean,
+                       GI.GObject.Objects.ParamSpecBoxed,
+                       GI.GObject.Objects.ParamSpecChar,
+                       GI.GObject.Objects.ParamSpecDouble,
+                       GI.GObject.Objects.ParamSpecEnum,
+                       GI.GObject.Objects.ParamSpecFlags,
+                       GI.GObject.Objects.ParamSpecFloat,
+                       GI.GObject.Objects.ParamSpecGType,
+                       GI.GObject.Objects.ParamSpecInt,
+                       GI.GObject.Objects.ParamSpecInt64,
+                       GI.GObject.Objects.ParamSpecLong,
+                       GI.GObject.Objects.ParamSpecObject,
+                       GI.GObject.Objects.ParamSpecOverride,
+                       GI.GObject.Objects.ParamSpecParam,
+                       GI.GObject.Objects.ParamSpecPointer,
+                       GI.GObject.Objects.ParamSpecString,
+                       GI.GObject.Objects.ParamSpecUChar,
+                       GI.GObject.Objects.ParamSpecUInt,
+                       GI.GObject.Objects.ParamSpecUInt64,
+                       GI.GObject.Objects.ParamSpecULong,
+                       GI.GObject.Objects.ParamSpecUnichar,
+                       GI.GObject.Objects.ParamSpecValueArray,
+                       GI.GObject.Objects.ParamSpecVariant,
+                       GI.GObject.Objects.TypeModule,
+                       GI.GObject.Structs,
+                       GI.GObject.Structs.CClosure,
+                       GI.GObject.Structs.ClosureNotifyData,
+                       GI.GObject.Structs.EnumClass,
+                       GI.GObject.Structs.EnumValue,
+                       GI.GObject.Structs.FlagsClass,
+                       GI.GObject.Structs.FlagsValue,
+                       GI.GObject.Structs.InterfaceInfo,
+                       GI.GObject.Structs.ObjectConstructParam,
+                       GI.GObject.Structs.ParamSpecPool,
+                       GI.GObject.Structs.ParamSpecTypeInfo,
+                       GI.GObject.Structs.Parameter,
+                       GI.GObject.Structs.SignalInvocationHint,
+                       GI.GObject.Structs.SignalQuery,
+                       GI.GObject.Structs.TypeClass,
+                       GI.GObject.Structs.TypeFundamentalInfo,
+                       GI.GObject.Structs.TypeInfo,
+                       GI.GObject.Structs.TypeInstance,
+                       GI.GObject.Structs.TypeInterface,
+                       GI.GObject.Structs.TypeQuery,
+                       GI.GObject.Structs.TypeValueTable,
+                       GI.GObject.Structs.ValueArray,
+                       GI.GObject.Structs.WeakRef,
+                       GI.GObject.Unions,
+                       GI.GObject.Unions.TypeCValue,
+                       GI.GObject.Unions.Value_Data_Union_
+
+      autogen-modules: GI.GObject,
                        GI.GObject.Callbacks,
                        GI.GObject.Constants,
                        GI.GObject.Flags,
