diff --git a/GI/GObject.hs b/GI/GObject.hs
deleted file mode 100644
--- a/GI/GObject.hs
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-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.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-import Data.GI.Base
--- APIObject "ParamSpec" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecBoolean" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecBoxed" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecChar" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecDouble" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecEnum" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecFlags" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecFloat" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecGType" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecInt" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecInt64" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecLong" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecObject" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecOverride" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecParam" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecPointer" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecString" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecUChar" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecUInt" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecUInt64" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecULong" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecUnichar" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecValueArray" does not descend from GObject, it will be ignored.
--- APIObject "ParamSpecVariant" does not descend from GObject, it will be ignored.
-
diff --git a/GI/GObject/Callbacks.hs b/GI/GObject/Callbacks.hs
deleted file mode 100644
--- a/GI/GObject/Callbacks.hs
+++ /dev/null
@@ -1,1406 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Callbacks
-    ( 
-
- -- * Signals
--- ** BaseFinalizeFunc
-    BaseFinalizeFunc                        ,
-    BaseFinalizeFuncC                       ,
-    baseFinalizeFuncClosure                 ,
-    baseFinalizeFuncWrapper                 ,
-    mkBaseFinalizeFunc                      ,
-    noBaseFinalizeFunc                      ,
-
-
--- ** BaseInitFunc
-    BaseInitFunc                            ,
-    BaseInitFuncC                           ,
-    baseInitFuncClosure                     ,
-    baseInitFuncWrapper                     ,
-    mkBaseInitFunc                          ,
-    noBaseInitFunc                          ,
-
-
--- ** BindingTransformFunc
-    BindingTransformFunc                    ,
-    BindingTransformFuncC                   ,
-    bindingTransformFuncClosure             ,
-    bindingTransformFuncWrapper             ,
-    mkBindingTransformFunc                  ,
-    noBindingTransformFunc                  ,
-
-
--- ** BoxedFreeFunc
-    BoxedFreeFunc                           ,
-    BoxedFreeFuncC                          ,
-    boxedFreeFuncClosure                    ,
-    boxedFreeFuncWrapper                    ,
-    mkBoxedFreeFunc                         ,
-    noBoxedFreeFunc                         ,
-
-
--- ** Callback
-    Callback                                ,
-    CallbackC                               ,
-    callbackClosure                         ,
-    callbackWrapper                         ,
-    mkCallback                              ,
-    noCallback                              ,
-
-
--- ** ClassFinalizeFunc
-    ClassFinalizeFunc                       ,
-    ClassFinalizeFuncC                      ,
-    classFinalizeFuncClosure                ,
-    classFinalizeFuncWrapper                ,
-    mkClassFinalizeFunc                     ,
-    noClassFinalizeFunc                     ,
-
-
--- ** ClassInitFunc
-    ClassInitFunc                           ,
-    ClassInitFuncC                          ,
-    classInitFuncClosure                    ,
-    classInitFuncWrapper                    ,
-    mkClassInitFunc                         ,
-    noClassInitFunc                         ,
-
-
--- ** ClosureMarshalFieldCallback
-    ClosureMarshalFieldCallback             ,
-    ClosureMarshalFieldCallbackC            ,
-    closureMarshalFieldCallbackClosure      ,
-    closureMarshalFieldCallbackWrapper      ,
-    mkClosureMarshalFieldCallback           ,
-    noClosureMarshalFieldCallback           ,
-
-
--- ** ClosureNotify
-    ClosureNotify                           ,
-    ClosureNotifyC                          ,
-    closureNotifyClosure                    ,
-    closureNotifyWrapper                    ,
-    mkClosureNotify                         ,
-    noClosureNotify                         ,
-
-
--- ** InstanceInitFunc
-    InstanceInitFunc                        ,
-    InstanceInitFuncC                       ,
-    instanceInitFuncClosure                 ,
-    instanceInitFuncWrapper                 ,
-    mkInstanceInitFunc                      ,
-    noInstanceInitFunc                      ,
-
-
--- ** InterfaceFinalizeFunc
-    InterfaceFinalizeFunc                   ,
-    InterfaceFinalizeFuncC                  ,
-    interfaceFinalizeFuncClosure            ,
-    interfaceFinalizeFuncWrapper            ,
-    mkInterfaceFinalizeFunc                 ,
-    noInterfaceFinalizeFunc                 ,
-
-
--- ** InterfaceInitFunc
-    InterfaceInitFunc                       ,
-    InterfaceInitFuncC                      ,
-    interfaceInitFuncClosure                ,
-    interfaceInitFuncWrapper                ,
-    mkInterfaceInitFunc                     ,
-    noInterfaceInitFunc                     ,
-
-
--- ** ObjectFinalizeFunc
-    ObjectFinalizeFunc                      ,
-    ObjectFinalizeFuncC                     ,
-    mkObjectFinalizeFunc                    ,
-    noObjectFinalizeFunc                    ,
-    objectFinalizeFuncClosure               ,
-    objectFinalizeFuncWrapper               ,
-
-
--- ** ObjectGetPropertyFunc
-    ObjectGetPropertyFunc                   ,
-    ObjectGetPropertyFuncC                  ,
-    mkObjectGetPropertyFunc                 ,
-    noObjectGetPropertyFunc                 ,
-    objectGetPropertyFuncClosure            ,
-    objectGetPropertyFuncWrapper            ,
-
-
--- ** ObjectSetPropertyFunc
-    ObjectSetPropertyFunc                   ,
-    ObjectSetPropertyFuncC                  ,
-    mkObjectSetPropertyFunc                 ,
-    noObjectSetPropertyFunc                 ,
-    objectSetPropertyFuncClosure            ,
-    objectSetPropertyFuncWrapper            ,
-
-
--- ** ParamSpecTypeInfoFinalizeFieldCallback
-    ParamSpecTypeInfoFinalizeFieldCallback  ,
-    ParamSpecTypeInfoFinalizeFieldCallbackC ,
-    mkParamSpecTypeInfoFinalizeFieldCallback,
-    noParamSpecTypeInfoFinalizeFieldCallback,
-    paramSpecTypeInfoFinalizeFieldCallbackClosure,
-    paramSpecTypeInfoFinalizeFieldCallbackWrapper,
-
-
--- ** ParamSpecTypeInfoInstanceInitFieldCallback
-    ParamSpecTypeInfoInstanceInitFieldCallback,
-    ParamSpecTypeInfoInstanceInitFieldCallbackC,
-    mkParamSpecTypeInfoInstanceInitFieldCallback,
-    noParamSpecTypeInfoInstanceInitFieldCallback,
-    paramSpecTypeInfoInstanceInitFieldCallbackClosure,
-    paramSpecTypeInfoInstanceInitFieldCallbackWrapper,
-
-
--- ** ParamSpecTypeInfoValueSetDefaultFieldCallback
-    ParamSpecTypeInfoValueSetDefaultFieldCallback,
-    ParamSpecTypeInfoValueSetDefaultFieldCallbackC,
-    mkParamSpecTypeInfoValueSetDefaultFieldCallback,
-    noParamSpecTypeInfoValueSetDefaultFieldCallback,
-    paramSpecTypeInfoValueSetDefaultFieldCallbackClosure,
-    paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper,
-
-
--- ** ParamSpecTypeInfoValueValidateFieldCallback
-    ParamSpecTypeInfoValueValidateFieldCallback,
-    ParamSpecTypeInfoValueValidateFieldCallbackC,
-    mkParamSpecTypeInfoValueValidateFieldCallback,
-    noParamSpecTypeInfoValueValidateFieldCallback,
-    paramSpecTypeInfoValueValidateFieldCallbackClosure,
-    paramSpecTypeInfoValueValidateFieldCallbackWrapper,
-
-
--- ** ParamSpecTypeInfoValuesCmpFieldCallback
-    ParamSpecTypeInfoValuesCmpFieldCallback ,
-    ParamSpecTypeInfoValuesCmpFieldCallbackC,
-    mkParamSpecTypeInfoValuesCmpFieldCallback,
-    noParamSpecTypeInfoValuesCmpFieldCallback,
-    paramSpecTypeInfoValuesCmpFieldCallbackClosure,
-    paramSpecTypeInfoValuesCmpFieldCallbackWrapper,
-
-
--- ** SignalAccumulator
-    SignalAccumulator                       ,
-    SignalAccumulatorC                      ,
-    mkSignalAccumulator                     ,
-    noSignalAccumulator                     ,
-    signalAccumulatorClosure                ,
-    signalAccumulatorWrapper                ,
-
-
--- ** SignalEmissionHook
-    SignalEmissionHook                      ,
-    SignalEmissionHookC                     ,
-    mkSignalEmissionHook                    ,
-    noSignalEmissionHook                    ,
-    signalEmissionHookClosure               ,
-    signalEmissionHookWrapper               ,
-
-
--- ** ToggleNotify
-    ToggleNotify                            ,
-    ToggleNotifyC                           ,
-    mkToggleNotify                          ,
-    noToggleNotify                          ,
-    toggleNotifyClosure                     ,
-    toggleNotifyWrapper                     ,
-
-
--- ** TypeClassCacheFunc
-    TypeClassCacheFunc                      ,
-    TypeClassCacheFuncC                     ,
-    mkTypeClassCacheFunc                    ,
-    noTypeClassCacheFunc                    ,
-    typeClassCacheFuncClosure               ,
-    typeClassCacheFuncWrapper               ,
-
-
--- ** TypeInterfaceCheckFunc
-    TypeInterfaceCheckFunc                  ,
-    TypeInterfaceCheckFuncC                 ,
-    mkTypeInterfaceCheckFunc                ,
-    noTypeInterfaceCheckFunc                ,
-    typeInterfaceCheckFuncClosure           ,
-    typeInterfaceCheckFuncWrapper           ,
-
-
--- ** TypeValueTableCollectValueFieldCallback
-    TypeValueTableCollectValueFieldCallback ,
-    TypeValueTableCollectValueFieldCallbackC,
-    mkTypeValueTableCollectValueFieldCallback,
-    noTypeValueTableCollectValueFieldCallback,
-    typeValueTableCollectValueFieldCallbackClosure,
-    typeValueTableCollectValueFieldCallbackWrapper,
-
-
--- ** TypeValueTableLcopyValueFieldCallback
-    TypeValueTableLcopyValueFieldCallback   ,
-    TypeValueTableLcopyValueFieldCallbackC  ,
-    mkTypeValueTableLcopyValueFieldCallback ,
-    noTypeValueTableLcopyValueFieldCallback ,
-    typeValueTableLcopyValueFieldCallbackClosure,
-    typeValueTableLcopyValueFieldCallbackWrapper,
-
-
--- ** TypeValueTableValueCopyFieldCallback
-    TypeValueTableValueCopyFieldCallback    ,
-    TypeValueTableValueCopyFieldCallbackC   ,
-    mkTypeValueTableValueCopyFieldCallback  ,
-    noTypeValueTableValueCopyFieldCallback  ,
-    typeValueTableValueCopyFieldCallbackClosure,
-    typeValueTableValueCopyFieldCallbackWrapper,
-
-
--- ** TypeValueTableValueFreeFieldCallback
-    TypeValueTableValueFreeFieldCallback    ,
-    TypeValueTableValueFreeFieldCallbackC   ,
-    mkTypeValueTableValueFreeFieldCallback  ,
-    noTypeValueTableValueFreeFieldCallback  ,
-    typeValueTableValueFreeFieldCallbackClosure,
-    typeValueTableValueFreeFieldCallbackWrapper,
-
-
--- ** TypeValueTableValueInitFieldCallback
-    TypeValueTableValueInitFieldCallback    ,
-    TypeValueTableValueInitFieldCallbackC   ,
-    mkTypeValueTableValueInitFieldCallback  ,
-    noTypeValueTableValueInitFieldCallback  ,
-    typeValueTableValueInitFieldCallbackClosure,
-    typeValueTableValueInitFieldCallbackWrapper,
-
-
--- ** ValueTransform
-    ValueTransform                          ,
-    ValueTransformC                         ,
-    mkValueTransform                        ,
-    noValueTransform                        ,
-    valueTransformClosure                   ,
-    valueTransformWrapper                   ,
-
-
--- ** WeakNotify
-    WeakNotify                              ,
-    WeakNotifyC                             ,
-    mkWeakNotify                            ,
-    noWeakNotify                            ,
-    weakNotifyClosure                       ,
-    weakNotifyWrapper                       ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-
-
--- callback WeakNotify
-weakNotifyClosure :: WeakNotify -> IO Closure
-weakNotifyClosure cb = newCClosure =<< mkWeakNotify wrapped
-    where wrapped = weakNotifyWrapper Nothing cb
-
-type WeakNotifyC =
-    Ptr () ->
-    Ptr Object ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkWeakNotify :: WeakNotifyC -> IO (FunPtr WeakNotifyC)
-
-type WeakNotify =
-    Ptr () ->
-    Object ->
-    IO ()
-
-noWeakNotify :: Maybe WeakNotify
-noWeakNotify = Nothing
-
-weakNotifyWrapper ::
-    Maybe (Ptr (FunPtr (WeakNotifyC))) ->
-    WeakNotify ->
-    Ptr () ->
-    Ptr Object ->
-    IO ()
-weakNotifyWrapper funptrptr _cb data_ whereTheObjectWas = do
-    whereTheObjectWas' <- (newObject Object) whereTheObjectWas
-    _cb  data_ whereTheObjectWas'
-    maybeReleaseFunPtr funptrptr
-
--- callback ValueTransform
-valueTransformClosure :: ValueTransform -> IO Closure
-valueTransformClosure cb = newCClosure =<< mkValueTransform wrapped
-    where wrapped = valueTransformWrapper Nothing cb
-
-type ValueTransformC =
-    Ptr GValue ->
-    Ptr GValue ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkValueTransform :: ValueTransformC -> IO (FunPtr ValueTransformC)
-
-type ValueTransform =
-    GValue ->
-    GValue ->
-    IO ()
-
-noValueTransform :: Maybe ValueTransform
-noValueTransform = Nothing
-
-valueTransformWrapper ::
-    Maybe (Ptr (FunPtr (ValueTransformC))) ->
-    ValueTransform ->
-    Ptr GValue ->
-    Ptr GValue ->
-    IO ()
-valueTransformWrapper funptrptr _cb srcValue destValue = do
-    srcValue' <- (newBoxed GValue) srcValue
-    destValue' <- (newBoxed GValue) destValue
-    _cb  srcValue' destValue'
-    maybeReleaseFunPtr funptrptr
-
--- callback TypeValueTableValueInitFieldCallback
-typeValueTableValueInitFieldCallbackClosure :: TypeValueTableValueInitFieldCallback -> IO Closure
-typeValueTableValueInitFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableValueInitFieldCallback wrapped
-    where wrapped = typeValueTableValueInitFieldCallbackWrapper Nothing cb
-
-type TypeValueTableValueInitFieldCallbackC =
-    Ptr GValue ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTypeValueTableValueInitFieldCallback :: TypeValueTableValueInitFieldCallbackC -> IO (FunPtr TypeValueTableValueInitFieldCallbackC)
-
-type TypeValueTableValueInitFieldCallback =
-    GValue ->
-    IO ()
-
-noTypeValueTableValueInitFieldCallback :: Maybe TypeValueTableValueInitFieldCallback
-noTypeValueTableValueInitFieldCallback = Nothing
-
-typeValueTableValueInitFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (TypeValueTableValueInitFieldCallbackC))) ->
-    TypeValueTableValueInitFieldCallback ->
-    Ptr GValue ->
-    IO ()
-typeValueTableValueInitFieldCallbackWrapper funptrptr _cb value = do
-    value' <- (newBoxed GValue) value
-    _cb  value'
-    maybeReleaseFunPtr funptrptr
-
--- callback TypeValueTableValueFreeFieldCallback
-typeValueTableValueFreeFieldCallbackClosure :: TypeValueTableValueFreeFieldCallback -> IO Closure
-typeValueTableValueFreeFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableValueFreeFieldCallback wrapped
-    where wrapped = typeValueTableValueFreeFieldCallbackWrapper Nothing cb
-
-type TypeValueTableValueFreeFieldCallbackC =
-    Ptr GValue ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTypeValueTableValueFreeFieldCallback :: TypeValueTableValueFreeFieldCallbackC -> IO (FunPtr TypeValueTableValueFreeFieldCallbackC)
-
-type TypeValueTableValueFreeFieldCallback =
-    GValue ->
-    IO ()
-
-noTypeValueTableValueFreeFieldCallback :: Maybe TypeValueTableValueFreeFieldCallback
-noTypeValueTableValueFreeFieldCallback = Nothing
-
-typeValueTableValueFreeFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (TypeValueTableValueFreeFieldCallbackC))) ->
-    TypeValueTableValueFreeFieldCallback ->
-    Ptr GValue ->
-    IO ()
-typeValueTableValueFreeFieldCallbackWrapper funptrptr _cb value = do
-    value' <- (newBoxed GValue) value
-    _cb  value'
-    maybeReleaseFunPtr funptrptr
-
--- callback TypeValueTableValueCopyFieldCallback
-typeValueTableValueCopyFieldCallbackClosure :: TypeValueTableValueCopyFieldCallback -> IO Closure
-typeValueTableValueCopyFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableValueCopyFieldCallback wrapped
-    where wrapped = typeValueTableValueCopyFieldCallbackWrapper Nothing cb
-
-type TypeValueTableValueCopyFieldCallbackC =
-    Ptr GValue ->
-    Ptr GValue ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTypeValueTableValueCopyFieldCallback :: TypeValueTableValueCopyFieldCallbackC -> IO (FunPtr TypeValueTableValueCopyFieldCallbackC)
-
-type TypeValueTableValueCopyFieldCallback =
-    GValue ->
-    GValue ->
-    IO ()
-
-noTypeValueTableValueCopyFieldCallback :: Maybe TypeValueTableValueCopyFieldCallback
-noTypeValueTableValueCopyFieldCallback = Nothing
-
-typeValueTableValueCopyFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (TypeValueTableValueCopyFieldCallbackC))) ->
-    TypeValueTableValueCopyFieldCallback ->
-    Ptr GValue ->
-    Ptr GValue ->
-    IO ()
-typeValueTableValueCopyFieldCallbackWrapper funptrptr _cb srcValue destValue = do
-    srcValue' <- (newBoxed GValue) srcValue
-    destValue' <- (newBoxed GValue) destValue
-    _cb  srcValue' destValue'
-    maybeReleaseFunPtr funptrptr
-
--- callback TypeValueTableLcopyValueFieldCallback
-typeValueTableLcopyValueFieldCallbackClosure :: TypeValueTableLcopyValueFieldCallback -> IO Closure
-typeValueTableLcopyValueFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableLcopyValueFieldCallback wrapped
-    where wrapped = typeValueTableLcopyValueFieldCallbackWrapper Nothing cb
-
-type TypeValueTableLcopyValueFieldCallbackC =
-    Ptr GValue ->
-    Word32 ->
-    Ptr TypeCValue ->
-    Word32 ->
-    IO CString
-
-foreign import ccall "wrapper"
-    mkTypeValueTableLcopyValueFieldCallback :: TypeValueTableLcopyValueFieldCallbackC -> IO (FunPtr TypeValueTableLcopyValueFieldCallbackC)
-
-type TypeValueTableLcopyValueFieldCallback =
-    GValue ->
-    Word32 ->
-    TypeCValue ->
-    Word32 ->
-    IO T.Text
-
-noTypeValueTableLcopyValueFieldCallback :: Maybe TypeValueTableLcopyValueFieldCallback
-noTypeValueTableLcopyValueFieldCallback = Nothing
-
-typeValueTableLcopyValueFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (TypeValueTableLcopyValueFieldCallbackC))) ->
-    TypeValueTableLcopyValueFieldCallback ->
-    Ptr GValue ->
-    Word32 ->
-    Ptr TypeCValue ->
-    Word32 ->
-    IO CString
-typeValueTableLcopyValueFieldCallbackWrapper funptrptr _cb value nCollectValues collectValues collectFlags = do
-    value' <- (newBoxed GValue) value
-    collectValues' <- (newPtr TypeCValue) collectValues
-    result <- _cb  value' nCollectValues collectValues' collectFlags
-    maybeReleaseFunPtr funptrptr
-    result' <- textToCString result
-    return result'
-
--- callback TypeValueTableCollectValueFieldCallback
-typeValueTableCollectValueFieldCallbackClosure :: TypeValueTableCollectValueFieldCallback -> IO Closure
-typeValueTableCollectValueFieldCallbackClosure cb = newCClosure =<< mkTypeValueTableCollectValueFieldCallback wrapped
-    where wrapped = typeValueTableCollectValueFieldCallbackWrapper Nothing cb
-
-type TypeValueTableCollectValueFieldCallbackC =
-    Ptr GValue ->
-    Word32 ->
-    Ptr TypeCValue ->
-    Word32 ->
-    IO CString
-
-foreign import ccall "wrapper"
-    mkTypeValueTableCollectValueFieldCallback :: TypeValueTableCollectValueFieldCallbackC -> IO (FunPtr TypeValueTableCollectValueFieldCallbackC)
-
-type TypeValueTableCollectValueFieldCallback =
-    GValue ->
-    Word32 ->
-    TypeCValue ->
-    Word32 ->
-    IO T.Text
-
-noTypeValueTableCollectValueFieldCallback :: Maybe TypeValueTableCollectValueFieldCallback
-noTypeValueTableCollectValueFieldCallback = Nothing
-
-typeValueTableCollectValueFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (TypeValueTableCollectValueFieldCallbackC))) ->
-    TypeValueTableCollectValueFieldCallback ->
-    Ptr GValue ->
-    Word32 ->
-    Ptr TypeCValue ->
-    Word32 ->
-    IO CString
-typeValueTableCollectValueFieldCallbackWrapper funptrptr _cb value nCollectValues collectValues collectFlags = do
-    value' <- (newBoxed GValue) value
-    collectValues' <- (newPtr TypeCValue) collectValues
-    result <- _cb  value' nCollectValues collectValues' collectFlags
-    maybeReleaseFunPtr funptrptr
-    result' <- textToCString result
-    return result'
-
--- callback TypePluginUse
--- XXX Could not generate callback wrapper for TypePluginUse
--- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."
--- callback TypePluginUnuse
--- XXX Could not generate callback wrapper for TypePluginUnuse
--- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."
--- callback TypePluginCompleteTypeInfo
--- XXX Could not generate callback wrapper for TypePluginCompleteTypeInfo
--- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."
--- callback TypePluginCompleteInterfaceInfo
--- XXX Could not generate callback wrapper for TypePluginCompleteInterfaceInfo
--- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."
--- callback TypeInterfaceCheckFunc
-typeInterfaceCheckFuncClosure :: TypeInterfaceCheckFunc -> IO Closure
-typeInterfaceCheckFuncClosure cb = newCClosure =<< mkTypeInterfaceCheckFunc wrapped
-    where wrapped = typeInterfaceCheckFuncWrapper Nothing cb
-
-type TypeInterfaceCheckFuncC =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkTypeInterfaceCheckFunc :: TypeInterfaceCheckFuncC -> IO (FunPtr TypeInterfaceCheckFuncC)
-
-type TypeInterfaceCheckFunc =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-noTypeInterfaceCheckFunc :: Maybe TypeInterfaceCheckFunc
-noTypeInterfaceCheckFunc = Nothing
-
-typeInterfaceCheckFuncWrapper ::
-    Maybe (Ptr (FunPtr (TypeInterfaceCheckFuncC))) ->
-    TypeInterfaceCheckFunc ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-typeInterfaceCheckFuncWrapper funptrptr _cb checkData gIface = do
-    _cb  checkData gIface
-    maybeReleaseFunPtr funptrptr
-
--- callback TypeClassCacheFunc
-typeClassCacheFuncClosure :: TypeClassCacheFunc -> IO Closure
-typeClassCacheFuncClosure cb = newCClosure =<< mkTypeClassCacheFunc wrapped
-    where wrapped = typeClassCacheFuncWrapper Nothing cb
-
-type TypeClassCacheFuncC =
-    Ptr () ->
-    Ptr TypeClass ->
-    IO CInt
-
-foreign import ccall "wrapper"
-    mkTypeClassCacheFunc :: TypeClassCacheFuncC -> IO (FunPtr TypeClassCacheFuncC)
-
-type TypeClassCacheFunc =
-    Ptr () ->
-    TypeClass ->
-    IO Bool
-
-noTypeClassCacheFunc :: Maybe TypeClassCacheFunc
-noTypeClassCacheFunc = Nothing
-
-typeClassCacheFuncWrapper ::
-    Maybe (Ptr (FunPtr (TypeClassCacheFuncC))) ->
-    TypeClassCacheFunc ->
-    Ptr () ->
-    Ptr TypeClass ->
-    IO CInt
-typeClassCacheFuncWrapper funptrptr _cb cacheData gClass = do
-    gClass' <- (newPtr TypeClass) gClass
-    result <- _cb  cacheData gClass'
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
--- callback ToggleNotify
-toggleNotifyClosure :: ToggleNotify -> IO Closure
-toggleNotifyClosure cb = newCClosure =<< mkToggleNotify wrapped
-    where wrapped = toggleNotifyWrapper Nothing cb
-
-type ToggleNotifyC =
-    Ptr () ->
-    Ptr Object ->
-    CInt ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkToggleNotify :: ToggleNotifyC -> IO (FunPtr ToggleNotifyC)
-
-type ToggleNotify =
-    Ptr () ->
-    Object ->
-    Bool ->
-    IO ()
-
-noToggleNotify :: Maybe ToggleNotify
-noToggleNotify = Nothing
-
-toggleNotifyWrapper ::
-    Maybe (Ptr (FunPtr (ToggleNotifyC))) ->
-    ToggleNotify ->
-    Ptr () ->
-    Ptr Object ->
-    CInt ->
-    IO ()
-toggleNotifyWrapper funptrptr _cb data_ object isLastRef = do
-    object' <- (newObject Object) object
-    let isLastRef' = (/= 0) isLastRef
-    _cb  data_ object' isLastRef'
-    maybeReleaseFunPtr funptrptr
-
--- callback SignalEmissionHook
-signalEmissionHookClosure :: SignalEmissionHook -> IO Closure
-signalEmissionHookClosure cb = newCClosure =<< mkSignalEmissionHook wrapped
-    where wrapped = signalEmissionHookWrapper Nothing cb
-
-type SignalEmissionHookC =
-    Ptr SignalInvocationHint ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-
-foreign import ccall "wrapper"
-    mkSignalEmissionHook :: SignalEmissionHookC -> IO (FunPtr SignalEmissionHookC)
-
-type SignalEmissionHook =
-    SignalInvocationHint ->
-    [GValue] ->
-    Ptr () ->
-    IO Bool
-
-noSignalEmissionHook :: Maybe SignalEmissionHook
-noSignalEmissionHook = Nothing
-
-signalEmissionHookWrapper ::
-    Maybe (Ptr (FunPtr (SignalEmissionHookC))) ->
-    SignalEmissionHook ->
-    Ptr SignalInvocationHint ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-signalEmissionHookWrapper funptrptr _cb ihint nParamValues paramValues data_ = do
-    ihint' <- (newPtr 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
-signalAccumulatorClosure :: SignalAccumulator -> IO Closure
-signalAccumulatorClosure cb = newCClosure =<< mkSignalAccumulator wrapped
-    where wrapped = signalAccumulatorWrapper Nothing cb
-
-type SignalAccumulatorC =
-    Ptr SignalInvocationHint ->
-    Ptr GValue ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-
-foreign import ccall "wrapper"
-    mkSignalAccumulator :: SignalAccumulatorC -> IO (FunPtr SignalAccumulatorC)
-
-type SignalAccumulator =
-    SignalInvocationHint ->
-    GValue ->
-    GValue ->
-    Ptr () ->
-    IO Bool
-
-noSignalAccumulator :: Maybe SignalAccumulator
-noSignalAccumulator = Nothing
-
-signalAccumulatorWrapper ::
-    Maybe (Ptr (FunPtr (SignalAccumulatorC))) ->
-    SignalAccumulator ->
-    Ptr SignalInvocationHint ->
-    Ptr GValue ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-signalAccumulatorWrapper funptrptr _cb ihint returnAccu handlerReturn data_ = do
-    ihint' <- (newPtr SignalInvocationHint) ihint
-    returnAccu' <- (newBoxed GValue) returnAccu
-    handlerReturn' <- (newBoxed GValue) handlerReturn
-    result <- _cb  ihint' returnAccu' handlerReturn' data_
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
--- callback ParamSpecTypeInfoValuesCmpFieldCallback
-paramSpecTypeInfoValuesCmpFieldCallbackClosure :: ParamSpecTypeInfoValuesCmpFieldCallback -> IO Closure
-paramSpecTypeInfoValuesCmpFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoValuesCmpFieldCallback wrapped
-    where wrapped = paramSpecTypeInfoValuesCmpFieldCallbackWrapper Nothing cb
-
-type ParamSpecTypeInfoValuesCmpFieldCallbackC =
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    Ptr GValue ->
-    IO Int32
-
-foreign import ccall "wrapper"
-    mkParamSpecTypeInfoValuesCmpFieldCallback :: ParamSpecTypeInfoValuesCmpFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoValuesCmpFieldCallbackC)
-
-type ParamSpecTypeInfoValuesCmpFieldCallback =
-    GParamSpec ->
-    GValue ->
-    GValue ->
-    IO Int32
-
-noParamSpecTypeInfoValuesCmpFieldCallback :: Maybe ParamSpecTypeInfoValuesCmpFieldCallback
-noParamSpecTypeInfoValuesCmpFieldCallback = Nothing
-
-paramSpecTypeInfoValuesCmpFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (ParamSpecTypeInfoValuesCmpFieldCallbackC))) ->
-    ParamSpecTypeInfoValuesCmpFieldCallback ->
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    Ptr GValue ->
-    IO Int32
-paramSpecTypeInfoValuesCmpFieldCallbackWrapper funptrptr _cb pspec value1 value2 = do
-    pspec' <- newGParamSpecFromPtr pspec
-    value1' <- (newBoxed GValue) value1
-    value2' <- (newBoxed GValue) value2
-    result <- _cb  pspec' value1' value2'
-    maybeReleaseFunPtr funptrptr
-    return result
-
--- callback ParamSpecTypeInfoValueValidateFieldCallback
-paramSpecTypeInfoValueValidateFieldCallbackClosure :: ParamSpecTypeInfoValueValidateFieldCallback -> IO Closure
-paramSpecTypeInfoValueValidateFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoValueValidateFieldCallback wrapped
-    where wrapped = paramSpecTypeInfoValueValidateFieldCallbackWrapper Nothing cb
-
-type ParamSpecTypeInfoValueValidateFieldCallbackC =
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    IO CInt
-
-foreign import ccall "wrapper"
-    mkParamSpecTypeInfoValueValidateFieldCallback :: ParamSpecTypeInfoValueValidateFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoValueValidateFieldCallbackC)
-
-type ParamSpecTypeInfoValueValidateFieldCallback =
-    GParamSpec ->
-    GValue ->
-    IO Bool
-
-noParamSpecTypeInfoValueValidateFieldCallback :: Maybe ParamSpecTypeInfoValueValidateFieldCallback
-noParamSpecTypeInfoValueValidateFieldCallback = Nothing
-
-paramSpecTypeInfoValueValidateFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (ParamSpecTypeInfoValueValidateFieldCallbackC))) ->
-    ParamSpecTypeInfoValueValidateFieldCallback ->
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    IO CInt
-paramSpecTypeInfoValueValidateFieldCallbackWrapper funptrptr _cb pspec value = do
-    pspec' <- newGParamSpecFromPtr pspec
-    value' <- (newBoxed GValue) value
-    result <- _cb  pspec' value'
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
--- callback ParamSpecTypeInfoValueSetDefaultFieldCallback
-paramSpecTypeInfoValueSetDefaultFieldCallbackClosure :: ParamSpecTypeInfoValueSetDefaultFieldCallback -> IO Closure
-paramSpecTypeInfoValueSetDefaultFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoValueSetDefaultFieldCallback wrapped
-    where wrapped = paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper Nothing cb
-
-type ParamSpecTypeInfoValueSetDefaultFieldCallbackC =
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkParamSpecTypeInfoValueSetDefaultFieldCallback :: ParamSpecTypeInfoValueSetDefaultFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoValueSetDefaultFieldCallbackC)
-
-type ParamSpecTypeInfoValueSetDefaultFieldCallback =
-    GParamSpec ->
-    GValue ->
-    IO ()
-
-noParamSpecTypeInfoValueSetDefaultFieldCallback :: Maybe ParamSpecTypeInfoValueSetDefaultFieldCallback
-noParamSpecTypeInfoValueSetDefaultFieldCallback = Nothing
-
-paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (ParamSpecTypeInfoValueSetDefaultFieldCallbackC))) ->
-    ParamSpecTypeInfoValueSetDefaultFieldCallback ->
-    Ptr GParamSpec ->
-    Ptr GValue ->
-    IO ()
-paramSpecTypeInfoValueSetDefaultFieldCallbackWrapper funptrptr _cb pspec value = do
-    pspec' <- newGParamSpecFromPtr pspec
-    value' <- (newBoxed GValue) value
-    _cb  pspec' value'
-    maybeReleaseFunPtr funptrptr
-
--- callback ParamSpecTypeInfoInstanceInitFieldCallback
-paramSpecTypeInfoInstanceInitFieldCallbackClosure :: ParamSpecTypeInfoInstanceInitFieldCallback -> IO Closure
-paramSpecTypeInfoInstanceInitFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoInstanceInitFieldCallback wrapped
-    where wrapped = paramSpecTypeInfoInstanceInitFieldCallbackWrapper Nothing cb
-
-type ParamSpecTypeInfoInstanceInitFieldCallbackC =
-    Ptr GParamSpec ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkParamSpecTypeInfoInstanceInitFieldCallback :: ParamSpecTypeInfoInstanceInitFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoInstanceInitFieldCallbackC)
-
-type ParamSpecTypeInfoInstanceInitFieldCallback =
-    GParamSpec ->
-    IO ()
-
-noParamSpecTypeInfoInstanceInitFieldCallback :: Maybe ParamSpecTypeInfoInstanceInitFieldCallback
-noParamSpecTypeInfoInstanceInitFieldCallback = Nothing
-
-paramSpecTypeInfoInstanceInitFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (ParamSpecTypeInfoInstanceInitFieldCallbackC))) ->
-    ParamSpecTypeInfoInstanceInitFieldCallback ->
-    Ptr GParamSpec ->
-    IO ()
-paramSpecTypeInfoInstanceInitFieldCallbackWrapper funptrptr _cb pspec = do
-    pspec' <- newGParamSpecFromPtr pspec
-    _cb  pspec'
-    maybeReleaseFunPtr funptrptr
-
--- callback ParamSpecTypeInfoFinalizeFieldCallback
-paramSpecTypeInfoFinalizeFieldCallbackClosure :: ParamSpecTypeInfoFinalizeFieldCallback -> IO Closure
-paramSpecTypeInfoFinalizeFieldCallbackClosure cb = newCClosure =<< mkParamSpecTypeInfoFinalizeFieldCallback wrapped
-    where wrapped = paramSpecTypeInfoFinalizeFieldCallbackWrapper Nothing cb
-
-type ParamSpecTypeInfoFinalizeFieldCallbackC =
-    Ptr GParamSpec ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkParamSpecTypeInfoFinalizeFieldCallback :: ParamSpecTypeInfoFinalizeFieldCallbackC -> IO (FunPtr ParamSpecTypeInfoFinalizeFieldCallbackC)
-
-type ParamSpecTypeInfoFinalizeFieldCallback =
-    GParamSpec ->
-    IO ()
-
-noParamSpecTypeInfoFinalizeFieldCallback :: Maybe ParamSpecTypeInfoFinalizeFieldCallback
-noParamSpecTypeInfoFinalizeFieldCallback = Nothing
-
-paramSpecTypeInfoFinalizeFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (ParamSpecTypeInfoFinalizeFieldCallbackC))) ->
-    ParamSpecTypeInfoFinalizeFieldCallback ->
-    Ptr GParamSpec ->
-    IO ()
-paramSpecTypeInfoFinalizeFieldCallbackWrapper funptrptr _cb pspec = do
-    pspec' <- newGParamSpecFromPtr pspec
-    _cb  pspec'
-    maybeReleaseFunPtr funptrptr
-
--- callback ObjectSetPropertyFunc
-objectSetPropertyFuncClosure :: ObjectSetPropertyFunc -> IO Closure
-objectSetPropertyFuncClosure cb = newCClosure =<< mkObjectSetPropertyFunc wrapped
-    where wrapped = objectSetPropertyFuncWrapper Nothing cb
-
-type ObjectSetPropertyFuncC =
-    Ptr Object ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr GParamSpec ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkObjectSetPropertyFunc :: ObjectSetPropertyFuncC -> IO (FunPtr ObjectSetPropertyFuncC)
-
-type ObjectSetPropertyFunc =
-    Object ->
-    Word32 ->
-    GValue ->
-    GParamSpec ->
-    IO ()
-
-noObjectSetPropertyFunc :: Maybe ObjectSetPropertyFunc
-noObjectSetPropertyFunc = Nothing
-
-objectSetPropertyFuncWrapper ::
-    Maybe (Ptr (FunPtr (ObjectSetPropertyFuncC))) ->
-    ObjectSetPropertyFunc ->
-    Ptr Object ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr GParamSpec ->
-    IO ()
-objectSetPropertyFuncWrapper funptrptr _cb object propertyId value pspec = do
-    object' <- (newObject Object) object
-    value' <- (newBoxed GValue) value
-    pspec' <- newGParamSpecFromPtr pspec
-    _cb  object' propertyId value' pspec'
-    maybeReleaseFunPtr funptrptr
-
--- callback ObjectGetPropertyFunc
-objectGetPropertyFuncClosure :: ObjectGetPropertyFunc -> IO Closure
-objectGetPropertyFuncClosure cb = newCClosure =<< mkObjectGetPropertyFunc wrapped
-    where wrapped = objectGetPropertyFuncWrapper Nothing cb
-
-type ObjectGetPropertyFuncC =
-    Ptr Object ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr GParamSpec ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkObjectGetPropertyFunc :: ObjectGetPropertyFuncC -> IO (FunPtr ObjectGetPropertyFuncC)
-
-type ObjectGetPropertyFunc =
-    Object ->
-    Word32 ->
-    GValue ->
-    GParamSpec ->
-    IO ()
-
-noObjectGetPropertyFunc :: Maybe ObjectGetPropertyFunc
-noObjectGetPropertyFunc = Nothing
-
-objectGetPropertyFuncWrapper ::
-    Maybe (Ptr (FunPtr (ObjectGetPropertyFuncC))) ->
-    ObjectGetPropertyFunc ->
-    Ptr Object ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr GParamSpec ->
-    IO ()
-objectGetPropertyFuncWrapper funptrptr _cb object propertyId value pspec = do
-    object' <- (newObject Object) object
-    value' <- (newBoxed GValue) value
-    pspec' <- newGParamSpecFromPtr pspec
-    _cb  object' propertyId value' pspec'
-    maybeReleaseFunPtr funptrptr
-
--- callback ObjectFinalizeFunc
-objectFinalizeFuncClosure :: ObjectFinalizeFunc -> IO Closure
-objectFinalizeFuncClosure cb = newCClosure =<< mkObjectFinalizeFunc wrapped
-    where wrapped = objectFinalizeFuncWrapper Nothing cb
-
-type ObjectFinalizeFuncC =
-    Ptr Object ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkObjectFinalizeFunc :: ObjectFinalizeFuncC -> IO (FunPtr ObjectFinalizeFuncC)
-
-type ObjectFinalizeFunc =
-    Object ->
-    IO ()
-
-noObjectFinalizeFunc :: Maybe ObjectFinalizeFunc
-noObjectFinalizeFunc = Nothing
-
-objectFinalizeFuncWrapper ::
-    Maybe (Ptr (FunPtr (ObjectFinalizeFuncC))) ->
-    ObjectFinalizeFunc ->
-    Ptr Object ->
-    IO ()
-objectFinalizeFuncWrapper funptrptr _cb object = do
-    object' <- (newObject Object) object
-    _cb  object'
-    maybeReleaseFunPtr funptrptr
-
--- callback InterfaceInitFunc
-interfaceInitFuncClosure :: InterfaceInitFunc -> IO Closure
-interfaceInitFuncClosure cb = newCClosure =<< mkInterfaceInitFunc wrapped
-    where wrapped = interfaceInitFuncWrapper Nothing cb
-
-type InterfaceInitFuncC =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkInterfaceInitFunc :: InterfaceInitFuncC -> IO (FunPtr InterfaceInitFuncC)
-
-type InterfaceInitFunc =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-noInterfaceInitFunc :: Maybe InterfaceInitFunc
-noInterfaceInitFunc = Nothing
-
-interfaceInitFuncWrapper ::
-    Maybe (Ptr (FunPtr (InterfaceInitFuncC))) ->
-    InterfaceInitFunc ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-interfaceInitFuncWrapper funptrptr _cb gIface ifaceData = do
-    _cb  gIface ifaceData
-    maybeReleaseFunPtr funptrptr
-
--- callback InterfaceFinalizeFunc
-interfaceFinalizeFuncClosure :: InterfaceFinalizeFunc -> IO Closure
-interfaceFinalizeFuncClosure cb = newCClosure =<< mkInterfaceFinalizeFunc wrapped
-    where wrapped = interfaceFinalizeFuncWrapper Nothing cb
-
-type InterfaceFinalizeFuncC =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkInterfaceFinalizeFunc :: InterfaceFinalizeFuncC -> IO (FunPtr InterfaceFinalizeFuncC)
-
-type InterfaceFinalizeFunc =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-noInterfaceFinalizeFunc :: Maybe InterfaceFinalizeFunc
-noInterfaceFinalizeFunc = Nothing
-
-interfaceFinalizeFuncWrapper ::
-    Maybe (Ptr (FunPtr (InterfaceFinalizeFuncC))) ->
-    InterfaceFinalizeFunc ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-interfaceFinalizeFuncWrapper funptrptr _cb gIface ifaceData = do
-    _cb  gIface ifaceData
-    maybeReleaseFunPtr funptrptr
-
--- callback InstanceInitFunc
-instanceInitFuncClosure :: InstanceInitFunc -> IO Closure
-instanceInitFuncClosure cb = newCClosure =<< mkInstanceInitFunc wrapped
-    where wrapped = instanceInitFuncWrapper Nothing cb
-
-type InstanceInitFuncC =
-    Ptr TypeInstance ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkInstanceInitFunc :: InstanceInitFuncC -> IO (FunPtr InstanceInitFuncC)
-
-type InstanceInitFunc =
-    TypeInstance ->
-    Ptr () ->
-    IO ()
-
-noInstanceInitFunc :: Maybe InstanceInitFunc
-noInstanceInitFunc = Nothing
-
-instanceInitFuncWrapper ::
-    Maybe (Ptr (FunPtr (InstanceInitFuncC))) ->
-    InstanceInitFunc ->
-    Ptr TypeInstance ->
-    Ptr () ->
-    IO ()
-instanceInitFuncWrapper funptrptr _cb instance_ gClass = do
-    instance_' <- (newPtr TypeInstance) instance_
-    _cb  instance_' gClass
-    maybeReleaseFunPtr funptrptr
-
--- callback ClosureNotify
-closureNotifyClosure :: ClosureNotify -> IO Closure
-closureNotifyClosure cb = newCClosure =<< mkClosureNotify wrapped
-    where wrapped = closureNotifyWrapper Nothing cb
-
-type ClosureNotifyC =
-    Ptr () ->
-    Ptr Closure ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkClosureNotify :: ClosureNotifyC -> IO (FunPtr ClosureNotifyC)
-
-type ClosureNotify =
-    Ptr () ->
-    Closure ->
-    IO ()
-
-noClosureNotify :: Maybe ClosureNotify
-noClosureNotify = Nothing
-
-closureNotifyWrapper ::
-    Maybe (Ptr (FunPtr (ClosureNotifyC))) ->
-    ClosureNotify ->
-    Ptr () ->
-    Ptr Closure ->
-    IO ()
-closureNotifyWrapper funptrptr _cb data_ closure = do
-    closure' <- (newBoxed Closure) closure
-    _cb  data_ closure'
-    maybeReleaseFunPtr funptrptr
-
--- callback ClosureMarshalFieldCallback
-closureMarshalFieldCallbackClosure :: ClosureMarshalFieldCallback -> IO Closure
-closureMarshalFieldCallbackClosure cb = newCClosure =<< mkClosureMarshalFieldCallback wrapped
-    where wrapped = closureMarshalFieldCallbackWrapper Nothing cb
-
-type ClosureMarshalFieldCallbackC =
-    Ptr Closure ->
-    Ptr GValue ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkClosureMarshalFieldCallback :: ClosureMarshalFieldCallbackC -> IO (FunPtr ClosureMarshalFieldCallbackC)
-
-type ClosureMarshalFieldCallback =
-    Closure ->
-    GValue ->
-    Word32 ->
-    GValue ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-noClosureMarshalFieldCallback :: Maybe ClosureMarshalFieldCallback
-noClosureMarshalFieldCallback = Nothing
-
-closureMarshalFieldCallbackWrapper ::
-    Maybe (Ptr (FunPtr (ClosureMarshalFieldCallbackC))) ->
-    ClosureMarshalFieldCallback ->
-    Ptr Closure ->
-    Ptr GValue ->
-    Word32 ->
-    Ptr GValue ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-closureMarshalFieldCallbackWrapper funptrptr _cb closure returnValue nParamValues paramValues invocationHint marshalData = do
-    closure' <- (newBoxed Closure) closure
-    returnValue' <- (newBoxed GValue) returnValue
-    paramValues' <- (newBoxed GValue) paramValues
-    _cb  closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    maybeReleaseFunPtr funptrptr
-
--- callback ClassInitFunc
-classInitFuncClosure :: ClassInitFunc -> IO Closure
-classInitFuncClosure cb = newCClosure =<< mkClassInitFunc wrapped
-    where wrapped = classInitFuncWrapper Nothing cb
-
-type ClassInitFuncC =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkClassInitFunc :: ClassInitFuncC -> IO (FunPtr ClassInitFuncC)
-
-type ClassInitFunc =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-noClassInitFunc :: Maybe ClassInitFunc
-noClassInitFunc = Nothing
-
-classInitFuncWrapper ::
-    Maybe (Ptr (FunPtr (ClassInitFuncC))) ->
-    ClassInitFunc ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-classInitFuncWrapper funptrptr _cb gClass classData = do
-    _cb  gClass classData
-    maybeReleaseFunPtr funptrptr
-
--- callback ClassFinalizeFunc
-classFinalizeFuncClosure :: ClassFinalizeFunc -> IO Closure
-classFinalizeFuncClosure cb = newCClosure =<< mkClassFinalizeFunc wrapped
-    where wrapped = classFinalizeFuncWrapper Nothing cb
-
-type ClassFinalizeFuncC =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkClassFinalizeFunc :: ClassFinalizeFuncC -> IO (FunPtr ClassFinalizeFuncC)
-
-type ClassFinalizeFunc =
-    Ptr () ->
-    Ptr () ->
-    IO ()
-
-noClassFinalizeFunc :: Maybe ClassFinalizeFunc
-noClassFinalizeFunc = Nothing
-
-classFinalizeFuncWrapper ::
-    Maybe (Ptr (FunPtr (ClassFinalizeFuncC))) ->
-    ClassFinalizeFunc ->
-    Ptr () ->
-    Ptr () ->
-    IO ()
-classFinalizeFuncWrapper funptrptr _cb gClass classData = do
-    _cb  gClass classData
-    maybeReleaseFunPtr funptrptr
-
--- callback Callback
-callbackClosure :: Callback -> IO Closure
-callbackClosure cb = newCClosure =<< mkCallback wrapped
-    where wrapped = callbackWrapper Nothing cb
-
-type CallbackC =
-    IO ()
-
-foreign import ccall "wrapper"
-    mkCallback :: CallbackC -> IO (FunPtr CallbackC)
-
-type Callback =
-    IO ()
-
-noCallback :: Maybe Callback
-noCallback = Nothing
-
-callbackWrapper ::
-    Maybe (Ptr (FunPtr (CallbackC))) ->
-    Callback ->
-    IO ()
-callbackWrapper funptrptr _cb = do
-    _cb 
-    maybeReleaseFunPtr funptrptr
-
--- callback BoxedFreeFunc
-boxedFreeFuncClosure :: BoxedFreeFunc -> IO Closure
-boxedFreeFuncClosure cb = newCClosure =<< mkBoxedFreeFunc wrapped
-    where wrapped = boxedFreeFuncWrapper Nothing cb
-
-type BoxedFreeFuncC =
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkBoxedFreeFunc :: BoxedFreeFuncC -> IO (FunPtr BoxedFreeFuncC)
-
-type BoxedFreeFunc =
-    Ptr () ->
-    IO ()
-
-noBoxedFreeFunc :: Maybe BoxedFreeFunc
-noBoxedFreeFunc = Nothing
-
-boxedFreeFuncWrapper ::
-    Maybe (Ptr (FunPtr (BoxedFreeFuncC))) ->
-    BoxedFreeFunc ->
-    Ptr () ->
-    IO ()
-boxedFreeFuncWrapper funptrptr _cb boxed = do
-    _cb  boxed
-    maybeReleaseFunPtr funptrptr
-
--- callback BindingTransformFunc
-bindingTransformFuncClosure :: BindingTransformFunc -> IO Closure
-bindingTransformFuncClosure cb = newCClosure =<< mkBindingTransformFunc wrapped
-    where wrapped = bindingTransformFuncWrapper Nothing cb
-
-type BindingTransformFuncC =
-    Ptr Binding ->
-    Ptr GValue ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-
-foreign import ccall "wrapper"
-    mkBindingTransformFunc :: BindingTransformFuncC -> IO (FunPtr BindingTransformFuncC)
-
-type BindingTransformFunc =
-    Binding ->
-    GValue ->
-    GValue ->
-    IO Bool
-
-noBindingTransformFunc :: Maybe BindingTransformFunc
-noBindingTransformFunc = Nothing
-
-bindingTransformFuncWrapper ::
-    Maybe (Ptr (FunPtr (BindingTransformFuncC))) ->
-    BindingTransformFunc ->
-    Ptr Binding ->
-    Ptr GValue ->
-    Ptr GValue ->
-    Ptr () ->
-    IO CInt
-bindingTransformFuncWrapper funptrptr _cb binding fromValue toValue _ = do
-    binding' <- (newObject Binding) binding
-    fromValue' <- (newBoxed GValue) fromValue
-    toValue' <- (newBoxed GValue) toValue
-    result <- _cb  binding' fromValue' toValue'
-    maybeReleaseFunPtr funptrptr
-    let result' = (fromIntegral . fromEnum) result
-    return result'
-
--- callback BaseInitFunc
-baseInitFuncClosure :: BaseInitFunc -> IO Closure
-baseInitFuncClosure cb = newCClosure =<< mkBaseInitFunc wrapped
-    where wrapped = baseInitFuncWrapper Nothing cb
-
-type BaseInitFuncC =
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkBaseInitFunc :: BaseInitFuncC -> IO (FunPtr BaseInitFuncC)
-
-type BaseInitFunc =
-    Ptr () ->
-    IO ()
-
-noBaseInitFunc :: Maybe BaseInitFunc
-noBaseInitFunc = Nothing
-
-baseInitFuncWrapper ::
-    Maybe (Ptr (FunPtr (BaseInitFuncC))) ->
-    BaseInitFunc ->
-    Ptr () ->
-    IO ()
-baseInitFuncWrapper funptrptr _cb gClass = do
-    _cb  gClass
-    maybeReleaseFunPtr funptrptr
-
--- callback BaseFinalizeFunc
-baseFinalizeFuncClosure :: BaseFinalizeFunc -> IO Closure
-baseFinalizeFuncClosure cb = newCClosure =<< mkBaseFinalizeFunc wrapped
-    where wrapped = baseFinalizeFuncWrapper Nothing cb
-
-type BaseFinalizeFuncC =
-    Ptr () ->
-    IO ()
-
-foreign import ccall "wrapper"
-    mkBaseFinalizeFunc :: BaseFinalizeFuncC -> IO (FunPtr BaseFinalizeFuncC)
-
-type BaseFinalizeFunc =
-    Ptr () ->
-    IO ()
-
-noBaseFinalizeFunc :: Maybe BaseFinalizeFunc
-noBaseFinalizeFunc = Nothing
-
-baseFinalizeFuncWrapper ::
-    Maybe (Ptr (FunPtr (BaseFinalizeFuncC))) ->
-    BaseFinalizeFunc ->
-    Ptr () ->
-    IO ()
-baseFinalizeFuncWrapper funptrptr _cb gClass = do
-    _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,85 +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 (garetxe@gmail.com)
--}
-
-module GI.GObject.Constants
-    ( 
-    pattern VALUE_NOCOPY_CONTENTS           ,
-    pattern VALUE_COLLECT_FORMAT_MAX_LENGTH ,
-    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.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-
-pattern VALUE_NOCOPY_CONTENTS = 134217728 :: Int32
-
-
-pattern VALUE_COLLECT_FORMAT_MAX_LENGTH = 8 :: Int32
-
-
-pattern TYPE_RESERVED_USER_FIRST = 49 :: Int32
-
-
-pattern TYPE_RESERVED_GLIB_LAST = 31 :: Int32
-
-
-pattern TYPE_RESERVED_GLIB_FIRST = 22 :: Int32
-
-
-pattern TYPE_RESERVED_BSE_LAST = 48 :: Int32
-
-
-pattern TYPE_RESERVED_BSE_FIRST = 32 :: Int32
-
-
-pattern TYPE_FUNDAMENTAL_SHIFT = 2 :: Int32
-
-
-pattern TYPE_FUNDAMENTAL_MAX = 255 :: Int32
-
-
-pattern TYPE_FLAG_RESERVED_ID_BIT = 1 :: Word64
-
-
-pattern SIGNAL_MATCH_MASK = 63 :: Int32
-
-
-pattern SIGNAL_FLAGS_MASK = 511 :: Int32
-
-
-pattern PARAM_USER_SHIFT = 8 :: Int32
-
-
-pattern PARAM_STATIC_STRINGS = 0 :: Int32
-
-
-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,276 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Flags
-    ( 
-
--- * Exported types
-    TypeFundamentalFlags(..)                ,
-    TypeFlags(..)                           ,
-    TypeDebugFlags(..)                      ,
-    SignalMatchType(..)                     ,
-    SignalFlags(..)                         ,
-    ParamFlags(..)                          ,
-    ConnectFlags(..)                        ,
-    BindingFlags(..)                        ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-
-
-
--- Flags TypeFundamentalFlags
-
-data TypeFundamentalFlags = 
-      TypeFundamentalFlagsClassed
-    | TypeFundamentalFlagsInstantiatable
-    | TypeFundamentalFlagsDerivable
-    | TypeFundamentalFlagsDeepDerivable
-    | AnotherTypeFundamentalFlags Int
-    deriving (Show, Eq)
-
-instance 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 IsGFlag TypeFundamentalFlags
-
--- Flags TypeFlags
-
-data TypeFlags = 
-      TypeFlagsAbstract
-    | TypeFlagsValueAbstract
-    | AnotherTypeFlags Int
-    deriving (Show, Eq)
-
-instance Enum TypeFlags where
-    fromEnum TypeFlagsAbstract = 16
-    fromEnum TypeFlagsValueAbstract = 32
-    fromEnum (AnotherTypeFlags k) = k
-
-    toEnum 16 = TypeFlagsAbstract
-    toEnum 32 = TypeFlagsValueAbstract
-    toEnum k = AnotherTypeFlags k
-
-instance IsGFlag TypeFlags
-
--- Flags TypeDebugFlags
-{-# DEPRECATED TypeDebugFlags ["(Since version 2.36)","g_type_init() is now done automatically"]#-}
-data TypeDebugFlags = 
-      TypeDebugFlagsNone
-    | TypeDebugFlagsObjects
-    | TypeDebugFlagsSignals
-    | TypeDebugFlagsInstanceCount
-    | TypeDebugFlagsMask
-    | AnotherTypeDebugFlags Int
-    deriving (Show, Eq)
-
-instance 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 IsGFlag TypeDebugFlags
-
--- Flags SignalMatchType
-
-data SignalMatchType = 
-      SignalMatchTypeId
-    | SignalMatchTypeDetail
-    | SignalMatchTypeClosure
-    | SignalMatchTypeFunc
-    | SignalMatchTypeData
-    | SignalMatchTypeUnblocked
-    | AnotherSignalMatchType Int
-    deriving (Show, Eq)
-
-instance 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 IsGFlag SignalMatchType
-
--- Flags SignalFlags
-
-data SignalFlags = 
-      SignalFlagsRunFirst
-    | SignalFlagsRunLast
-    | SignalFlagsRunCleanup
-    | SignalFlagsNoRecurse
-    | SignalFlagsDetailed
-    | SignalFlagsAction
-    | SignalFlagsNoHooks
-    | SignalFlagsMustCollect
-    | SignalFlagsDeprecated
-    | AnotherSignalFlags Int
-    deriving (Show, Eq)
-
-instance 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 IsGFlag SignalFlags
-
--- Flags ParamFlags
-
-data ParamFlags = 
-      ParamFlagsReadable
-    | ParamFlagsWritable
-    | ParamFlagsReadwrite
-    | ParamFlagsConstruct
-    | ParamFlagsConstructOnly
-    | ParamFlagsLaxValidation
-    | ParamFlagsStaticName
-    | ParamFlagsPrivate
-    | ParamFlagsStaticNick
-    | ParamFlagsStaticBlurb
-    | ParamFlagsExplicitNotify
-    | ParamFlagsDeprecated
-    | AnotherParamFlags Int
-    deriving (Show, Eq)
-
-instance 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 64 = ParamFlagsStaticNick
-    toEnum 128 = ParamFlagsStaticBlurb
-    toEnum 1073741824 = ParamFlagsExplicitNotify
-    toEnum 2147483648 = ParamFlagsDeprecated
-    toEnum k = AnotherParamFlags k
-
-instance IsGFlag ParamFlags
-
--- Flags ConnectFlags
-
-data ConnectFlags = 
-      ConnectFlagsAfter
-    | ConnectFlagsSwapped
-    | AnotherConnectFlags Int
-    deriving (Show, Eq)
-
-instance Enum ConnectFlags where
-    fromEnum ConnectFlagsAfter = 1
-    fromEnum ConnectFlagsSwapped = 2
-    fromEnum (AnotherConnectFlags k) = k
-
-    toEnum 1 = ConnectFlagsAfter
-    toEnum 2 = ConnectFlagsSwapped
-    toEnum k = AnotherConnectFlags k
-
-instance IsGFlag ConnectFlags
-
--- Flags BindingFlags
-
-data BindingFlags = 
-      BindingFlagsDefault
-    | BindingFlagsBidirectional
-    | BindingFlagsSyncCreate
-    | BindingFlagsInvertBoolean
-    | AnotherBindingFlags Int
-    deriving (Show, Eq)
-
-instance 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
-
-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/Functions.hs b/GI/GObject/Functions.hs
deleted file mode 100644
--- a/GI/GObject/Functions.hs
+++ /dev/null
@@ -1,3817 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Functions
-    ( 
-
- -- * Methods
--- ** boxedCopy
-    boxedCopy                               ,
-
-
--- ** boxedFree
-    boxedFree                               ,
-
-
--- ** enumCompleteTypeInfo
-    enumCompleteTypeInfo                    ,
-
-
--- ** enumGetValue
-    enumGetValue                            ,
-
-
--- ** enumGetValueByName
-    enumGetValueByName                      ,
-
-
--- ** enumGetValueByNick
-    enumGetValueByNick                      ,
-
-
--- ** enumRegisterStatic
-    enumRegisterStatic                      ,
-
-
--- ** flagsCompleteTypeInfo
-    flagsCompleteTypeInfo                   ,
-
-
--- ** flagsGetFirstValue
-    flagsGetFirstValue                      ,
-
-
--- ** flagsGetValueByName
-    flagsGetValueByName                     ,
-
-
--- ** flagsGetValueByNick
-    flagsGetValueByNick                     ,
-
-
--- ** flagsRegisterStatic
-    flagsRegisterStatic                     ,
-
-
--- ** gtypeGetType
-    gtypeGetType                            ,
-
-
--- ** paramSpecBoolean
-    paramSpecBoolean                        ,
-
-
--- ** paramSpecBoxed
-    paramSpecBoxed                          ,
-
-
--- ** paramSpecChar
-    paramSpecChar                           ,
-
-
--- ** paramSpecDouble
-    paramSpecDouble                         ,
-
-
--- ** paramSpecEnum
-    paramSpecEnum                           ,
-
-
--- ** paramSpecFlags
-    paramSpecFlags                          ,
-
-
--- ** paramSpecFloat
-    paramSpecFloat                          ,
-
-
--- ** paramSpecGtype
-    paramSpecGtype                          ,
-
-
--- ** paramSpecInt
-    paramSpecInt                            ,
-
-
--- ** paramSpecInt64
-    paramSpecInt64                          ,
-
-
--- ** paramSpecLong
-    paramSpecLong                           ,
-
-
--- ** paramSpecObject
-    paramSpecObject                         ,
-
-
--- ** paramSpecParam
-    paramSpecParam                          ,
-
-
--- ** paramSpecPointer
-    paramSpecPointer                        ,
-
-
--- ** paramSpecString
-    paramSpecString                         ,
-
-
--- ** paramSpecUchar
-    paramSpecUchar                          ,
-
-
--- ** paramSpecUint
-    paramSpecUint                           ,
-
-
--- ** paramSpecUint64
-    paramSpecUint64                         ,
-
-
--- ** paramSpecUlong
-    paramSpecUlong                          ,
-
-
--- ** paramSpecUnichar
-    paramSpecUnichar                        ,
-
-
--- ** paramSpecVariant
-    paramSpecVariant                        ,
-
-
--- ** paramTypeRegisterStatic
-    paramTypeRegisterStatic                 ,
-
-
--- ** paramValueConvert
-    paramValueConvert                       ,
-
-
--- ** paramValueDefaults
-    paramValueDefaults                      ,
-
-
--- ** paramValueSetDefault
-    paramValueSetDefault                    ,
-
-
--- ** paramValueValidate
-    paramValueValidate                      ,
-
-
--- ** paramValuesCmp
-    paramValuesCmp                          ,
-
-
--- ** pointerTypeRegisterStatic
-    pointerTypeRegisterStatic               ,
-
-
--- ** signalAccumulatorFirstWins
-    signalAccumulatorFirstWins              ,
-
-
--- ** signalAccumulatorTrueHandled
-    signalAccumulatorTrueHandled            ,
-
-
--- ** signalAddEmissionHook
-    signalAddEmissionHook                   ,
-
-
--- ** signalChainFromOverridden
-    signalChainFromOverridden               ,
-
-
--- ** signalConnectClosure
-    signalConnectClosure                    ,
-
-
--- ** signalConnectClosureById
-    signalConnectClosureById                ,
-
-
--- ** signalEmitv
-    signalEmitv                             ,
-
-
--- ** signalGetInvocationHint
-    signalGetInvocationHint                 ,
-
-
--- ** signalHandlerBlock
-    signalHandlerBlock                      ,
-
-
--- ** signalHandlerDisconnect
-    signalHandlerDisconnect                 ,
-
-
--- ** signalHandlerFind
-    signalHandlerFind                       ,
-
-
--- ** signalHandlerIsConnected
-    signalHandlerIsConnected                ,
-
-
--- ** signalHandlerUnblock
-    signalHandlerUnblock                    ,
-
-
--- ** signalHandlersBlockMatched
-    signalHandlersBlockMatched              ,
-
-
--- ** signalHandlersDestroy
-    signalHandlersDestroy                   ,
-
-
--- ** signalHandlersDisconnectMatched
-    signalHandlersDisconnectMatched         ,
-
-
--- ** signalHandlersUnblockMatched
-    signalHandlersUnblockMatched            ,
-
-
--- ** signalHasHandlerPending
-    signalHasHandlerPending                 ,
-
-
--- ** signalListIds
-    signalListIds                           ,
-
-
--- ** signalLookup
-    signalLookup                            ,
-
-
--- ** signalName
-    signalName                              ,
-
-
--- ** signalOverrideClassClosure
-    signalOverrideClassClosure              ,
-
-
--- ** signalParseName
-    signalParseName                         ,
-
-
--- ** signalQuery
-    signalQuery                             ,
-
-
--- ** signalRemoveEmissionHook
-    signalRemoveEmissionHook                ,
-
-
--- ** signalStopEmission
-    signalStopEmission                      ,
-
-
--- ** signalStopEmissionByName
-    signalStopEmissionByName                ,
-
-
--- ** signalTypeCclosureNew
-    signalTypeCclosureNew                   ,
-
-
--- ** sourceSetClosure
-    sourceSetClosure                        ,
-
-
--- ** sourceSetDummyCallback
-    sourceSetDummyCallback                  ,
-
-
--- ** strdupValueContents
-    strdupValueContents                     ,
-
-
--- ** typeAddClassPrivate
-    typeAddClassPrivate                     ,
-
-
--- ** typeAddInstancePrivate
-    typeAddInstancePrivate                  ,
-
-
--- ** typeAddInterfaceDynamic
-    typeAddInterfaceDynamic                 ,
-
-
--- ** typeAddInterfaceStatic
-    typeAddInterfaceStatic                  ,
-
-
--- ** typeCheckClassIsA
-    typeCheckClassIsA                       ,
-
-
--- ** typeCheckInstance
-    typeCheckInstance                       ,
-
-
--- ** typeCheckInstanceIsA
-    typeCheckInstanceIsA                    ,
-
-
--- ** typeCheckInstanceIsFundamentallyA
-    typeCheckInstanceIsFundamentallyA       ,
-
-
--- ** typeCheckIsValueType
-    typeCheckIsValueType                    ,
-
-
--- ** typeCheckValue
-    typeCheckValue                          ,
-
-
--- ** typeCheckValueHolds
-    typeCheckValueHolds                     ,
-
-
--- ** typeChildren
-    typeChildren                            ,
-
-
--- ** typeDefaultInterfacePeek
-    typeDefaultInterfacePeek                ,
-
-
--- ** typeDefaultInterfaceRef
-    typeDefaultInterfaceRef                 ,
-
-
--- ** typeDefaultInterfaceUnref
-    typeDefaultInterfaceUnref               ,
-
-
--- ** typeDepth
-    typeDepth                               ,
-
-
--- ** typeEnsure
-    typeEnsure                              ,
-
-
--- ** typeFreeInstance
-    typeFreeInstance                        ,
-
-
--- ** typeFromName
-    typeFromName                            ,
-
-
--- ** typeFundamental
-    typeFundamental                         ,
-
-
--- ** typeFundamentalNext
-    typeFundamentalNext                     ,
-
-
--- ** typeGetInstanceCount
-    typeGetInstanceCount                    ,
-
-
--- ** typeGetQdata
-    typeGetQdata                            ,
-
-
--- ** typeGetTypeRegistrationSerial
-    typeGetTypeRegistrationSerial           ,
-
-
--- ** typeInit
-    typeInit                                ,
-
-
--- ** typeInitWithDebugFlags
-    typeInitWithDebugFlags                  ,
-
-
--- ** typeInterfaces
-    typeInterfaces                          ,
-
-
--- ** typeIsA
-    typeIsA                                 ,
-
-
--- ** typeName
-    typeName                                ,
-
-
--- ** typeNameFromClass
-    typeNameFromClass                       ,
-
-
--- ** typeNameFromInstance
-    typeNameFromInstance                    ,
-
-
--- ** typeNextBase
-    typeNextBase                            ,
-
-
--- ** typeParent
-    typeParent                              ,
-
-
--- ** typeQname
-    typeQname                               ,
-
-
--- ** typeQuery
-    typeQuery                               ,
-
-
--- ** typeRegisterDynamic
-    typeRegisterDynamic                     ,
-
-
--- ** typeRegisterFundamental
-    typeRegisterFundamental                 ,
-
-
--- ** typeRegisterStatic
-    typeRegisterStatic                      ,
-
-
--- ** typeSetQdata
-    typeSetQdata                            ,
-
-
--- ** typeTestFlags
-    typeTestFlags                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-import qualified GI.GLib as GLib
-
--- function g_type_test_flags
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeTestFlags ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> Word32                               -- flags
-    -> m Bool                               -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 ()
-
-
-typeSetQdata ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> Word32                               -- quark
-    -> Ptr ()                               -- data_
-    -> m ()                                 -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, 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 TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"
-    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"
-    IO CGType
-
-
-typeRegisterStatic ::
-    (MonadIO m) =>
-    GType                                   -- parentType
-    -> T.Text                               -- typeName
-    -> TypeInfo                             -- info
-    -> [TypeFlags]                          -- flags
-    -> m GType                              -- result
-typeRegisterStatic parentType typeName info flags = liftIO $ do
-    let parentType' = gtypeToCGType parentType
-    typeName' <- textToCString typeName
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "finfo", argType = TInterface "GObject" "TypeFundamentalInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, 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 TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"
-    Ptr TypeFundamentalInfo ->              -- finfo : TInterface "GObject" "TypeFundamentalInfo"
-    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"
-    IO CGType
-
-
-typeRegisterFundamental ::
-    (MonadIO m) =>
-    GType                                   -- typeId
-    -> T.Text                               -- typeName
-    -> TypeInfo                             -- info
-    -> TypeFundamentalInfo                  -- finfo
-    -> [TypeFlags]                          -- flags
-    -> m GType                              -- result
-typeRegisterFundamental typeId typeName info finfo flags = liftIO $ do
-    let typeId' = gtypeToCGType typeId
-    typeName' <- textToCString typeName
-    let info' = unsafeManagedPtrGetPtr info
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plugin", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, 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 TypePlugin ->                       -- plugin : TInterface "GObject" "TypePlugin"
-    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"
-    IO CGType
-
-
-typeRegisterDynamic ::
-    (MonadIO m, TypePluginK a) =>
-    GType                                   -- parentType
-    -> T.Text                               -- typeName
-    -> a                                    -- plugin
-    -> [TypeFlags]                          -- flags
-    -> m GType                              -- result
-typeRegisterDynamic parentType typeName plugin flags = liftIO $ do
-    let parentType' = gtypeToCGType parentType
-    typeName' <- textToCString typeName
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "GObject" "TypeQuery", direction = DirectionOut, mayBeNull = False, 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 TypeQuery ->                        -- query : TInterface "GObject" "TypeQuery"
-    IO ()
-
-
-typeQuery ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m (TypeQuery)                        -- result
-typeQuery type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    query <- callocBytes 24 :: IO (Ptr TypeQuery)
-    g_type_query type_' query
-    query' <- (wrapPtr TypeQuery) query
-    return query'
-
-
--- function g_type_qname
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeQname ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m Word32                             -- result
-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, 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
-
-
-typeParent ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m GType                              -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeNextBase ::
-    (MonadIO m) =>
-    GType                                   -- leafType
-    -> GType                                -- rootType
-    -> m GType                              -- result
-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 "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, 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 TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"
-    IO CString
-
-
-typeNameFromInstance ::
-    (MonadIO m) =>
-    TypeInstance                            -- instance_
-    -> m T.Text                             -- result
-typeNameFromInstance instance_ = liftIO $ do
-    let instance_' = unsafeManagedPtrGetPtr instance_
-    result <- g_type_name_from_instance instance_'
-    checkUnexpectedReturnNULL "g_type_name_from_instance" result
-    result' <- cstringToText result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_type_name_from_class
--- Args : [Arg {argCName = "g_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, 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 TypeClass ->                        -- g_class : TInterface "GObject" "TypeClass"
-    IO CString
-
-
-typeNameFromClass ::
-    (MonadIO m) =>
-    TypeClass                               -- gClass
-    -> m T.Text                             -- result
-typeNameFromClass gClass = liftIO $ do
-    let gClass' = unsafeManagedPtrGetPtr gClass
-    result <- g_type_name_from_class gClass'
-    checkUnexpectedReturnNULL "g_type_name_from_class" result
-    result' <- cstringToText result
-    touchManagedPtr gClass
-    return result'
-
-
--- function g_type_name
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeName ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m T.Text                             -- result
-typeName type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_name type_'
-    checkUnexpectedReturnNULL "g_type_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function g_type_is_a
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeIsA ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> GType                                -- isAType
-    -> m Bool                               -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_interfaces", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_interfaces", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, 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)
-
-
-typeInterfaces ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m [GType]                            -- result
-typeInterfaces type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    nInterfaces <- allocMem :: IO (Ptr Word32)
-    result <- g_type_interfaces type_' nInterfaces
-    nInterfaces' <- peek nInterfaces
-    checkUnexpectedReturnNULL "g_type_interfaces" 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 "GObject" "TypeDebugFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "TypeDebugFlags"
-    IO ()
-
-{-# DEPRECATED typeInitWithDebugFlags ["(Since version 2.36)","the type system is now initialised automatically"]#-}
-typeInitWithDebugFlags ::
-    (MonadIO m) =>
-    [TypeDebugFlags]                        -- debugFlags
-    -> m ()                                 -- result
-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"]#-}
-typeInit ::
-    (MonadIO m) =>
-    m ()                                    -- result
-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
-
-
-typeGetTypeRegistrationSerial ::
-    (MonadIO m) =>
-    m Word32                                -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, 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 ())
-
-
-typeGetQdata ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> Word32                               -- quark
-    -> m (Ptr ())                           -- result
-typeGetQdata type_ quark = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_get_qdata type_' quark
-    return result
-
-
--- function g_type_get_plugin
--- XXX Could not generate function g_type_get_plugin
--- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."
-
--- function g_type_get_instance_count
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeGetInstanceCount ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m Int32                              -- result
-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
-
-
-typeFundamentalNext ::
-    (MonadIO m) =>
-    m GType                                 -- result
-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, 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
-
-
-typeFundamental ::
-    (MonadIO m) =>
-    GType                                   -- typeId
-    -> m GType                              -- result
-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, 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
-
-
-typeFromName ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> m GType                              -- result
-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 "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, 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 TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"
-    IO ()
-
-
-typeFreeInstance ::
-    (MonadIO m) =>
-    TypeInstance                            -- instance_
-    -> m ()                                 -- result
-typeFreeInstance instance_ = liftIO $ do
-    let 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, 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 ()
-
-
-typeEnsure ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m ()                                 -- result
-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, 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
-
-
-typeDepth ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m Word32                             -- result
-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 "GObject" "TypeInterface", direction = DirectionIn, mayBeNull = False, 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 TypeInterface ->                    -- g_iface : TInterface "GObject" "TypeInterface"
-    IO ()
-
-
-typeDefaultInterfaceUnref ::
-    (MonadIO m) =>
-    TypeInterface                           -- gIface
-    -> m ()                                 -- result
-typeDefaultInterfaceUnref gIface = liftIO $ do
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "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 TypeInterface)
-
-
-typeDefaultInterfaceRef ::
-    (MonadIO m) =>
-    GType                                   -- gType
-    -> m TypeInterface                      -- result
-typeDefaultInterfaceRef gType = liftIO $ do
-    let gType' = gtypeToCGType gType
-    result <- g_type_default_interface_ref gType'
-    checkUnexpectedReturnNULL "g_type_default_interface_ref" result
-    result' <- (newPtr TypeInterface) result
-    return result'
-
-
--- function g_type_default_interface_peek
--- Args : [Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "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 TypeInterface)
-
-
-typeDefaultInterfacePeek ::
-    (MonadIO m) =>
-    GType                                   -- gType
-    -> m TypeInterface                      -- result
-typeDefaultInterfacePeek gType = liftIO $ do
-    let gType' = gtypeToCGType gType
-    result <- g_type_default_interface_peek gType'
-    checkUnexpectedReturnNULL "g_type_default_interface_peek" result
-    result' <- (newPtr TypeInterface) result
-    return result'
-
-
--- function g_type_children
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_children", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_children", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, 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)
-
-
-typeChildren ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m [GType]                            -- result
-typeChildren type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    nChildren <- allocMem :: IO (Ptr Word32)
-    result <- g_type_children type_' nChildren
-    nChildren' <- peek nChildren
-    checkUnexpectedReturnNULL "g_type_children" result
-    result' <- (unpackMapStorableArrayWithLength GType nChildren') result
-    freeMem result
-    freeMem nChildren
-    return result'
-
-
--- function g_type_check_value_holds
--- Args : [Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    CGType ->                               -- type : TBasicType TGType
-    IO CInt
-
-
-typeCheckValueHolds ::
-    (MonadIO m) =>
-    GValue                                  -- value
-    -> GType                                -- type_
-    -> m Bool                               -- result
-typeCheckValueHolds value type_ = liftIO $ do
-    let 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 "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    IO CInt
-
-
-typeCheckValue ::
-    (MonadIO m) =>
-    GValue                                  -- value
-    -> m Bool                               -- result
-typeCheckValue value = liftIO $ do
-    let 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, 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
-
-
-typeCheckIsValueType ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m Bool                               -- result
-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 "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fundamental_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"
-    CGType ->                               -- fundamental_type : TBasicType TGType
-    IO CInt
-
-
-typeCheckInstanceIsFundamentallyA ::
-    (MonadIO m) =>
-    TypeInstance                            -- instance_
-    -> GType                                -- fundamentalType
-    -> m Bool                               -- result
-typeCheckInstanceIsFundamentallyA instance_ fundamentalType = liftIO $ do
-    let 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 "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"
-    CGType ->                               -- iface_type : TBasicType TGType
-    IO CInt
-
-
-typeCheckInstanceIsA ::
-    (MonadIO m) =>
-    TypeInstance                            -- instance_
-    -> GType                                -- ifaceType
-    -> m Bool                               -- result
-typeCheckInstanceIsA instance_ ifaceType = liftIO $ do
-    let 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 "GObject" "TypeInstance", direction = DirectionIn, mayBeNull = False, 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 TypeInstance ->                     -- instance : TInterface "GObject" "TypeInstance"
-    IO CInt
-
-
-typeCheckInstance ::
-    (MonadIO m) =>
-    TypeInstance                            -- instance_
-    -> m Bool                               -- result
-typeCheckInstance instance_ = liftIO $ do
-    let 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 "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 TypeClass ->                        -- g_class : TInterface "GObject" "TypeClass"
-    CGType ->                               -- is_a_type : TBasicType TGType
-    IO CInt
-
-
-typeCheckClassIsA ::
-    (MonadIO m) =>
-    TypeClass                               -- gClass
-    -> GType                                -- isAType
-    -> m Bool                               -- result
-typeCheckClassIsA gClass isAType = liftIO $ do
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, 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 InterfaceInfo ->                    -- info : TInterface "GObject" "InterfaceInfo"
-    IO ()
-
-
-typeAddInterfaceStatic ::
-    (MonadIO m) =>
-    GType                                   -- instanceType
-    -> GType                                -- interfaceType
-    -> InterfaceInfo                        -- info
-    -> m ()                                 -- result
-typeAddInterfaceStatic instanceType interfaceType info = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plugin", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, 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 TypePlugin ->                       -- plugin : TInterface "GObject" "TypePlugin"
-    IO ()
-
-
-typeAddInterfaceDynamic ::
-    (MonadIO m, TypePluginK a) =>
-    GType                                   -- instanceType
-    -> GType                                -- interfaceType
-    -> a                                    -- plugin
-    -> m ()                                 -- result
-typeAddInterfaceDynamic instanceType interfaceType plugin = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, 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
-
-
-typeAddInstancePrivate ::
-    (MonadIO m) =>
-    GType                                   -- classType
-    -> Word64                               -- privateSize
-    -> m Int32                              -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, 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 ()
-
-
-typeAddClassPrivate ::
-    (MonadIO m) =>
-    GType                                   -- classType
-    -> Word64                               -- privateSize
-    -> m ()                                 -- result
-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 "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    IO CString
-
-
-strdupValueContents ::
-    (MonadIO m) =>
-    GValue                                  -- value
-    -> m T.Text                             -- result
-strdupValueContents value = liftIO $ do
-    let value' = unsafeManagedPtrGetPtr value
-    result <- g_strdup_value_contents value'
-    checkUnexpectedReturnNULL "g_strdup_value_contents" result
-    result' <- cstringToText result
-    freeMem result
-    touchManagedPtr value
-    return result'
-
-
--- function g_source_set_dummy_callback
--- Args : [Arg {argCName = "source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, 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 : TInterface "GLib" "Source"
-    IO ()
-
-
-sourceSetDummyCallback ::
-    (MonadIO m) =>
-    GLib.Source                             -- source
-    -> m ()                                 -- result
-sourceSetDummyCallback source = liftIO $ do
-    let source' = unsafeManagedPtrGetPtr source
-    g_source_set_dummy_callback source'
-    touchManagedPtr source
-    return ()
-
-
--- function g_source_set_closure
--- Args : [Arg {argCName = "source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, 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 : TInterface "GLib" "Source"
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    IO ()
-
-
-sourceSetClosure ::
-    (MonadIO m) =>
-    GLib.Source                             -- source
-    -> Closure                              -- closure
-    -> m ()                                 -- result
-sourceSetClosure source closure = liftIO $ do
-    let source' = unsafeManagedPtrGetPtr source
-    let closure' = unsafeManagedPtrGetPtr 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "struct_offset", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Closure")
--- 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 Closure)
-
-
-signalTypeCclosureNew ::
-    (MonadIO m) =>
-    GType                                   -- itype
-    -> Word32                               -- structOffset
-    -> m Closure                            -- result
-signalTypeCclosureNew itype structOffset = liftIO $ do
-    let itype' = gtypeToCGType itype
-    result <- g_signal_type_cclosure_new itype' structOffset
-    checkUnexpectedReturnNULL "g_signal_type_cclosure_new" result
-    result' <- (wrapBoxed Closure) result
-    return result'
-
-
--- function g_signal_stop_emission_by_name
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CString ->                              -- detailed_signal : TBasicType TUTF8
-    IO ()
-
-
-signalStopEmissionByName ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> T.Text                               -- detailedSignal
-    -> m ()                                 -- result
-signalStopEmissionByName instance_ detailedSignal = liftIO $ do
-    let 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    IO ()
-
-
-signalStopEmission ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> m ()                                 -- result
-signalStopEmission instance_ signalId detail = liftIO $ do
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, 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 ()
-
-
-signalRemoveEmissionHook ::
-    (MonadIO m) =>
-    Word32                                  -- signalId
-    -> CULong                               -- hookId
-    -> m ()                                 -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface "GObject" "SignalQuery", direction = DirectionOut, mayBeNull = False, 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 SignalQuery ->                      -- query : TInterface "GObject" "SignalQuery"
-    IO ()
-
-
-signalQuery ::
-    (MonadIO m) =>
-    Word32                                  -- signalId
-    -> m (SignalQuery)                      -- result
-signalQuery signalId = liftIO $ do
-    query <- callocBytes 56 :: IO (Ptr SignalQuery)
-    g_signal_query signalId query
-    query' <- (wrapPtr SignalQuery) query
-    return query'
-
-
--- function g_signal_parse_name
--- Args : [Arg {argCName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id_p", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "detail_p", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "force_detail_quark", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, 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
-
-
-signalParseName ::
-    (MonadIO m) =>
-    T.Text                                  -- detailedSignal
-    -> GType                                -- itype
-    -> Bool                                 -- forceDetailQuark
-    -> m (Bool,Word32,Word32)               -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "class_closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- class_closure : TInterface "GObject" "Closure"
-    IO ()
-
-
-signalOverrideClassClosure ::
-    (MonadIO m) =>
-    Word32                                  -- signalId
-    -> GType                                -- instanceType
-    -> Closure                              -- classClosure
-    -> m ()                                 -- result
-signalOverrideClassClosure signalId instanceType classClosure = liftIO $ do
-    let instanceType' = gtypeToCGType instanceType
-    let classClosure' = unsafeManagedPtrGetPtr 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, 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
-
-
-signalName ::
-    (MonadIO m) =>
-    Word32                                  -- signalId
-    -> m T.Text                             -- result
-signalName signalId = liftIO $ do
-    result <- g_signal_name signalId
-    checkUnexpectedReturnNULL "g_signal_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function g_signal_lookup
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "itype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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
-
-
-signalLookup ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> GType                                -- itype
-    -> m Word32                             -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_ids", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_ids", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, 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)
-
-
-signalListIds ::
-    (MonadIO m) =>
-    GType                                   -- itype
-    -> m [Word32]                           -- result
-signalListIds itype = liftIO $ do
-    let itype' = gtypeToCGType itype
-    nIds <- allocMem :: IO (Ptr Word32)
-    result <- g_signal_list_ids itype' nIds
-    nIds' <- peek nIds
-    checkUnexpectedReturnNULL "g_signal_list_ids" result
-    result' <- (unpackStorableArrayWithLength nIds') result
-    freeMem nIds
-    return result'
-
-
--- function g_signal_has_handler_pending
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "may_be_blocked", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    CInt ->                                 -- may_be_blocked : TBasicType TBoolean
-    IO CInt
-
-
-signalHasHandlerPending ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> Bool                                 -- mayBeBlocked
-    -> m Bool                               -- result
-signalHasHandlerPending instance_ signalId detail mayBeBlocked = liftIO $ do
-    let 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word32
-
-
-signalHandlersUnblockMatched ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> [SignalMatchType]                    -- mask
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> Maybe (Closure)                      -- closure
-    -> Ptr ()                               -- func
-    -> Ptr ()                               -- data_
-    -> m Word32                             -- result
-signalHandlersUnblockMatched instance_ mask signalId detail closure func data_ = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            let jClosure' = unsafeManagedPtrGetPtr 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word32
-
-
-signalHandlersDisconnectMatched ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> [SignalMatchType]                    -- mask
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> Maybe (Closure)                      -- closure
-    -> Ptr ()                               -- func
-    -> Ptr ()                               -- data_
-    -> m Word32                             -- result
-signalHandlersDisconnectMatched instance_ mask signalId detail closure func data_ = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            let jClosure' = unsafeManagedPtrGetPtr 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    IO ()
-
-
-signalHandlersDestroy ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> m ()                                 -- result
-signalHandlersDestroy instance_ = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    g_signal_handlers_destroy instance_'
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_handlers_block_matched
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO Word32
-
-
-signalHandlersBlockMatched ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> [SignalMatchType]                    -- mask
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> Maybe (Closure)                      -- closure
-    -> Ptr ()                               -- func
-    -> Ptr ()                               -- data_
-    -> m Word32                             -- result
-signalHandlersBlockMatched instance_ mask signalId detail closure func data_ = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            let jClosure' = unsafeManagedPtrGetPtr 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO ()
-
-
-signalHandlerUnblock ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> CULong                               -- handlerId
-    -> m ()                                 -- result
-signalHandlerUnblock instance_ handlerId = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    g_signal_handler_unblock instance_' handlerId
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_handler_is_connected
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO CInt
-
-
-signalHandlerIsConnected ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> CULong                               -- handlerId
-    -> m Bool                               -- result
-signalHandlerIsConnected instance_ handlerId = liftIO $ do
-    let 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface "GObject" "SignalMatchType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CUInt ->                                -- mask : TInterface "GObject" "SignalMatchType"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr () ->                               -- func : TBasicType TPtr
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO CULong
-
-
-signalHandlerFind ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> [SignalMatchType]                    -- mask
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> Maybe (Closure)                      -- closure
-    -> Ptr ()                               -- func
-    -> Ptr ()                               -- data_
-    -> m CULong                             -- result
-signalHandlerFind instance_ mask signalId detail closure func data_ = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    let mask' = gflagsToWord mask
-    maybeClosure <- case closure of
-        Nothing -> return nullPtr
-        Just jClosure -> do
-            let jClosure' = unsafeManagedPtrGetPtr 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO ()
-
-
-signalHandlerDisconnect ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> CULong                               -- handlerId
-    -> m ()                                 -- result
-signalHandlerDisconnect instance_ handlerId = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    g_signal_handler_disconnect instance_' handlerId
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_handler_block
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CULong ->                               -- handler_id : TBasicType TULong
-    IO ()
-
-
-signalHandlerBlock ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> CULong                               -- handlerId
-    -> m ()                                 -- result
-signalHandlerBlock instance_ handlerId = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    g_signal_handler_block instance_' handlerId
-    touchManagedPtr instance_
-    return ()
-
-
--- function g_signal_get_invocation_hint
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "SignalInvocationHint")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_get_invocation_hint" g_signal_get_invocation_hint :: 
-    Ptr Object ->                           -- instance : TInterface "GObject" "Object"
-    IO (Ptr SignalInvocationHint)
-
-
-signalGetInvocationHint ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> m SignalInvocationHint               -- result
-signalGetInvocationHint instance_ = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    result <- g_signal_get_invocation_hint instance_'
-    checkUnexpectedReturnNULL "g_signal_get_invocation_hint" result
-    result' <- (newPtr SignalInvocationHint) result
-    touchManagedPtr instance_
-    return result'
-
-
--- function g_signal_emitv
--- Args : [Arg {argCName = "instance_and_params", argType = TCArray False (-1) (-1) (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_emitv" g_signal_emitv :: 
-    Ptr (Ptr GValue) ->                     -- instance_and_params : TCArray False (-1) (-1) (TInterface "GObject" "Value")
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    IO ()
-
-
-signalEmitv ::
-    (MonadIO m) =>
-    Ptr (Ptr GValue)                        -- instanceAndParams
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> GValue                               -- returnValue
-    -> m (GValue)                           -- result
-signalEmitv instanceAndParams signalId detail returnValue = liftIO $ do
-    returnValue' <- copyBoxed returnValue
-    returnValue'' <- callocBoxedBytes 24 :: IO (Ptr GValue)
-    memcpy returnValue'' returnValue' 24
-    g_signal_emitv instanceAndParams signalId detail returnValue''
-    returnValue''' <- (wrapBoxed GValue) returnValue''
-    touchManagedPtr returnValue
-    return returnValue'''
-
-
--- function g_signal_connect_closure_by_id
--- Args : [Arg {argCName = "instance", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    Word32 ->                               -- signal_id : TBasicType TUInt
-    Word32 ->                               -- detail : TBasicType TUInt32
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    CInt ->                                 -- after : TBasicType TBoolean
-    IO CULong
-
-
-signalConnectClosureById ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> Word32                               -- signalId
-    -> Word32                               -- detail
-    -> Closure                              -- closure
-    -> Bool                                 -- after
-    -> m CULong                             -- result
-signalConnectClosureById instance_ signalId detail closure after = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    let closure' = unsafeManagedPtrGetPtr 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 "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detailed_signal", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "after", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, 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 Object ->                           -- instance : TInterface "GObject" "Object"
-    CString ->                              -- detailed_signal : TBasicType TUTF8
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    CInt ->                                 -- after : TBasicType TBoolean
-    IO CULong
-
-
-signalConnectClosure ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- instance_
-    -> T.Text                               -- detailedSignal
-    -> Closure                              -- closure
-    -> Bool                                 -- after
-    -> m CULong                             -- result
-signalConnectClosure instance_ detailedSignal closure after = liftIO $ do
-    let instance_' = unsafeManagedPtrCastPtr instance_
-    detailedSignal' <- textToCString detailedSignal
-    let closure' = unsafeManagedPtrGetPtr 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 "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 (Ptr GValue) ->                     -- instance_and_params : TCArray False (-1) (-1) (TInterface "GObject" "Value")
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    IO ()
-
-
-signalChainFromOverridden ::
-    (MonadIO m) =>
-    Ptr (Ptr GValue)                        -- instanceAndParams
-    -> GValue                               -- returnValue
-    -> m ()                                 -- result
-signalChainFromOverridden instanceAndParams returnValue = liftIO $ do
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    g_signal_chain_from_overridden instanceAndParams returnValue'
-    touchManagedPtr returnValue
-    return ()
-
-
--- function g_signal_add_emission_hook
--- Args : [Arg {argCName = "signal_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_func", argType = TInterface "GObject" "SignalEmissionHook", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, 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 SignalEmissionHookC ->           -- hook_func : TInterface "GObject" "SignalEmissionHook"
-    Ptr () ->                               -- hook_data : TBasicType TPtr
-    FunPtr GLib.DestroyNotifyC ->           -- data_destroy : TInterface "GLib" "DestroyNotify"
-    IO CULong
-
-
-signalAddEmissionHook ::
-    (MonadIO m) =>
-    Word32                                  -- signalId
-    -> Word32                               -- detail
-    -> SignalEmissionHook                   -- hookFunc
-    -> m CULong                             -- result
-signalAddEmissionHook signalId detail hookFunc = liftIO $ do
-    hookFunc' <- mkSignalEmissionHook (signalEmissionHookWrapper 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 "GObject" "SignalInvocationHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_accu", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_return", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dummy", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 SignalInvocationHint ->             -- ihint : TInterface "GObject" "SignalInvocationHint"
-    Ptr GValue ->                           -- return_accu : TInterface "GObject" "Value"
-    Ptr GValue ->                           -- handler_return : TInterface "GObject" "Value"
-    Ptr () ->                               -- dummy : TBasicType TPtr
-    IO CInt
-
-
-signalAccumulatorTrueHandled ::
-    (MonadIO m) =>
-    SignalInvocationHint                    -- ihint
-    -> GValue                               -- returnAccu
-    -> GValue                               -- handlerReturn
-    -> Ptr ()                               -- dummy
-    -> m Bool                               -- result
-signalAccumulatorTrueHandled ihint returnAccu handlerReturn dummy = liftIO $ do
-    let ihint' = unsafeManagedPtrGetPtr ihint
-    let returnAccu' = unsafeManagedPtrGetPtr returnAccu
-    let 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 "GObject" "SignalInvocationHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_accu", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_return", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dummy", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 SignalInvocationHint ->             -- ihint : TInterface "GObject" "SignalInvocationHint"
-    Ptr GValue ->                           -- return_accu : TInterface "GObject" "Value"
-    Ptr GValue ->                           -- handler_return : TInterface "GObject" "Value"
-    Ptr () ->                               -- dummy : TBasicType TPtr
-    IO CInt
-
-
-signalAccumulatorFirstWins ::
-    (MonadIO m) =>
-    SignalInvocationHint                    -- ihint
-    -> GValue                               -- returnAccu
-    -> GValue                               -- handlerReturn
-    -> Ptr ()                               -- dummy
-    -> m Bool                               -- result
-signalAccumulatorFirstWins ihint returnAccu handlerReturn dummy = liftIO $ do
-    let ihint' = unsafeManagedPtrGetPtr ihint
-    let returnAccu' = unsafeManagedPtrGetPtr returnAccu
-    let 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, 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
-
-
-pointerTypeRegisterStatic ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> m GType                              -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value1", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    Ptr GValue ->                           -- value2 : TInterface "GObject" "Value"
-    IO Int32
-
-
-paramValuesCmp ::
-    (MonadIO m) =>
-    GParamSpec                              -- pspec
-    -> GValue                               -- value1
-    -> GValue                               -- value2
-    -> m Int32                              -- result
-paramValuesCmp pspec value1 value2 = liftIO $ do
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    let value1' = unsafeManagedPtrGetPtr value1
-    let value2' = unsafeManagedPtrGetPtr value2
-    result <- g_param_values_cmp pspec' value1' value2'
-    touchManagedPtr value1
-    touchManagedPtr value2
-    return result
-
-
--- function g_param_value_validate
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    IO CInt
-
-
-paramValueValidate ::
-    (MonadIO m) =>
-    GParamSpec                              -- pspec
-    -> GValue                               -- value
-    -> m Bool                               -- result
-paramValueValidate pspec value = liftIO $ do
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    let value' = unsafeManagedPtrGetPtr value
-    result <- g_param_value_validate pspec' value'
-    let result' = (/= 0) result
-    touchManagedPtr value
-    return result'
-
-
--- function g_param_value_set_default
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    IO ()
-
-
-paramValueSetDefault ::
-    (MonadIO m) =>
-    GParamSpec                              -- pspec
-    -> GValue                               -- value
-    -> m ()                                 -- result
-paramValueSetDefault pspec value = liftIO $ do
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    let value' = unsafeManagedPtrGetPtr value
-    g_param_value_set_default pspec' value'
-    touchManagedPtr value
-    return ()
-
-
--- function g_param_value_defaults
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    IO CInt
-
-
-paramValueDefaults ::
-    (MonadIO m) =>
-    GParamSpec                              -- pspec
-    -> GValue                               -- value
-    -> m Bool                               -- result
-paramValueDefaults pspec value = liftIO $ do
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    let value' = unsafeManagedPtrGetPtr value
-    result <- g_param_value_defaults pspec' value'
-    let result' = (/= 0) result
-    touchManagedPtr value
-    return result'
-
-
--- function g_param_value_convert
--- Args : [Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "strict_validation", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, 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 "GObject" "Value"
-    Ptr GValue ->                           -- dest_value : TInterface "GObject" "Value"
-    CInt ->                                 -- strict_validation : TBasicType TBoolean
-    IO CInt
-
-
-paramValueConvert ::
-    (MonadIO m) =>
-    GParamSpec                              -- pspec
-    -> GValue                               -- srcValue
-    -> GValue                               -- destValue
-    -> Bool                                 -- strictValidation
-    -> m Bool                               -- result
-paramValueConvert pspec srcValue destValue strictValidation = liftIO $ do
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    let srcValue' = unsafeManagedPtrGetPtr srcValue
-    let destValue' = unsafeManagedPtrGetPtr destValue
-    let strictValidation' = (fromIntegral . fromEnum) strictValidation
-    result <- g_param_value_convert pspec' srcValue' destValue' strictValidation'
-    let result' = (/= 0) result
-    touchManagedPtr srcValue
-    touchManagedPtr destValue
-    return result'
-
-
--- function g_param_type_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec_info", argType = TInterface "GObject" "ParamSpecTypeInfo", direction = DirectionIn, mayBeNull = False, 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 ParamSpecTypeInfo ->                -- pspec_info : TInterface "GObject" "ParamSpecTypeInfo"
-    IO CGType
-
-
-paramTypeRegisterStatic ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> ParamSpecTypeInfo                    -- pspecInfo
-    -> m GType                              -- result
-paramTypeRegisterStatic name pspecInfo = liftIO $ do
-    name' <- textToCString name
-    let 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "GLib" "VariantType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 ->                 -- type : TInterface "GLib" "VariantType"
-    Ptr GVariant ->                         -- default_value : TVariant
-    CUInt ->                                -- flags : TInterface "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecVariant ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GLib.VariantType                     -- type_
-    -> Maybe (GVariant)                     -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-paramSpecVariant name nick blurb type_ defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    let type_' = unsafeManagedPtrGetPtr type_
-    maybeDefaultValue <- case defaultValue of
-        Nothing -> return nullPtr
-        Just jDefaultValue -> do
-            jDefaultValue' <- refGVariant jDefaultValue
-            return jDefaultValue'
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_variant name' nick' blurb' type_' maybeDefaultValue flags'
-    checkUnexpectedReturnNULL "g_param_spec_variant" result
-    result' <- wrapGParamSpecPtr result
-    touchManagedPtr type_
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    return result'
-
-
--- function g_param_spec_unichar
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecUnichar ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Char                                 -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_unichar" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecUlong ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> CULong                               -- minimum
-    -> CULong                               -- maximum
-    -> CULong                               -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_ulong" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecUint64 ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Word64                               -- minimum
-    -> Word64                               -- maximum
-    -> Word64                               -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_uint64" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecUint ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Word32                               -- minimum
-    -> Word32                               -- maximum
-    -> Word32                               -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_uint" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecUchar ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Word8                                -- minimum
-    -> Word8                                -- maximum
-    -> Word8                                -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_uchar" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecString ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> T.Text                               -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-paramSpecString name nick blurb defaultValue flags = liftIO $ do
-    name' <- textToCString name
-    nick' <- textToCString nick
-    blurb' <- textToCString blurb
-    defaultValue' <- textToCString defaultValue
-    let flags' = gflagsToWord flags
-    result <- g_param_spec_string name' nick' blurb' defaultValue' flags'
-    checkUnexpectedReturnNULL "g_param_spec_string" result
-    result' <- wrapGParamSpecPtr result
-    freeMem name'
-    freeMem nick'
-    freeMem blurb'
-    freeMem defaultValue'
-    return result'
-
-
--- function g_param_spec_pointer
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecPointer ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_pointer" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecParam ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GType                                -- paramType
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_param" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecObject ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GType                                -- objectType
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_object" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecLong ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> CLong                                -- minimum
-    -> CLong                                -- maximum
-    -> CLong                                -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_long" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecInt64 ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Int64                                -- minimum
-    -> Int64                                -- maximum
-    -> Int64                                -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_int64" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecInt ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Int32                                -- minimum
-    -> Int32                                -- maximum
-    -> Int32                                -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_int" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_a_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecGtype ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GType                                -- isAType
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_gtype" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecFloat ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Float                                -- minimum
-    -> Float                                -- maximum
-    -> Float                                -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_float" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecFlags ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GType                                -- flagsType
-    -> Word32                               -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_flags" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enum_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecEnum ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GType                                -- enumType
-    -> Int32                                -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_enum" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecDouble ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Double                               -- minimum
-    -> Double                               -- maximum
-    -> Double                               -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_double" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minimum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maximum", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecChar ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Int8                                 -- minimum
-    -> Int8                                 -- maximum
-    -> Int8                                 -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_char" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecBoxed ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> GType                                -- boxedType
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_boxed" result
-    result' <- 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "ParamFlags", direction = DirectionIn, mayBeNull = False, 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 "GObject" "ParamFlags"
-    IO (Ptr GParamSpec)
-
-
-paramSpecBoolean ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> T.Text                               -- nick
-    -> T.Text                               -- blurb
-    -> Bool                                 -- defaultValue
-    -> [ParamFlags]                         -- flags
-    -> m GParamSpec                         -- result
-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 "g_param_spec_boolean" result
-    result' <- 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
-
-
-gtypeGetType ::
-    (MonadIO m) =>
-    m GType                                 -- result
-gtypeGetType  = liftIO $ do
-    result <- g_gtype_get_type
-    let result' = GType result
-    return result'
-
-
--- function g_flags_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, 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 FlagsValue ->                       -- const_static_values : TInterface "GObject" "FlagsValue"
-    IO CGType
-
-
-flagsRegisterStatic ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> FlagsValue                           -- constStaticValues
-    -> m GType                              -- result
-flagsRegisterStatic name constStaticValues = liftIO $ do
-    name' <- textToCString name
-    let 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 "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "FlagsValue")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_get_value_by_nick" g_flags_get_value_by_nick :: 
-    Ptr FlagsClass ->                       -- flags_class : TInterface "GObject" "FlagsClass"
-    CString ->                              -- nick : TBasicType TUTF8
-    IO (Ptr FlagsValue)
-
-
-flagsGetValueByNick ::
-    (MonadIO m) =>
-    FlagsClass                              -- flagsClass
-    -> T.Text                               -- nick
-    -> m FlagsValue                         -- result
-flagsGetValueByNick flagsClass nick = liftIO $ do
-    let flagsClass' = unsafeManagedPtrGetPtr flagsClass
-    nick' <- textToCString nick
-    result <- g_flags_get_value_by_nick flagsClass' nick'
-    checkUnexpectedReturnNULL "g_flags_get_value_by_nick" result
-    result' <- (newPtr FlagsValue) result
-    touchManagedPtr flagsClass
-    freeMem nick'
-    return result'
-
-
--- function g_flags_get_value_by_name
--- Args : [Arg {argCName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "FlagsValue")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_get_value_by_name" g_flags_get_value_by_name :: 
-    Ptr FlagsClass ->                       -- flags_class : TInterface "GObject" "FlagsClass"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr FlagsValue)
-
-
-flagsGetValueByName ::
-    (MonadIO m) =>
-    FlagsClass                              -- flagsClass
-    -> T.Text                               -- name
-    -> m FlagsValue                         -- result
-flagsGetValueByName flagsClass name = liftIO $ do
-    let flagsClass' = unsafeManagedPtrGetPtr flagsClass
-    name' <- textToCString name
-    result <- g_flags_get_value_by_name flagsClass' name'
-    checkUnexpectedReturnNULL "g_flags_get_value_by_name" result
-    result' <- (newPtr FlagsValue) result
-    touchManagedPtr flagsClass
-    freeMem name'
-    return result'
-
-
--- function g_flags_get_first_value
--- Args : [Arg {argCName = "flags_class", argType = TInterface "GObject" "FlagsClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "FlagsValue")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_flags_get_first_value" g_flags_get_first_value :: 
-    Ptr FlagsClass ->                       -- flags_class : TInterface "GObject" "FlagsClass"
-    Word32 ->                               -- value : TBasicType TUInt
-    IO (Ptr FlagsValue)
-
-
-flagsGetFirstValue ::
-    (MonadIO m) =>
-    FlagsClass                              -- flagsClass
-    -> Word32                               -- value
-    -> m FlagsValue                         -- result
-flagsGetFirstValue flagsClass value = liftIO $ do
-    let flagsClass' = unsafeManagedPtrGetPtr flagsClass
-    result <- g_flags_get_first_value flagsClass' value
-    checkUnexpectedReturnNULL "g_flags_get_first_value" result
-    result' <- (newPtr 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "const_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, 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 TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"
-    Ptr FlagsValue ->                       -- const_values : TInterface "GObject" "FlagsValue"
-    IO ()
-
-
-flagsCompleteTypeInfo ::
-    (MonadIO m) =>
-    GType                                   -- gFlagsType
-    -> FlagsValue                           -- constValues
-    -> m (TypeInfo)                         -- result
-flagsCompleteTypeInfo gFlagsType constValues = liftIO $ do
-    let gFlagsType' = gtypeToCGType gFlagsType
-    info <- callocBytes 72 :: IO (Ptr TypeInfo)
-    let constValues' = unsafeManagedPtrGetPtr constValues
-    g_flags_complete_type_info gFlagsType' info constValues'
-    info' <- (wrapPtr TypeInfo) info
-    touchManagedPtr constValues
-    return info'
-
-
--- function g_enum_register_static
--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, 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 EnumValue ->                        -- const_static_values : TInterface "GObject" "EnumValue"
-    IO CGType
-
-
-enumRegisterStatic ::
-    (MonadIO m) =>
-    T.Text                                  -- name
-    -> EnumValue                            -- constStaticValues
-    -> m GType                              -- result
-enumRegisterStatic name constStaticValues = liftIO $ do
-    name' <- textToCString name
-    let 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 "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "EnumValue")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_get_value_by_nick" g_enum_get_value_by_nick :: 
-    Ptr EnumClass ->                        -- enum_class : TInterface "GObject" "EnumClass"
-    CString ->                              -- nick : TBasicType TUTF8
-    IO (Ptr EnumValue)
-
-
-enumGetValueByNick ::
-    (MonadIO m) =>
-    EnumClass                               -- enumClass
-    -> T.Text                               -- nick
-    -> m EnumValue                          -- result
-enumGetValueByNick enumClass nick = liftIO $ do
-    let enumClass' = unsafeManagedPtrGetPtr enumClass
-    nick' <- textToCString nick
-    result <- g_enum_get_value_by_nick enumClass' nick'
-    checkUnexpectedReturnNULL "g_enum_get_value_by_nick" result
-    result' <- (newPtr EnumValue) result
-    touchManagedPtr enumClass
-    freeMem nick'
-    return result'
-
-
--- function g_enum_get_value_by_name
--- Args : [Arg {argCName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "EnumValue")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_get_value_by_name" g_enum_get_value_by_name :: 
-    Ptr EnumClass ->                        -- enum_class : TInterface "GObject" "EnumClass"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr EnumValue)
-
-
-enumGetValueByName ::
-    (MonadIO m) =>
-    EnumClass                               -- enumClass
-    -> T.Text                               -- name
-    -> m EnumValue                          -- result
-enumGetValueByName enumClass name = liftIO $ do
-    let enumClass' = unsafeManagedPtrGetPtr enumClass
-    name' <- textToCString name
-    result <- g_enum_get_value_by_name enumClass' name'
-    checkUnexpectedReturnNULL "g_enum_get_value_by_name" result
-    result' <- (newPtr EnumValue) result
-    touchManagedPtr enumClass
-    freeMem name'
-    return result'
-
-
--- function g_enum_get_value
--- Args : [Arg {argCName = "enum_class", argType = TInterface "GObject" "EnumClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "EnumValue")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_get_value" g_enum_get_value :: 
-    Ptr EnumClass ->                        -- enum_class : TInterface "GObject" "EnumClass"
-    Int32 ->                                -- value : TBasicType TInt
-    IO (Ptr EnumValue)
-
-
-enumGetValue ::
-    (MonadIO m) =>
-    EnumClass                               -- enumClass
-    -> Int32                                -- value
-    -> m EnumValue                          -- result
-enumGetValue enumClass value = liftIO $ do
-    let enumClass' = unsafeManagedPtrGetPtr enumClass
-    result <- g_enum_get_value enumClass' value
-    checkUnexpectedReturnNULL "g_enum_get_value" result
-    result' <- (newPtr 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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "const_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, 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 TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"
-    Ptr EnumValue ->                        -- const_values : TInterface "GObject" "EnumValue"
-    IO ()
-
-
-enumCompleteTypeInfo ::
-    (MonadIO m) =>
-    GType                                   -- gEnumType
-    -> EnumValue                            -- constValues
-    -> m (TypeInfo)                         -- result
-enumCompleteTypeInfo gEnumType constValues = liftIO $ do
-    let gEnumType' = gtypeToCGType gEnumType
-    info <- callocBytes 72 :: IO (Ptr TypeInfo)
-    let constValues' = unsafeManagedPtrGetPtr constValues
-    g_enum_complete_type_info gEnumType' info constValues'
-    info' <- (wrapPtr TypeInfo) info
-    touchManagedPtr constValues
-    return info'
-
-
--- function g_boxed_free
--- Args : [Arg {argCName = "boxed_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 ()
-
-
-boxedFree ::
-    (MonadIO m) =>
-    GType                                   -- boxedType
-    -> Ptr ()                               -- boxed
-    -> m ()                                 -- result
-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, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_boxed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 ())
-
-
-boxedCopy ::
-    (MonadIO m) =>
-    GType                                   -- boxedType
-    -> Ptr ()                               -- srcBoxed
-    -> m (Ptr ())                           -- result
-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,27 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-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.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-
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,214 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Interfaces.TypePlugin
-    ( 
-
--- * Exported types
-    TypePlugin(..)                          ,
-    noTypePlugin                            ,
-    TypePluginK                             ,
-
-
- -- * Methods
--- ** typePluginCompleteInterfaceInfo
-    TypePluginCompleteInterfaceInfoMethodInfo,
-    typePluginCompleteInterfaceInfo         ,
-
-
--- ** typePluginCompleteTypeInfo
-    TypePluginCompleteTypeInfoMethodInfo    ,
-    typePluginCompleteTypeInfo              ,
-
-
--- ** typePluginUnuse
-    TypePluginUnuseMethodInfo               ,
-    typePluginUnuse                         ,
-
-
--- ** typePluginUse
-    TypePluginUseMethodInfo                 ,
-    typePluginUse                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
--- interface TypePlugin 
-
-newtype TypePlugin = TypePlugin (ForeignPtr TypePlugin)
-noTypePlugin :: Maybe TypePlugin
-noTypePlugin = Nothing
-
-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 = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypePluginMethod t TypePlugin, MethodInfo info TypePlugin p) => IsLabelProxy t (TypePlugin -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypePluginMethod t TypePlugin, MethodInfo info TypePlugin p) => IsLabel t (TypePlugin -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-type instance AttributeList TypePlugin = TypePluginAttributeList
-type TypePluginAttributeList = ('[ ] :: [(Symbol, *)])
-
-type instance SignalList TypePlugin = TypePluginSignalList
-type TypePluginSignalList = ('[ ] :: [(Symbol, *)])
-
-class ForeignPtrNewtype a => TypePluginK a
-instance (ForeignPtrNewtype o, IsDescendantOf TypePlugin o) => TypePluginK o
-type instance ParentTypes TypePlugin = TypePluginParentTypes
-type TypePluginParentTypes = '[]
-
--- method TypePlugin::complete_interface_info
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypePlugin"
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr InterfaceInfo ->                    -- info : TInterface "GObject" "InterfaceInfo"
-    IO ()
-
-
-typePluginCompleteInterfaceInfo ::
-    (MonadIO m, TypePluginK a) =>
-    a                                       -- _obj
-    -> GType                                -- instanceType
-    -> GType                                -- interfaceType
-    -> InterfaceInfo                        -- info
-    -> m ()                                 -- result
-typePluginCompleteInterfaceInfo _obj instanceType interfaceType info = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    let info' = unsafeManagedPtrGetPtr info
-    g_type_plugin_complete_interface_info _obj' instanceType' interfaceType' info'
-    touchManagedPtr _obj
-    touchManagedPtr info
-    return ()
-
-data TypePluginCompleteInterfaceInfoMethodInfo
-instance (signature ~ (GType -> GType -> InterfaceInfo -> m ()), MonadIO m, TypePluginK a) => MethodInfo TypePluginCompleteInterfaceInfoMethodInfo a signature where
-    overloadedMethod _ = typePluginCompleteInterfaceInfo
-
--- method TypePlugin::complete_type_info
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "g_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value_table", argType = TInterface "GObject" "TypeValueTable", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypePlugin"
-    CGType ->                               -- g_type : TBasicType TGType
-    Ptr TypeInfo ->                         -- info : TInterface "GObject" "TypeInfo"
-    Ptr TypeValueTable ->                   -- value_table : TInterface "GObject" "TypeValueTable"
-    IO ()
-
-
-typePluginCompleteTypeInfo ::
-    (MonadIO m, TypePluginK a) =>
-    a                                       -- _obj
-    -> GType                                -- gType
-    -> TypeInfo                             -- info
-    -> TypeValueTable                       -- valueTable
-    -> m ()                                 -- result
-typePluginCompleteTypeInfo _obj gType info valueTable = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let gType' = gtypeToCGType gType
-    let info' = unsafeManagedPtrGetPtr info
-    let valueTable' = unsafeManagedPtrGetPtr valueTable
-    g_type_plugin_complete_type_info _obj' gType' info' valueTable'
-    touchManagedPtr _obj
-    touchManagedPtr info
-    touchManagedPtr valueTable
-    return ()
-
-data TypePluginCompleteTypeInfoMethodInfo
-instance (signature ~ (GType -> TypeInfo -> TypeValueTable -> m ()), MonadIO m, TypePluginK a) => MethodInfo TypePluginCompleteTypeInfoMethodInfo a signature where
-    overloadedMethod _ = typePluginCompleteTypeInfo
-
--- method TypePlugin::unuse
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypePlugin"
-    IO ()
-
-
-typePluginUnuse ::
-    (MonadIO m, TypePluginK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-typePluginUnuse _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_type_plugin_unuse _obj'
-    touchManagedPtr _obj
-    return ()
-
-data TypePluginUnuseMethodInfo
-instance (signature ~ (m ()), MonadIO m, TypePluginK a) => MethodInfo TypePluginUnuseMethodInfo a signature where
-    overloadedMethod _ = typePluginUnuse
-
--- method TypePlugin::use
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypePlugin", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypePlugin"
-    IO ()
-
-
-typePluginUse ::
-    (MonadIO m, TypePluginK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-typePluginUse _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_type_plugin_use _obj'
-    touchManagedPtr _obj
-    return ()
-
-data TypePluginUseMethodInfo
-instance (signature ~ (m ()), MonadIO m, TypePluginK a) => MethodInfo TypePluginUseMethodInfo a signature where
-    overloadedMethod _ = typePluginUse
-
-
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,16 +0,0 @@
-module GI.GObject.Interfaces.TypePlugin where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypePlugin = TypePlugin (ForeignPtr TypePlugin)
-class ForeignPtrNewtype a => TypePluginK a
-instance (ForeignPtrNewtype o, IsDescendantOf TypePlugin o) => TypePluginK o
-data TypePluginCompleteInterfaceInfoMethodInfo
-data TypePluginCompleteTypeInfoMethodInfo
-data TypePluginUnuseMethodInfo
-data TypePluginUseMethodInfo
diff --git a/GI/GObject/Objects.hs b/GI/GObject/Objects.hs
deleted file mode 100644
--- a/GI/GObject/Objects.hs
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Objects
-    (     module GI.GObject.Objects.Binding       ,
-    module GI.GObject.Objects.InitiallyUnowned,
-    module GI.GObject.Objects.Object        ,
-    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.TypeModule
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-
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,469 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Objects.Binding
-    ( 
-
--- * Exported types
-    Binding(..)                             ,
-    BindingK                                ,
-    toBinding                               ,
-    noBinding                               ,
-
-
- -- * Methods
--- ** bindingGetFlags
-    BindingGetFlagsMethodInfo               ,
-    bindingGetFlags                         ,
-
-
--- ** bindingGetSource
-    BindingGetSourceMethodInfo              ,
-    bindingGetSource                        ,
-
-
--- ** bindingGetSourceProperty
-    BindingGetSourcePropertyMethodInfo      ,
-    bindingGetSourceProperty                ,
-
-
--- ** bindingGetTarget
-    BindingGetTargetMethodInfo              ,
-    bindingGetTarget                        ,
-
-
--- ** bindingGetTargetProperty
-    BindingGetTargetPropertyMethodInfo      ,
-    bindingGetTargetProperty                ,
-
-
--- ** bindingUnbind
-    BindingUnbindMethodInfo                 ,
-    bindingUnbind                           ,
-
-
-
-
- -- * Properties
--- ** Flags
-    BindingFlagsPropertyInfo                ,
-    bindingFlags                            ,
-    constructBindingFlags                   ,
-    getBindingFlags                         ,
-
-
--- ** Source
-    BindingSourcePropertyInfo               ,
-    bindingSource                           ,
-    constructBindingSource                  ,
-    getBindingSource                        ,
-
-
--- ** SourceProperty
-    BindingSourcePropertyPropertyInfo       ,
-    bindingSourceProperty                   ,
-    constructBindingSourceProperty          ,
-    getBindingSourceProperty                ,
-
-
--- ** Target
-    BindingTargetPropertyInfo               ,
-    bindingTarget                           ,
-    constructBindingTarget                  ,
-    getBindingTarget                        ,
-
-
--- ** TargetProperty
-    BindingTargetPropertyPropertyInfo       ,
-    bindingTargetProperty                   ,
-    constructBindingTargetProperty          ,
-    getBindingTargetProperty                ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype Binding = Binding (ForeignPtr Binding)
-foreign import ccall "g_binding_get_type"
-    c_g_binding_get_type :: IO GType
-
-type instance ParentTypes Binding = BindingParentTypes
-type BindingParentTypes = '[Object]
-
-instance GObject Binding where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_g_binding_get_type
-    
-
-class GObject o => BindingK o
-instance (GObject o, IsDescendantOf Binding o) => BindingK o
-
-toBinding :: BindingK o => o -> IO Binding
-toBinding = unsafeCastTo Binding
-
-noBinding :: Maybe Binding
-noBinding = Nothing
-
-type family ResolveBindingMethod (t :: Symbol) (o :: *) :: * where
-    ResolveBindingMethod "bindProperty" o = ObjectBindPropertyMethodInfo
-    ResolveBindingMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo
-    ResolveBindingMethod "forceFloating" o = ObjectForceFloatingMethodInfo
-    ResolveBindingMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo
-    ResolveBindingMethod "isFloating" o = ObjectIsFloatingMethodInfo
-    ResolveBindingMethod "notify" o = ObjectNotifyMethodInfo
-    ResolveBindingMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo
-    ResolveBindingMethod "ref" o = ObjectRefMethodInfo
-    ResolveBindingMethod "refSink" o = ObjectRefSinkMethodInfo
-    ResolveBindingMethod "replaceData" o = ObjectReplaceDataMethodInfo
-    ResolveBindingMethod "replaceQdata" o = ObjectReplaceQdataMethodInfo
-    ResolveBindingMethod "runDispose" o = ObjectRunDisposeMethodInfo
-    ResolveBindingMethod "stealData" o = ObjectStealDataMethodInfo
-    ResolveBindingMethod "stealQdata" o = ObjectStealQdataMethodInfo
-    ResolveBindingMethod "thawNotify" o = ObjectThawNotifyMethodInfo
-    ResolveBindingMethod "unbind" o = BindingUnbindMethodInfo
-    ResolveBindingMethod "unref" o = ObjectUnrefMethodInfo
-    ResolveBindingMethod "watchClosure" o = ObjectWatchClosureMethodInfo
-    ResolveBindingMethod "getData" o = ObjectGetDataMethodInfo
-    ResolveBindingMethod "getFlags" o = BindingGetFlagsMethodInfo
-    ResolveBindingMethod "getProperty" o = ObjectGetPropertyMethodInfo
-    ResolveBindingMethod "getQdata" o = ObjectGetQdataMethodInfo
-    ResolveBindingMethod "getSource" o = BindingGetSourceMethodInfo
-    ResolveBindingMethod "getSourceProperty" o = BindingGetSourcePropertyMethodInfo
-    ResolveBindingMethod "getTarget" o = BindingGetTargetMethodInfo
-    ResolveBindingMethod "getTargetProperty" o = BindingGetTargetPropertyMethodInfo
-    ResolveBindingMethod "setData" o = ObjectSetDataMethodInfo
-    ResolveBindingMethod "setProperty" o = ObjectSetPropertyMethodInfo
-    ResolveBindingMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveBindingMethod t Binding, MethodInfo info Binding p) => IsLabelProxy t (Binding -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveBindingMethod t Binding, MethodInfo info Binding p) => IsLabel t (Binding -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
--- VVV Prop "flags"
-   -- Type: TInterface "GObject" "BindingFlags"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-getBindingFlags :: (MonadIO m, BindingK o) => o -> m [BindingFlags]
-getBindingFlags obj = liftIO $ getObjectPropertyFlags obj "flags"
-
-constructBindingFlags :: [BindingFlags] -> IO ([Char], GValue)
-constructBindingFlags val = constructObjectPropertyFlags "flags" val
-
-data BindingFlagsPropertyInfo
-instance AttrInfo BindingFlagsPropertyInfo where
-    type AttrAllowedOps BindingFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
-    type AttrSetTypeConstraint BindingFlagsPropertyInfo = (~) [BindingFlags]
-    type AttrBaseTypeConstraint BindingFlagsPropertyInfo = BindingK
-    type AttrGetType BindingFlagsPropertyInfo = [BindingFlags]
-    type AttrLabel BindingFlagsPropertyInfo = "flags"
-    attrGet _ = getBindingFlags
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingFlags
-    attrClear _ = undefined
-
--- VVV Prop "source"
-   -- Type: TInterface "GObject" "Object"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-getBindingSource :: (MonadIO m, BindingK o) => o -> m Object
-getBindingSource obj = liftIO $ checkUnexpectedNothing "getBindingSource" $ getObjectPropertyObject obj "source" Object
-
-constructBindingSource :: (ObjectK a) => a -> IO ([Char], GValue)
-constructBindingSource val = constructObjectPropertyObject "source" (Just val)
-
-data BindingSourcePropertyInfo
-instance AttrInfo BindingSourcePropertyInfo where
-    type AttrAllowedOps BindingSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingSourcePropertyInfo = ObjectK
-    type AttrBaseTypeConstraint BindingSourcePropertyInfo = BindingK
-    type AttrGetType BindingSourcePropertyInfo = Object
-    type AttrLabel BindingSourcePropertyInfo = "source"
-    attrGet _ = getBindingSource
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingSource
-    attrClear _ = undefined
-
--- VVV Prop "source-property"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-getBindingSourceProperty :: (MonadIO m, BindingK o) => o -> m T.Text
-getBindingSourceProperty obj = liftIO $ checkUnexpectedNothing "getBindingSourceProperty" $ getObjectPropertyString obj "source-property"
-
-constructBindingSourceProperty :: T.Text -> IO ([Char], GValue)
-constructBindingSourceProperty val = constructObjectPropertyString "source-property" (Just val)
-
-data BindingSourcePropertyPropertyInfo
-instance AttrInfo BindingSourcePropertyPropertyInfo where
-    type AttrAllowedOps BindingSourcePropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingSourcePropertyPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint BindingSourcePropertyPropertyInfo = BindingK
-    type AttrGetType BindingSourcePropertyPropertyInfo = T.Text
-    type AttrLabel BindingSourcePropertyPropertyInfo = "source-property"
-    attrGet _ = getBindingSourceProperty
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingSourceProperty
-    attrClear _ = undefined
-
--- VVV Prop "target"
-   -- Type: TInterface "GObject" "Object"
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-getBindingTarget :: (MonadIO m, BindingK o) => o -> m Object
-getBindingTarget obj = liftIO $ checkUnexpectedNothing "getBindingTarget" $ getObjectPropertyObject obj "target" Object
-
-constructBindingTarget :: (ObjectK a) => a -> IO ([Char], GValue)
-constructBindingTarget val = constructObjectPropertyObject "target" (Just val)
-
-data BindingTargetPropertyInfo
-instance AttrInfo BindingTargetPropertyInfo where
-    type AttrAllowedOps BindingTargetPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingTargetPropertyInfo = ObjectK
-    type AttrBaseTypeConstraint BindingTargetPropertyInfo = BindingK
-    type AttrGetType BindingTargetPropertyInfo = Object
-    type AttrLabel BindingTargetPropertyInfo = "target"
-    attrGet _ = getBindingTarget
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingTarget
-    attrClear _ = undefined
-
--- VVV Prop "target-property"
-   -- Type: TBasicType TUTF8
-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
-   -- Nullable: (Just False,Nothing)
-
-getBindingTargetProperty :: (MonadIO m, BindingK o) => o -> m T.Text
-getBindingTargetProperty obj = liftIO $ checkUnexpectedNothing "getBindingTargetProperty" $ getObjectPropertyString obj "target-property"
-
-constructBindingTargetProperty :: T.Text -> IO ([Char], GValue)
-constructBindingTargetProperty val = constructObjectPropertyString "target-property" (Just val)
-
-data BindingTargetPropertyPropertyInfo
-instance AttrInfo BindingTargetPropertyPropertyInfo where
-    type AttrAllowedOps BindingTargetPropertyPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint BindingTargetPropertyPropertyInfo = (~) T.Text
-    type AttrBaseTypeConstraint BindingTargetPropertyPropertyInfo = BindingK
-    type AttrGetType BindingTargetPropertyPropertyInfo = T.Text
-    type AttrLabel BindingTargetPropertyPropertyInfo = "target-property"
-    attrGet _ = getBindingTargetProperty
-    attrSet _ = undefined
-    attrConstruct _ = constructBindingTargetProperty
-    attrClear _ = undefined
-
-type instance AttributeList Binding = BindingAttributeList
-type BindingAttributeList = ('[ '("flags", BindingFlagsPropertyInfo), '("source", BindingSourcePropertyInfo), '("sourceProperty", BindingSourcePropertyPropertyInfo), '("target", BindingTargetPropertyInfo), '("targetProperty", BindingTargetPropertyPropertyInfo)] :: [(Symbol, *)])
-
-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
-
-type instance SignalList Binding = BindingSignalList
-type BindingSignalList = ('[ '("notify", ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Binding::get_flags
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "BindingFlags")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_flags" g_binding_get_flags :: 
-    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"
-    IO CUInt
-
-
-bindingGetFlags ::
-    (MonadIO m, BindingK a) =>
-    a                                       -- _obj
-    -> m [BindingFlags]                     -- result
-bindingGetFlags _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_binding_get_flags _obj'
-    let result' = wordToGFlags result
-    touchManagedPtr _obj
-    return result'
-
-data BindingGetFlagsMethodInfo
-instance (signature ~ (m [BindingFlags]), MonadIO m, BindingK a) => MethodInfo BindingGetFlagsMethodInfo a signature where
-    overloadedMethod _ = bindingGetFlags
-
--- method Binding::get_source
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Object")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_source" g_binding_get_source :: 
-    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"
-    IO (Ptr Object)
-
-
-bindingGetSource ::
-    (MonadIO m, BindingK a) =>
-    a                                       -- _obj
-    -> m Object                             -- result
-bindingGetSource _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_binding_get_source _obj'
-    checkUnexpectedReturnNULL "g_binding_get_source" result
-    result' <- (newObject Object) result
-    touchManagedPtr _obj
-    return result'
-
-data BindingGetSourceMethodInfo
-instance (signature ~ (m Object), MonadIO m, BindingK a) => MethodInfo BindingGetSourceMethodInfo a signature where
-    overloadedMethod _ = bindingGetSource
-
--- method Binding::get_source_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, 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 ->                          -- _obj : TInterface "GObject" "Binding"
-    IO CString
-
-
-bindingGetSourceProperty ::
-    (MonadIO m, BindingK a) =>
-    a                                       -- _obj
-    -> m T.Text                             -- result
-bindingGetSourceProperty _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_binding_get_source_property _obj'
-    checkUnexpectedReturnNULL "g_binding_get_source_property" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
-data BindingGetSourcePropertyMethodInfo
-instance (signature ~ (m T.Text), MonadIO m, BindingK a) => MethodInfo BindingGetSourcePropertyMethodInfo a signature where
-    overloadedMethod _ = bindingGetSourceProperty
-
--- method Binding::get_target
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Object")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_binding_get_target" g_binding_get_target :: 
-    Ptr Binding ->                          -- _obj : TInterface "GObject" "Binding"
-    IO (Ptr Object)
-
-
-bindingGetTarget ::
-    (MonadIO m, BindingK a) =>
-    a                                       -- _obj
-    -> m Object                             -- result
-bindingGetTarget _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_binding_get_target _obj'
-    checkUnexpectedReturnNULL "g_binding_get_target" result
-    result' <- (newObject Object) result
-    touchManagedPtr _obj
-    return result'
-
-data BindingGetTargetMethodInfo
-instance (signature ~ (m Object), MonadIO m, BindingK a) => MethodInfo BindingGetTargetMethodInfo a signature where
-    overloadedMethod _ = bindingGetTarget
-
--- method Binding::get_target_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, 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 ->                          -- _obj : TInterface "GObject" "Binding"
-    IO CString
-
-
-bindingGetTargetProperty ::
-    (MonadIO m, BindingK a) =>
-    a                                       -- _obj
-    -> m T.Text                             -- result
-bindingGetTargetProperty _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_binding_get_target_property _obj'
-    checkUnexpectedReturnNULL "g_binding_get_target_property" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    return result'
-
-data BindingGetTargetPropertyMethodInfo
-instance (signature ~ (m T.Text), MonadIO m, BindingK a) => MethodInfo BindingGetTargetPropertyMethodInfo a signature where
-    overloadedMethod _ = bindingGetTargetProperty
-
--- method Binding::unbind
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Binding", direction = DirectionIn, mayBeNull = False, 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 ->                          -- _obj : TInterface "GObject" "Binding"
-    IO ()
-
-
-bindingUnbind ::
-    (MonadIO m, BindingK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-bindingUnbind _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_binding_unbind _obj'
-    touchManagedPtr _obj
-    return ()
-
-data BindingUnbindMethodInfo
-instance (signature ~ (m ()), MonadIO m, BindingK a) => MethodInfo BindingUnbindMethodInfo a signature where
-    overloadedMethod _ = bindingUnbind
-
-
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,24 +0,0 @@
-module GI.GObject.Objects.Binding where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Binding = Binding (ForeignPtr Binding)
-instance GObject Binding where
-class GObject o => BindingK o
-instance (GObject o, IsDescendantOf Binding o) => BindingK o
-data BindingFlagsPropertyInfo
-data BindingSourcePropertyInfo
-data BindingSourcePropertyPropertyInfo
-data BindingTargetPropertyInfo
-data BindingTargetPropertyPropertyInfo
-data BindingGetFlagsMethodInfo
-data BindingGetSourceMethodInfo
-data BindingGetSourcePropertyMethodInfo
-data BindingGetTargetMethodInfo
-data BindingGetTargetPropertyMethodInfo
-data BindingUnbindMethodInfo
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,91 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Objects.InitiallyUnowned
-    ( 
-
--- * Exported types
-    InitiallyUnowned(..)                    ,
-    InitiallyUnownedK                       ,
-    toInitiallyUnowned                      ,
-    noInitiallyUnowned                      ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype InitiallyUnowned = InitiallyUnowned (ForeignPtr InitiallyUnowned)
-foreign import ccall "g_initially_unowned_get_type"
-    c_g_initially_unowned_get_type :: IO GType
-
-type instance ParentTypes InitiallyUnowned = InitiallyUnownedParentTypes
-type InitiallyUnownedParentTypes = '[Object]
-
-instance GObject InitiallyUnowned where
-    gobjectIsInitiallyUnowned _ = True
-    gobjectType _ = c_g_initially_unowned_get_type
-    
-
-class GObject o => InitiallyUnownedK o
-instance (GObject o, IsDescendantOf InitiallyUnowned o) => InitiallyUnownedK o
-
-toInitiallyUnowned :: InitiallyUnownedK o => o -> IO InitiallyUnowned
-toInitiallyUnowned = unsafeCastTo InitiallyUnowned
-
-noInitiallyUnowned :: Maybe InitiallyUnowned
-noInitiallyUnowned = Nothing
-
-type family ResolveInitiallyUnownedMethod (t :: Symbol) (o :: *) :: * where
-    ResolveInitiallyUnownedMethod "bindProperty" o = ObjectBindPropertyMethodInfo
-    ResolveInitiallyUnownedMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo
-    ResolveInitiallyUnownedMethod "forceFloating" o = ObjectForceFloatingMethodInfo
-    ResolveInitiallyUnownedMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo
-    ResolveInitiallyUnownedMethod "isFloating" o = ObjectIsFloatingMethodInfo
-    ResolveInitiallyUnownedMethod "notify" o = ObjectNotifyMethodInfo
-    ResolveInitiallyUnownedMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo
-    ResolveInitiallyUnownedMethod "ref" o = ObjectRefMethodInfo
-    ResolveInitiallyUnownedMethod "refSink" o = ObjectRefSinkMethodInfo
-    ResolveInitiallyUnownedMethod "replaceData" o = ObjectReplaceDataMethodInfo
-    ResolveInitiallyUnownedMethod "replaceQdata" o = ObjectReplaceQdataMethodInfo
-    ResolveInitiallyUnownedMethod "runDispose" o = ObjectRunDisposeMethodInfo
-    ResolveInitiallyUnownedMethod "stealData" o = ObjectStealDataMethodInfo
-    ResolveInitiallyUnownedMethod "stealQdata" o = ObjectStealQdataMethodInfo
-    ResolveInitiallyUnownedMethod "thawNotify" o = ObjectThawNotifyMethodInfo
-    ResolveInitiallyUnownedMethod "unref" o = ObjectUnrefMethodInfo
-    ResolveInitiallyUnownedMethod "watchClosure" o = ObjectWatchClosureMethodInfo
-    ResolveInitiallyUnownedMethod "getData" o = ObjectGetDataMethodInfo
-    ResolveInitiallyUnownedMethod "getProperty" o = ObjectGetPropertyMethodInfo
-    ResolveInitiallyUnownedMethod "getQdata" o = ObjectGetQdataMethodInfo
-    ResolveInitiallyUnownedMethod "setData" o = ObjectSetDataMethodInfo
-    ResolveInitiallyUnownedMethod "setProperty" o = ObjectSetPropertyMethodInfo
-    ResolveInitiallyUnownedMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveInitiallyUnownedMethod t InitiallyUnowned, MethodInfo info InitiallyUnowned p) => IsLabelProxy t (InitiallyUnowned -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveInitiallyUnownedMethod t InitiallyUnowned, MethodInfo info InitiallyUnowned p) => IsLabel t (InitiallyUnowned -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-type instance AttributeList InitiallyUnowned = InitiallyUnownedAttributeList
-type InitiallyUnownedAttributeList = ('[ ] :: [(Symbol, *)])
-
-type instance SignalList InitiallyUnowned = InitiallyUnownedSignalList
-type InitiallyUnownedSignalList = ('[ '("notify", ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
-
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,13 +0,0 @@
-module GI.GObject.Objects.InitiallyUnowned where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype InitiallyUnowned = InitiallyUnowned (ForeignPtr InitiallyUnowned)
-instance GObject InitiallyUnowned where
-class GObject o => InitiallyUnownedK o
-instance (GObject o, IsDescendantOf InitiallyUnowned o) => InitiallyUnownedK o
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,1138 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Objects.Object
-    ( 
-
--- * Exported types
-    Object(..)                              ,
-    ObjectK                                 ,
-    toObject                                ,
-    noObject                                ,
-
-
- -- * Methods
--- ** Unsupported methods
-    ObjectInterfaceListPropertiesMethodInfo ,
-
-
--- ** objectBindProperty
-    ObjectBindPropertyMethodInfo            ,
-    objectBindProperty                      ,
-
-
--- ** objectBindPropertyFull
-    ObjectBindPropertyFullMethodInfo        ,
-    objectBindPropertyFull                  ,
-
-
--- ** objectCompatControl
-    objectCompatControl                     ,
-
-
--- ** objectForceFloating
-    ObjectForceFloatingMethodInfo           ,
-    objectForceFloating                     ,
-
-
--- ** objectFreezeNotify
-    ObjectFreezeNotifyMethodInfo            ,
-    objectFreezeNotify                      ,
-
-
--- ** objectGetData
-    ObjectGetDataMethodInfo                 ,
-    objectGetData                           ,
-
-
--- ** objectGetProperty
-    ObjectGetPropertyMethodInfo             ,
-    objectGetProperty                       ,
-
-
--- ** objectGetQdata
-    ObjectGetQdataMethodInfo                ,
-    objectGetQdata                          ,
-
-
--- ** objectInterfaceFindProperty
-    objectInterfaceFindProperty             ,
-
-
--- ** objectInterfaceInstallProperty
-    objectInterfaceInstallProperty          ,
-
-
--- ** objectIsFloating
-    ObjectIsFloatingMethodInfo              ,
-    objectIsFloating                        ,
-
-
--- ** objectNew
-    objectNew                               ,
-
-
--- ** objectNotify
-    ObjectNotifyMethodInfo                  ,
-    objectNotify                            ,
-
-
--- ** objectNotifyByPspec
-    ObjectNotifyByPspecMethodInfo           ,
-    objectNotifyByPspec                     ,
-
-
--- ** objectRef
-    ObjectRefMethodInfo                     ,
-    objectRef                               ,
-
-
--- ** objectRefSink
-    ObjectRefSinkMethodInfo                 ,
-    objectRefSink                           ,
-
-
--- ** objectReplaceData
-    ObjectReplaceDataMethodInfo             ,
-    objectReplaceData                       ,
-
-
--- ** objectReplaceQdata
-    ObjectReplaceQdataMethodInfo            ,
-    objectReplaceQdata                      ,
-
-
--- ** objectRunDispose
-    ObjectRunDisposeMethodInfo              ,
-    objectRunDispose                        ,
-
-
--- ** objectSetData
-    ObjectSetDataMethodInfo                 ,
-    objectSetData                           ,
-
-
--- ** objectSetProperty
-    ObjectSetPropertyMethodInfo             ,
-    objectSetProperty                       ,
-
-
--- ** objectStealData
-    ObjectStealDataMethodInfo               ,
-    objectStealData                         ,
-
-
--- ** objectStealQdata
-    ObjectStealQdataMethodInfo              ,
-    objectStealQdata                        ,
-
-
--- ** objectThawNotify
-    ObjectThawNotifyMethodInfo              ,
-    objectThawNotify                        ,
-
-
--- ** objectUnref
-    ObjectUnrefMethodInfo                   ,
-    objectUnref                             ,
-
-
--- ** objectWatchClosure
-    ObjectWatchClosureMethodInfo            ,
-    objectWatchClosure                      ,
-
-
-
-
- -- * Signals
--- ** Notify
-    ObjectNotifyCallback                    ,
-    ObjectNotifyCallbackC                   ,
-    ObjectNotifySignalInfo                  ,
-    afterObjectNotify                       ,
-    mkObjectNotifyCallback                  ,
-    noObjectNotifyCallback                  ,
-    objectNotifyCallbackWrapper             ,
-    objectNotifyClosure                     ,
-    onObjectNotify                          ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-import qualified GI.GLib as GLib
-
-newtype Object = Object (ForeignPtr Object)
-foreign import ccall "g_object_get_type"
-    c_g_object_get_type :: IO GType
-
-type instance ParentTypes Object = ObjectParentTypes
-type ObjectParentTypes = '[]
-
-instance GObject Object where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_g_object_get_type
-    
-
-class GObject o => ObjectK o
-instance (GObject o, IsDescendantOf Object o) => ObjectK o
-
-toObject :: ObjectK o => o -> IO Object
-toObject = unsafeCastTo Object
-
-noObject :: Maybe Object
-noObject = Nothing
-
-type family ResolveObjectMethod (t :: Symbol) (o :: *) :: * where
-    ResolveObjectMethod "bindProperty" o = ObjectBindPropertyMethodInfo
-    ResolveObjectMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo
-    ResolveObjectMethod "forceFloating" o = ObjectForceFloatingMethodInfo
-    ResolveObjectMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo
-    ResolveObjectMethod "isFloating" o = ObjectIsFloatingMethodInfo
-    ResolveObjectMethod "notify" o = ObjectNotifyMethodInfo
-    ResolveObjectMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo
-    ResolveObjectMethod "ref" o = ObjectRefMethodInfo
-    ResolveObjectMethod "refSink" o = ObjectRefSinkMethodInfo
-    ResolveObjectMethod "replaceData" o = ObjectReplaceDataMethodInfo
-    ResolveObjectMethod "replaceQdata" o = ObjectReplaceQdataMethodInfo
-    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 "setProperty" o = ObjectSetPropertyMethodInfo
-    ResolveObjectMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveObjectMethod t Object, MethodInfo info Object p) => IsLabelProxy t (Object -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveObjectMethod t Object, MethodInfo info Object p) => IsLabel t (Object -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
--- signal Object::notify
-type ObjectNotifyCallback =
-    GParamSpec ->
-    IO ()
-
-noObjectNotifyCallback :: Maybe ObjectNotifyCallback
-noObjectNotifyCallback = Nothing
-
-type ObjectNotifyCallbackC =
-    Ptr () ->                               -- object
-    Ptr GParamSpec ->
-    Ptr () ->                               -- user_data
-    IO ()
-
-foreign import ccall "wrapper"
-    mkObjectNotifyCallback :: ObjectNotifyCallbackC -> IO (FunPtr ObjectNotifyCallbackC)
-
-objectNotifyClosure :: ObjectNotifyCallback -> IO Closure
-objectNotifyClosure cb = newCClosure =<< mkObjectNotifyCallback wrapped
-    where wrapped = objectNotifyCallbackWrapper cb
-
-objectNotifyCallbackWrapper ::
-    ObjectNotifyCallback ->
-    Ptr () ->
-    Ptr GParamSpec ->
-    Ptr () ->
-    IO ()
-objectNotifyCallbackWrapper _cb _ pspec _ = do
-    pspec' <- newGParamSpecFromPtr pspec
-    _cb  pspec'
-
-onObjectNotify :: (GObject a, MonadIO m) => a -> ObjectNotifyCallback -> m SignalHandlerId
-onObjectNotify obj cb = liftIO $ connectObjectNotify obj cb SignalConnectBefore
-afterObjectNotify :: (GObject a, MonadIO m) => a -> ObjectNotifyCallback -> m SignalHandlerId
-afterObjectNotify obj cb = connectObjectNotify obj cb SignalConnectAfter
-
-connectObjectNotify :: (GObject a, MonadIO m) =>
-                       a -> ObjectNotifyCallback -> SignalConnectMode -> m SignalHandlerId
-connectObjectNotify obj cb after = liftIO $ do
-    cb' <- mkObjectNotifyCallback (objectNotifyCallbackWrapper cb)
-    connectSignalFunPtr obj "notify" cb' after
-
-type instance AttributeList Object = ObjectAttributeList
-type ObjectAttributeList = ('[ ] :: [(Symbol, *)])
-
-data ObjectNotifySignalInfo
-instance SignalInfo ObjectNotifySignalInfo where
-    type HaskellCallbackType ObjectNotifySignalInfo = ObjectNotifyCallback
-    connectSignal _ = connectObjectNotify
-
-type instance SignalList Object = ObjectSignalList
-type ObjectSignalList = ('[ '("notify", ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method Object::new
--- method type : Constructor
--- Args : [Arg {argCName = "object_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_parameters", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parameters", argType = TCArray False (-1) 1 (TInterface "GObject" "Parameter"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : [Arg {argCName = "n_parameters", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- returnType : Just (TInterface "GObject" "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 Parameter ->                        -- parameters : TCArray False (-1) 1 (TInterface "GObject" "Parameter")
-    IO (Ptr Object)
-
-
-objectNew ::
-    (MonadIO m) =>
-    GType                                   -- objectType
-    -> [Parameter]                          -- parameters
-    -> m Object                             -- result
-objectNew objectType parameters = liftIO $ do
-    let nParameters = fromIntegral $ length parameters
-    let objectType' = gtypeToCGType objectType
-    let parameters' = map unsafeManagedPtrGetPtr parameters
-    parameters'' <- packBlockArray 32 parameters'
-    result <- g_object_newv objectType' nParameters parameters''
-    checkUnexpectedReturnNULL "g_object_newv" result
-    result' <- (wrapObject Object) result
-    mapM_ touchManagedPtr parameters
-    freeMem parameters''
-    return result'
-
--- method Object::bind_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "BindingFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Binding")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_bind_property" g_object_bind_property :: 
-    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- source_property : TBasicType TUTF8
-    Ptr Object ->                           -- target : TInterface "GObject" "Object"
-    CString ->                              -- target_property : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface "GObject" "BindingFlags"
-    IO (Ptr Binding)
-
-
-objectBindProperty ::
-    (MonadIO m, ObjectK a, ObjectK b) =>
-    a                                       -- _obj
-    -> T.Text                               -- sourceProperty
-    -> b                                    -- target
-    -> T.Text                               -- targetProperty
-    -> [BindingFlags]                       -- flags
-    -> m Binding                            -- result
-objectBindProperty _obj sourceProperty target targetProperty flags = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    sourceProperty' <- textToCString sourceProperty
-    let target' = unsafeManagedPtrCastPtr target
-    targetProperty' <- textToCString targetProperty
-    let flags' = gflagsToWord flags
-    result <- g_object_bind_property _obj' sourceProperty' target' targetProperty' flags'
-    checkUnexpectedReturnNULL "g_object_bind_property" result
-    result' <- (newObject Binding) result
-    touchManagedPtr _obj
-    touchManagedPtr target
-    freeMem sourceProperty'
-    freeMem targetProperty'
-    return result'
-
-data ObjectBindPropertyMethodInfo
-instance (signature ~ (T.Text -> b -> T.Text -> [BindingFlags] -> m Binding), MonadIO m, ObjectK a, ObjectK b) => MethodInfo ObjectBindPropertyMethodInfo a signature where
-    overloadedMethod _ = objectBindProperty
-
--- method Object::bind_property_full
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "BindingFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transform_to", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transform_from", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Binding")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_bind_property_with_closures" g_object_bind_property_with_closures :: 
-    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- source_property : TBasicType TUTF8
-    Ptr Object ->                           -- target : TInterface "GObject" "Object"
-    CString ->                              -- target_property : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface "GObject" "BindingFlags"
-    Ptr Closure ->                          -- transform_to : TInterface "GObject" "Closure"
-    Ptr Closure ->                          -- transform_from : TInterface "GObject" "Closure"
-    IO (Ptr Binding)
-
-
-objectBindPropertyFull ::
-    (MonadIO m, ObjectK a, ObjectK b) =>
-    a                                       -- _obj
-    -> T.Text                               -- sourceProperty
-    -> b                                    -- target
-    -> T.Text                               -- targetProperty
-    -> [BindingFlags]                       -- flags
-    -> Closure                              -- transformTo
-    -> Closure                              -- transformFrom
-    -> m Binding                            -- result
-objectBindPropertyFull _obj sourceProperty target targetProperty flags transformTo transformFrom = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    sourceProperty' <- textToCString sourceProperty
-    let target' = unsafeManagedPtrCastPtr target
-    targetProperty' <- textToCString targetProperty
-    let flags' = gflagsToWord flags
-    let transformTo' = unsafeManagedPtrGetPtr transformTo
-    let transformFrom' = unsafeManagedPtrGetPtr transformFrom
-    result <- g_object_bind_property_with_closures _obj' sourceProperty' target' targetProperty' flags' transformTo' transformFrom'
-    checkUnexpectedReturnNULL "g_object_bind_property_with_closures" result
-    result' <- (newObject Binding) result
-    touchManagedPtr _obj
-    touchManagedPtr target
-    touchManagedPtr transformTo
-    touchManagedPtr transformFrom
-    freeMem sourceProperty'
-    freeMem targetProperty'
-    return result'
-
-data ObjectBindPropertyFullMethodInfo
-instance (signature ~ (T.Text -> b -> T.Text -> [BindingFlags] -> Closure -> Closure -> m Binding), MonadIO m, ObjectK a, ObjectK b) => MethodInfo ObjectBindPropertyFullMethodInfo a signature where
-    overloadedMethod _ = objectBindPropertyFull
-
--- method Object::force_floating
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    IO ()
-
-
-objectForceFloating ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-objectForceFloating _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_object_force_floating _obj'
-    touchManagedPtr _obj
-    return ()
-
-data ObjectForceFloatingMethodInfo
-instance (signature ~ (m ()), MonadIO m, ObjectK a) => MethodInfo ObjectForceFloatingMethodInfo a signature where
-    overloadedMethod _ = objectForceFloating
-
--- method Object::freeze_notify
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    IO ()
-
-
-objectFreezeNotify ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-objectFreezeNotify _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_object_freeze_notify _obj'
-    touchManagedPtr _obj
-    return ()
-
-data ObjectFreezeNotifyMethodInfo
-instance (signature ~ (m ()), MonadIO m, ObjectK a) => MethodInfo ObjectFreezeNotifyMethodInfo a signature where
-    overloadedMethod _ = objectFreezeNotify
-
--- method Object::get_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- key : TBasicType TUTF8
-    IO (Ptr ())
-
-
-objectGetData ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- key
-    -> m (Ptr ())                           -- result
-objectGetData _obj key = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    key' <- textToCString key
-    result <- g_object_get_data _obj' key'
-    touchManagedPtr _obj
-    freeMem key'
-    return result
-
-data ObjectGetDataMethodInfo
-instance (signature ~ (T.Text -> m (Ptr ())), MonadIO m, ObjectK a) => MethodInfo ObjectGetDataMethodInfo a signature where
-    overloadedMethod _ = objectGetData
-
--- method Object::get_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- property_name : TBasicType TUTF8
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO ()
-
-
-objectGetProperty ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- propertyName
-    -> GValue                               -- value
-    -> m ()                                 -- result
-objectGetProperty _obj propertyName value = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    propertyName' <- textToCString propertyName
-    let value' = unsafeManagedPtrGetPtr value
-    g_object_get_property _obj' propertyName' value'
-    touchManagedPtr _obj
-    touchManagedPtr value
-    freeMem propertyName'
-    return ()
-
-data ObjectGetPropertyMethodInfo
-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectGetPropertyMethodInfo a signature where
-    overloadedMethod _ = objectGetProperty
-
--- method Object::get_qdata
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    Word32 ->                               -- quark : TBasicType TUInt32
-    IO (Ptr ())
-
-
-objectGetQdata ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> Word32                               -- quark
-    -> m (Ptr ())                           -- result
-objectGetQdata _obj quark = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_object_get_qdata _obj' quark
-    touchManagedPtr _obj
-    return result
-
-data ObjectGetQdataMethodInfo
-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m, ObjectK a) => MethodInfo ObjectGetQdataMethodInfo a signature where
-    overloadedMethod _ = objectGetQdata
-
--- method Object::is_floating
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    IO CInt
-
-
-objectIsFloating ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m Bool                               -- result
-objectIsFloating _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_object_is_floating _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
-data ObjectIsFloatingMethodInfo
-instance (signature ~ (m Bool), MonadIO m, ObjectK a) => MethodInfo ObjectIsFloatingMethodInfo a signature where
-    overloadedMethod _ = objectIsFloating
-
--- method Object::notify
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- property_name : TBasicType TUTF8
-    IO ()
-
-
-objectNotify ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- propertyName
-    -> m ()                                 -- result
-objectNotify _obj propertyName = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    propertyName' <- textToCString propertyName
-    g_object_notify _obj' propertyName'
-    touchManagedPtr _obj
-    freeMem propertyName'
-    return ()
-
-data ObjectNotifyMethodInfo
-instance (signature ~ (T.Text -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectNotifyMethodInfo a signature where
-    overloadedMethod _ = objectNotify
-
--- method Object::notify_by_pspec
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    IO ()
-
-
-objectNotifyByPspec ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> GParamSpec                           -- pspec
-    -> m ()                                 -- result
-objectNotifyByPspec _obj pspec = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    g_object_notify_by_pspec _obj' pspec'
-    touchManagedPtr _obj
-    return ()
-
-data ObjectNotifyByPspecMethodInfo
-instance (signature ~ (GParamSpec -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectNotifyByPspecMethodInfo a signature where
-    overloadedMethod _ = objectNotifyByPspec
-
--- method Object::ref
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Object")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_ref" g_object_ref :: 
-    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"
-    IO (Ptr Object)
-
-
-objectRef ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m Object                             -- result
-objectRef _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_object_ref _obj'
-    checkUnexpectedReturnNULL "g_object_ref" result
-    result' <- (newObject Object) result
-    touchManagedPtr _obj
-    return result'
-
-data ObjectRefMethodInfo
-instance (signature ~ (m Object), MonadIO m, ObjectK a) => MethodInfo ObjectRefMethodInfo a signature where
-    overloadedMethod _ = objectRef
-
--- method Object::ref_sink
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Object")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_ref_sink" g_object_ref_sink :: 
-    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"
-    IO (Ptr Object)
-
-
-objectRefSink ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m Object                             -- result
-objectRefSink _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_object_ref_sink _obj'
-    checkUnexpectedReturnNULL "g_object_ref_sink" result
-    result' <- (newObject Object) result
-    touchManagedPtr _obj
-    return result'
-
-data ObjectRefSinkMethodInfo
-instance (signature ~ (m Object), MonadIO m, ObjectK a) => MethodInfo ObjectRefSinkMethodInfo a signature where
-    overloadedMethod _ = objectRefSink
-
--- method Object::replace_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_replace_data" g_object_replace_data :: 
-    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- key : TBasicType TUTF8
-    Ptr () ->                               -- oldval : TBasicType TPtr
-    Ptr () ->                               -- newval : TBasicType TPtr
-    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"
-    FunPtr GLib.DestroyNotifyC ->           -- old_destroy : TInterface "GLib" "DestroyNotify"
-    IO CInt
-
-
-objectReplaceData ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- key
-    -> Ptr ()                               -- oldval
-    -> Ptr ()                               -- newval
-    -> Maybe (GLib.DestroyNotify)           -- destroy
-    -> Maybe (GLib.DestroyNotify)           -- oldDestroy
-    -> m Bool                               -- result
-objectReplaceData _obj key oldval newval destroy oldDestroy = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    key' <- textToCString key
-    ptrdestroy <- callocMem :: IO (Ptr (FunPtr GLib.DestroyNotifyC))
-    maybeDestroy <- case destroy of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jDestroy -> do
-            jDestroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrdestroy) jDestroy)
-            poke ptrdestroy jDestroy'
-            return jDestroy'
-    ptroldDestroy <- callocMem :: IO (Ptr (FunPtr GLib.DestroyNotifyC))
-    maybeOldDestroy <- case oldDestroy of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jOldDestroy -> do
-            jOldDestroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptroldDestroy) jOldDestroy)
-            poke ptroldDestroy jOldDestroy'
-            return jOldDestroy'
-    result <- g_object_replace_data _obj' key' oldval newval maybeDestroy maybeOldDestroy
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    freeMem key'
-    return result'
-
-data ObjectReplaceDataMethodInfo
-instance (signature ~ (T.Text -> Ptr () -> Ptr () -> Maybe (GLib.DestroyNotify) -> Maybe (GLib.DestroyNotify) -> m Bool), MonadIO m, ObjectK a) => MethodInfo ObjectReplaceDataMethodInfo a signature where
-    overloadedMethod _ = objectReplaceData
-
--- method Object::replace_qdata
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_destroy", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_replace_qdata" g_object_replace_qdata :: 
-    Ptr Object ->                           -- _obj : TInterface "GObject" "Object"
-    Word32 ->                               -- quark : TBasicType TUInt32
-    Ptr () ->                               -- oldval : TBasicType TPtr
-    Ptr () ->                               -- newval : TBasicType TPtr
-    FunPtr GLib.DestroyNotifyC ->           -- destroy : TInterface "GLib" "DestroyNotify"
-    FunPtr GLib.DestroyNotifyC ->           -- old_destroy : TInterface "GLib" "DestroyNotify"
-    IO CInt
-
-
-objectReplaceQdata ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> Word32                               -- quark
-    -> Ptr ()                               -- oldval
-    -> Ptr ()                               -- newval
-    -> Maybe (GLib.DestroyNotify)           -- destroy
-    -> Maybe (GLib.DestroyNotify)           -- oldDestroy
-    -> m Bool                               -- result
-objectReplaceQdata _obj quark oldval newval destroy oldDestroy = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    ptrdestroy <- callocMem :: IO (Ptr (FunPtr GLib.DestroyNotifyC))
-    maybeDestroy <- case destroy of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jDestroy -> do
-            jDestroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptrdestroy) jDestroy)
-            poke ptrdestroy jDestroy'
-            return jDestroy'
-    ptroldDestroy <- callocMem :: IO (Ptr (FunPtr GLib.DestroyNotifyC))
-    maybeOldDestroy <- case oldDestroy of
-        Nothing -> return (castPtrToFunPtr nullPtr)
-        Just jOldDestroy -> do
-            jOldDestroy' <- GLib.mkDestroyNotify (GLib.destroyNotifyWrapper (Just ptroldDestroy) jOldDestroy)
-            poke ptroldDestroy jOldDestroy'
-            return jOldDestroy'
-    result <- g_object_replace_qdata _obj' quark oldval newval maybeDestroy maybeOldDestroy
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
-data ObjectReplaceQdataMethodInfo
-instance (signature ~ (Word32 -> Ptr () -> Ptr () -> Maybe (GLib.DestroyNotify) -> Maybe (GLib.DestroyNotify) -> m Bool), MonadIO m, ObjectK a) => MethodInfo ObjectReplaceQdataMethodInfo a signature where
-    overloadedMethod _ = objectReplaceQdata
-
--- method Object::run_dispose
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    IO ()
-
-
-objectRunDispose ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-objectRunDispose _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_object_run_dispose _obj'
-    touchManagedPtr _obj
-    return ()
-
-data ObjectRunDisposeMethodInfo
-instance (signature ~ (m ()), MonadIO m, ObjectK a) => MethodInfo ObjectRunDisposeMethodInfo a signature where
-    overloadedMethod _ = objectRunDispose
-
--- method Object::set_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- key : TBasicType TUTF8
-    Ptr () ->                               -- data : TBasicType TPtr
-    IO ()
-
-
-objectSetData ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- key
-    -> Ptr ()                               -- data_
-    -> m ()                                 -- result
-objectSetData _obj key data_ = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    key' <- textToCString key
-    g_object_set_data _obj' key' data_
-    touchManagedPtr _obj
-    freeMem key'
-    return ()
-
-data ObjectSetDataMethodInfo
-instance (signature ~ (T.Text -> Ptr () -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectSetDataMethodInfo a signature where
-    overloadedMethod _ = objectSetData
-
--- method Object::set_property
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- property_name : TBasicType TUTF8
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO ()
-
-
-objectSetProperty ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- propertyName
-    -> GValue                               -- value
-    -> m ()                                 -- result
-objectSetProperty _obj propertyName value = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    propertyName' <- textToCString propertyName
-    let value' = unsafeManagedPtrGetPtr value
-    g_object_set_property _obj' propertyName' value'
-    touchManagedPtr _obj
-    touchManagedPtr value
-    freeMem propertyName'
-    return ()
-
-data ObjectSetPropertyMethodInfo
-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectSetPropertyMethodInfo a signature where
-    overloadedMethod _ = objectSetProperty
-
--- method Object::steal_data
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    CString ->                              -- key : TBasicType TUTF8
-    IO (Ptr ())
-
-
-objectStealData ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- key
-    -> m (Ptr ())                           -- result
-objectStealData _obj key = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    key' <- textToCString key
-    result <- g_object_steal_data _obj' key'
-    touchManagedPtr _obj
-    freeMem key'
-    return result
-
-data ObjectStealDataMethodInfo
-instance (signature ~ (T.Text -> m (Ptr ())), MonadIO m, ObjectK a) => MethodInfo ObjectStealDataMethodInfo a signature where
-    overloadedMethod _ = objectStealData
-
--- method Object::steal_qdata
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    Word32 ->                               -- quark : TBasicType TUInt32
-    IO (Ptr ())
-
-
-objectStealQdata ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> Word32                               -- quark
-    -> m (Ptr ())                           -- result
-objectStealQdata _obj quark = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_object_steal_qdata _obj' quark
-    touchManagedPtr _obj
-    return result
-
-data ObjectStealQdataMethodInfo
-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m, ObjectK a) => MethodInfo ObjectStealQdataMethodInfo a signature where
-    overloadedMethod _ = objectStealQdata
-
--- method Object::thaw_notify
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    IO ()
-
-
-objectThawNotify ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-objectThawNotify _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_object_thaw_notify _obj'
-    touchManagedPtr _obj
-    return ()
-
-data ObjectThawNotifyMethodInfo
-instance (signature ~ (m ()), MonadIO m, ObjectK a) => MethodInfo ObjectThawNotifyMethodInfo a signature where
-    overloadedMethod _ = objectThawNotify
-
--- method Object::unref
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    IO ()
-
-
-objectUnref ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-objectUnref _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_object_unref _obj'
-    touchManagedPtr _obj
-    return ()
-
-data ObjectUnrefMethodInfo
-instance (signature ~ (m ()), MonadIO m, ObjectK a) => MethodInfo ObjectUnrefMethodInfo a signature where
-    overloadedMethod _ = objectUnref
-
--- method Object::watch_closure
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, 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 ->                           -- _obj : TInterface "GObject" "Object"
-    Ptr Closure ->                          -- closure : TInterface "GObject" "Closure"
-    IO ()
-
-
-objectWatchClosure ::
-    (MonadIO m, ObjectK a) =>
-    a                                       -- _obj
-    -> Closure                              -- closure
-    -> m ()                                 -- result
-objectWatchClosure _obj closure = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let closure' = unsafeManagedPtrGetPtr closure
-    g_object_watch_closure _obj' closure'
-    touchManagedPtr _obj
-    touchManagedPtr closure
-    return ()
-
-data ObjectWatchClosureMethodInfo
-instance (signature ~ (Closure -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectWatchClosureMethodInfo a signature where
-    overloadedMethod _ = objectWatchClosure
-
--- method Object::compat_control
--- method type : MemberFunction
--- Args : [Arg {argCName = "what", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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
-
-
-objectCompatControl ::
-    (MonadIO m) =>
-    Word64                                  -- what
-    -> Ptr ()                               -- data_
-    -> m Word64                             -- result
-objectCompatControl what data_ = liftIO $ do
-    result <- g_object_compat_control what data_
-    return result
-
--- method Object::interface_find_property
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_iface", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, 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 () ->                               -- g_iface : TBasicType TPtr
-    CString ->                              -- property_name : TBasicType TUTF8
-    IO (Ptr GParamSpec)
-
-
-objectInterfaceFindProperty ::
-    (MonadIO m) =>
-    Ptr ()                                  -- gIface
-    -> T.Text                               -- propertyName
-    -> m GParamSpec                         -- result
-objectInterfaceFindProperty gIface propertyName = liftIO $ do
-    propertyName' <- textToCString propertyName
-    result <- g_object_interface_find_property gIface propertyName'
-    checkUnexpectedReturnNULL "g_object_interface_find_property" result
-    result' <- newGParamSpecFromPtr result
-    freeMem propertyName'
-    return result'
-
--- method Object::interface_install_property
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_iface", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, 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 () ->                               -- g_iface : TBasicType TPtr
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    IO ()
-
-
-objectInterfaceInstallProperty ::
-    (MonadIO m) =>
-    Ptr ()                                  -- gIface
-    -> GParamSpec                           -- pspec
-    -> m ()                                 -- result
-objectInterfaceInstallProperty gIface pspec = liftIO $ do
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    g_object_interface_install_property gIface pspec'
-    return ()
-
--- 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"
--- XXX: Dummy instance, since code generation failed.
--- Please file a bug at http://github.com/haskell-gi/haskell-gi.
-data ObjectInterfaceListPropertiesMethodInfo
-instance (p ~ (), o ~ MethodResolutionFailed "interfaceListProperties" Object) => MethodInfo ObjectInterfaceListPropertiesMethodInfo o p where
-    overloadedMethod _ = undefined
-
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,37 +0,0 @@
-module GI.GObject.Objects.Object where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Object = Object (ForeignPtr Object)
-instance GObject Object where
-class GObject o => ObjectK o
-instance (GObject o, IsDescendantOf Object o) => ObjectK o
-data ObjectNotifySignalInfo
-data ObjectBindPropertyMethodInfo
-data ObjectBindPropertyFullMethodInfo
-data ObjectForceFloatingMethodInfo
-data ObjectFreezeNotifyMethodInfo
-data ObjectGetDataMethodInfo
-data ObjectGetPropertyMethodInfo
-data ObjectGetQdataMethodInfo
-data ObjectIsFloatingMethodInfo
-data ObjectNotifyMethodInfo
-data ObjectNotifyByPspecMethodInfo
-data ObjectRefMethodInfo
-data ObjectRefSinkMethodInfo
-data ObjectReplaceDataMethodInfo
-data ObjectReplaceQdataMethodInfo
-data ObjectRunDisposeMethodInfo
-data ObjectSetDataMethodInfo
-data ObjectSetPropertyMethodInfo
-data ObjectStealDataMethodInfo
-data ObjectStealQdataMethodInfo
-data ObjectThawNotifyMethodInfo
-data ObjectUnrefMethodInfo
-data ObjectWatchClosureMethodInfo
-data ObjectInterfaceListPropertiesMethodInfo
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,373 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Objects.TypeModule
-    ( 
-
--- * Exported types
-    TypeModule(..)                          ,
-    TypeModuleK                             ,
-    toTypeModule                            ,
-    noTypeModule                            ,
-
-
- -- * Methods
--- ** typeModuleAddInterface
-    TypeModuleAddInterfaceMethodInfo        ,
-    typeModuleAddInterface                  ,
-
-
--- ** typeModuleRegisterEnum
-    TypeModuleRegisterEnumMethodInfo        ,
-    typeModuleRegisterEnum                  ,
-
-
--- ** typeModuleRegisterFlags
-    TypeModuleRegisterFlagsMethodInfo       ,
-    typeModuleRegisterFlags                 ,
-
-
--- ** typeModuleRegisterType
-    TypeModuleRegisterTypeMethodInfo        ,
-    typeModuleRegisterType                  ,
-
-
--- ** typeModuleSetName
-    TypeModuleSetNameMethodInfo             ,
-    typeModuleSetName                       ,
-
-
--- ** typeModuleUnuse
-    TypeModuleUnuseMethodInfo               ,
-    typeModuleUnuse                         ,
-
-
--- ** typeModuleUse
-    TypeModuleUseMethodInfo                 ,
-    typeModuleUse                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeModule = TypeModule (ForeignPtr TypeModule)
-foreign import ccall "g_type_module_get_type"
-    c_g_type_module_get_type :: IO GType
-
-type instance ParentTypes TypeModule = TypeModuleParentTypes
-type TypeModuleParentTypes = '[Object, TypePlugin]
-
-instance GObject TypeModule where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_g_type_module_get_type
-    
-
-class GObject o => TypeModuleK o
-instance (GObject o, IsDescendantOf TypeModule o) => TypeModuleK o
-
-toTypeModule :: TypeModuleK o => o -> IO TypeModule
-toTypeModule = unsafeCastTo TypeModule
-
-noTypeModule :: Maybe TypeModule
-noTypeModule = Nothing
-
-type family ResolveTypeModuleMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeModuleMethod "addInterface" o = TypeModuleAddInterfaceMethodInfo
-    ResolveTypeModuleMethod "bindProperty" o = ObjectBindPropertyMethodInfo
-    ResolveTypeModuleMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo
-    ResolveTypeModuleMethod "completeInterfaceInfo" o = TypePluginCompleteInterfaceInfoMethodInfo
-    ResolveTypeModuleMethod "completeTypeInfo" o = TypePluginCompleteTypeInfoMethodInfo
-    ResolveTypeModuleMethod "forceFloating" o = ObjectForceFloatingMethodInfo
-    ResolveTypeModuleMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo
-    ResolveTypeModuleMethod "isFloating" o = ObjectIsFloatingMethodInfo
-    ResolveTypeModuleMethod "notify" o = ObjectNotifyMethodInfo
-    ResolveTypeModuleMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo
-    ResolveTypeModuleMethod "ref" o = ObjectRefMethodInfo
-    ResolveTypeModuleMethod "refSink" o = ObjectRefSinkMethodInfo
-    ResolveTypeModuleMethod "registerEnum" o = TypeModuleRegisterEnumMethodInfo
-    ResolveTypeModuleMethod "registerFlags" o = TypeModuleRegisterFlagsMethodInfo
-    ResolveTypeModuleMethod "registerType" o = TypeModuleRegisterTypeMethodInfo
-    ResolveTypeModuleMethod "replaceData" o = ObjectReplaceDataMethodInfo
-    ResolveTypeModuleMethod "replaceQdata" o = ObjectReplaceQdataMethodInfo
-    ResolveTypeModuleMethod "runDispose" o = ObjectRunDisposeMethodInfo
-    ResolveTypeModuleMethod "stealData" o = ObjectStealDataMethodInfo
-    ResolveTypeModuleMethod "stealQdata" o = ObjectStealQdataMethodInfo
-    ResolveTypeModuleMethod "thawNotify" o = ObjectThawNotifyMethodInfo
-    ResolveTypeModuleMethod "unref" o = ObjectUnrefMethodInfo
-    ResolveTypeModuleMethod "watchClosure" o = ObjectWatchClosureMethodInfo
-    ResolveTypeModuleMethod "getData" o = ObjectGetDataMethodInfo
-    ResolveTypeModuleMethod "getProperty" o = ObjectGetPropertyMethodInfo
-    ResolveTypeModuleMethod "getQdata" o = ObjectGetQdataMethodInfo
-    ResolveTypeModuleMethod "setData" o = ObjectSetDataMethodInfo
-    ResolveTypeModuleMethod "setName" o = TypeModuleSetNameMethodInfo
-    ResolveTypeModuleMethod "setProperty" o = ObjectSetPropertyMethodInfo
-    ResolveTypeModuleMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeModuleMethod t TypeModule, MethodInfo info TypeModule p) => IsLabelProxy t (TypeModule -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeModuleMethod t TypeModule, MethodInfo info TypeModule p) => IsLabel t (TypeModule -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-type instance AttributeList TypeModule = TypeModuleAttributeList
-type TypeModuleAttributeList = ('[ ] :: [(Symbol, *)])
-
-type instance SignalList TypeModule = TypeModuleSignalList
-type TypeModuleSignalList = ('[ '("notify", ObjectNotifySignalInfo)] :: [(Symbol, *)])
-
--- method TypeModule::add_interface
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "instance_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interface_info", argType = TInterface "GObject" "InterfaceInfo", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    CGType ->                               -- instance_type : TBasicType TGType
-    CGType ->                               -- interface_type : TBasicType TGType
-    Ptr InterfaceInfo ->                    -- interface_info : TInterface "GObject" "InterfaceInfo"
-    IO ()
-
-
-typeModuleAddInterface ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> GType                                -- instanceType
-    -> GType                                -- interfaceType
-    -> InterfaceInfo                        -- interfaceInfo
-    -> m ()                                 -- result
-typeModuleAddInterface _obj instanceType interfaceType interfaceInfo = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let instanceType' = gtypeToCGType instanceType
-    let interfaceType' = gtypeToCGType interfaceType
-    let interfaceInfo' = unsafeManagedPtrGetPtr interfaceInfo
-    g_type_module_add_interface _obj' instanceType' interfaceType' interfaceInfo'
-    touchManagedPtr _obj
-    touchManagedPtr interfaceInfo
-    return ()
-
-data TypeModuleAddInterfaceMethodInfo
-instance (signature ~ (GType -> GType -> InterfaceInfo -> m ()), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleAddInterfaceMethodInfo a signature where
-    overloadedMethod _ = typeModuleAddInterface
-
--- method TypeModule::register_enum
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface "GObject" "EnumValue", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr EnumValue ->                        -- const_static_values : TInterface "GObject" "EnumValue"
-    IO CGType
-
-
-typeModuleRegisterEnum ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- name
-    -> EnumValue                            -- constStaticValues
-    -> m GType                              -- result
-typeModuleRegisterEnum _obj name constStaticValues = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    name' <- textToCString name
-    let constStaticValues' = unsafeManagedPtrGetPtr constStaticValues
-    result <- g_type_module_register_enum _obj' name' constStaticValues'
-    let result' = GType result
-    touchManagedPtr _obj
-    touchManagedPtr constStaticValues
-    freeMem name'
-    return result'
-
-data TypeModuleRegisterEnumMethodInfo
-instance (signature ~ (T.Text -> EnumValue -> m GType), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleRegisterEnumMethodInfo a signature where
-    overloadedMethod _ = typeModuleRegisterEnum
-
--- method TypeModule::register_flags
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "const_static_values", argType = TInterface "GObject" "FlagsValue", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr FlagsValue ->                       -- const_static_values : TInterface "GObject" "FlagsValue"
-    IO CGType
-
-
-typeModuleRegisterFlags ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- name
-    -> FlagsValue                           -- constStaticValues
-    -> m GType                              -- result
-typeModuleRegisterFlags _obj name constStaticValues = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    name' <- textToCString name
-    let constStaticValues' = unsafeManagedPtrGetPtr constStaticValues
-    result <- g_type_module_register_flags _obj' name' constStaticValues'
-    let result' = GType result
-    touchManagedPtr _obj
-    touchManagedPtr constStaticValues
-    freeMem name'
-    return result'
-
-data TypeModuleRegisterFlagsMethodInfo
-instance (signature ~ (T.Text -> FlagsValue -> m GType), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleRegisterFlagsMethodInfo a signature where
-    overloadedMethod _ = typeModuleRegisterFlags
-
--- method TypeModule::register_type
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type_info", argType = TInterface "GObject" "TypeInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GObject" "TypeFlags", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    CGType ->                               -- parent_type : TBasicType TGType
-    CString ->                              -- type_name : TBasicType TUTF8
-    Ptr TypeInfo ->                         -- type_info : TInterface "GObject" "TypeInfo"
-    CUInt ->                                -- flags : TInterface "GObject" "TypeFlags"
-    IO CGType
-
-
-typeModuleRegisterType ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> GType                                -- parentType
-    -> T.Text                               -- typeName
-    -> TypeInfo                             -- typeInfo
-    -> [TypeFlags]                          -- flags
-    -> m GType                              -- result
-typeModuleRegisterType _obj parentType typeName typeInfo flags = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let parentType' = gtypeToCGType parentType
-    typeName' <- textToCString typeName
-    let typeInfo' = unsafeManagedPtrGetPtr typeInfo
-    let flags' = gflagsToWord flags
-    result <- g_type_module_register_type _obj' parentType' typeName' typeInfo' flags'
-    let result' = GType result
-    touchManagedPtr _obj
-    touchManagedPtr typeInfo
-    freeMem typeName'
-    return result'
-
-data TypeModuleRegisterTypeMethodInfo
-instance (signature ~ (GType -> T.Text -> TypeInfo -> [TypeFlags] -> m GType), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleRegisterTypeMethodInfo a signature where
-    overloadedMethod _ = typeModuleRegisterType
-
--- method TypeModule::set_name
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    CString ->                              -- name : TBasicType TUTF8
-    IO ()
-
-
-typeModuleSetName ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- name
-    -> m ()                                 -- result
-typeModuleSetName _obj name = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    name' <- textToCString name
-    g_type_module_set_name _obj' name'
-    touchManagedPtr _obj
-    freeMem name'
-    return ()
-
-data TypeModuleSetNameMethodInfo
-instance (signature ~ (T.Text -> m ()), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleSetNameMethodInfo a signature where
-    overloadedMethod _ = typeModuleSetName
-
--- method TypeModule::unuse
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    IO ()
-
-
-typeModuleUnuse ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> m ()                                 -- result
-typeModuleUnuse _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    g_type_module_unuse _obj'
-    touchManagedPtr _obj
-    return ()
-
-data TypeModuleUnuseMethodInfo
-instance (signature ~ (m ()), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleUnuseMethodInfo a signature where
-    overloadedMethod _ = typeModuleUnuse
-
--- method TypeModule::use
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeModule", direction = DirectionIn, mayBeNull = False, 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 ->                       -- _obj : TInterface "GObject" "TypeModule"
-    IO CInt
-
-
-typeModuleUse ::
-    (MonadIO m, TypeModuleK a) =>
-    a                                       -- _obj
-    -> m Bool                               -- result
-typeModuleUse _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_type_module_use _obj'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    return result'
-
-data TypeModuleUseMethodInfo
-instance (signature ~ (m Bool), MonadIO m, TypeModuleK a) => MethodInfo TypeModuleUseMethodInfo a signature where
-    overloadedMethod _ = typeModuleUse
-
-
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,20 +0,0 @@
-module GI.GObject.Objects.TypeModule where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeModule = TypeModule (ForeignPtr TypeModule)
-instance GObject TypeModule where
-class GObject o => TypeModuleK o
-instance (GObject o, IsDescendantOf TypeModule o) => TypeModuleK o
-data TypeModuleAddInterfaceMethodInfo
-data TypeModuleRegisterEnumMethodInfo
-data TypeModuleRegisterFlagsMethodInfo
-data TypeModuleRegisterTypeMethodInfo
-data TypeModuleSetNameMethodInfo
-data TypeModuleUnuseMethodInfo
-data TypeModuleUseMethodInfo
diff --git a/GI/GObject/Structs.hs b/GI/GObject/Structs.hs
deleted file mode 100644
--- a/GI/GObject/Structs.hs
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-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.TypePluginClass,
-    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.TypePluginClass
-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.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-
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,1091 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GCClosure is a specialization of #GClosure for C function callbacks.
--}
-
-module GI.GObject.Structs.CClosure
-    ( 
-
--- * Exported types
-    CClosure(..)                            ,
-    newZeroCClosure                         ,
-    noCClosure                              ,
-
-
- -- * Methods
--- ** cClosureMarshalBOOLEAN_BOXEDBOXED
-    cClosureMarshalBOOLEAN_BOXEDBOXED       ,
-
-
--- ** cClosureMarshalBOOLEAN_FLAGS
-    cClosureMarshalBOOLEAN_FLAGS            ,
-
-
--- ** cClosureMarshalGeneric
-    cClosureMarshalGeneric                  ,
-
-
--- ** cClosureMarshalSTRING_OBJECTPOINTER
-    cClosureMarshalSTRING_OBJECTPOINTER     ,
-
-
--- ** cClosureMarshalVOID_BOOLEAN
-    cClosureMarshalVOID_BOOLEAN             ,
-
-
--- ** cClosureMarshalVOID_BOXED
-    cClosureMarshalVOID_BOXED               ,
-
-
--- ** cClosureMarshalVOID_CHAR
-    cClosureMarshalVOID_CHAR                ,
-
-
--- ** cClosureMarshalVOID_DOUBLE
-    cClosureMarshalVOID_DOUBLE              ,
-
-
--- ** cClosureMarshalVOID_ENUM
-    cClosureMarshalVOID_ENUM                ,
-
-
--- ** cClosureMarshalVOID_FLAGS
-    cClosureMarshalVOID_FLAGS               ,
-
-
--- ** cClosureMarshalVOID_FLOAT
-    cClosureMarshalVOID_FLOAT               ,
-
-
--- ** cClosureMarshalVOID_INT
-    cClosureMarshalVOID_INT                 ,
-
-
--- ** cClosureMarshalVOID_LONG
-    cClosureMarshalVOID_LONG                ,
-
-
--- ** cClosureMarshalVOID_OBJECT
-    cClosureMarshalVOID_OBJECT              ,
-
-
--- ** cClosureMarshalVOID_PARAM
-    cClosureMarshalVOID_PARAM               ,
-
-
--- ** cClosureMarshalVOID_POINTER
-    cClosureMarshalVOID_POINTER             ,
-
-
--- ** cClosureMarshalVOID_STRING
-    cClosureMarshalVOID_STRING              ,
-
-
--- ** cClosureMarshalVOID_UCHAR
-    cClosureMarshalVOID_UCHAR               ,
-
-
--- ** cClosureMarshalVOID_UINT
-    cClosureMarshalVOID_UINT                ,
-
-
--- ** cClosureMarshalVOID_UINTPOINTER
-    cClosureMarshalVOID_UINTPOINTER         ,
-
-
--- ** cClosureMarshalVOID_ULONG
-    cClosureMarshalVOID_ULONG               ,
-
-
--- ** cClosureMarshalVOID_VARIANT
-    cClosureMarshalVOID_VARIANT             ,
-
-
--- ** cClosureMarshalVOID_VOID
-    cClosureMarshalVOID_VOID                ,
-
-
-
-
- -- * Properties
--- ** Callback
-    cClosureCallback                        ,
-    cClosureClearCallback                   ,
-    cClosureReadCallback                    ,
-    cClosureWriteCallback                   ,
-
-
--- ** Closure
-    cClosureClearClosure                    ,
-    cClosureClosure                         ,
-    cClosureReadClosure                     ,
-    cClosureWriteClosure                    ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype CClosure = CClosure (ForeignPtr CClosure)
-instance WrappedPtr CClosure where
-    wrappedPtrCalloc = callocBytes 72
-    wrappedPtrCopy = copyPtr 72
-    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
-
-
-noCClosure :: Maybe CClosure
-noCClosure = Nothing
-
-cClosureReadClosure :: MonadIO m => CClosure -> m (Maybe Closure)
-cClosureReadClosure s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Closure)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newBoxed Closure) val'
-        return val''
-    return result
-
-cClosureWriteClosure :: MonadIO m => CClosure -> Ptr Closure -> m ()
-cClosureWriteClosure s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr Closure)
-
-cClosureClearClosure :: MonadIO m => CClosure -> m ()
-cClosureClearClosure s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr Closure)
-
-data CClosureClosureFieldInfo
-instance AttrInfo CClosureClosureFieldInfo where
-    type AttrAllowedOps CClosureClosureFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint CClosureClosureFieldInfo = (~) (Ptr Closure)
-    type AttrBaseTypeConstraint CClosureClosureFieldInfo = (~) CClosure
-    type AttrGetType CClosureClosureFieldInfo = Maybe Closure
-    type AttrLabel CClosureClosureFieldInfo = "closure"
-    attrGet _ = cClosureReadClosure
-    attrSet _ = cClosureWriteClosure
-    attrConstruct = undefined
-    attrClear _ = cClosureClearClosure
-
-cClosureClosure :: AttrLabelProxy "closure"
-cClosureClosure = AttrLabelProxy
-
-
-cClosureReadCallback :: MonadIO m => CClosure -> m (Ptr ())
-cClosureReadCallback s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO (Ptr ())
-    return val
-
-cClosureWriteCallback :: MonadIO m => CClosure -> Ptr () -> m ()
-cClosureWriteCallback s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (val :: Ptr ())
-
-cClosureClearCallback :: MonadIO m => CClosure -> m ()
-cClosureClearCallback s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (nullPtr :: Ptr ())
-
-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"
-    attrGet _ = cClosureReadCallback
-    attrSet _ = cClosureWriteCallback
-    attrConstruct = undefined
-    attrClear _ = cClosureClearCallback
-
-cClosureCallback :: AttrLabelProxy "callback"
-cClosureCallback = AttrLabelProxy
-
-
-
-type instance AttributeList CClosure = CClosureAttributeList
-type CClosureAttributeList = ('[ '("closure", CClosureClosureFieldInfo), '("callback", CClosureCallbackFieldInfo)] :: [(Symbol, *)])
-
--- method CClosure::marshal_BOOLEAN__BOXED_BOXED
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalBOOLEAN_BOXEDBOXED ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalBOOLEAN_BOXEDBOXED closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_BOOLEAN__BOXED_BOXED closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_BOOLEAN__FLAGS
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalBOOLEAN_FLAGS ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalBOOLEAN_FLAGS closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_BOOLEAN__FLAGS closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_STRING__OBJECT_POINTER
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalSTRING_OBJECTPOINTER ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalSTRING_OBJECTPOINTER closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_STRING__OBJECT_POINTER closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__BOOLEAN
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_BOOLEAN ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_BOOLEAN closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__BOOLEAN closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__BOXED
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_BOXED ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_BOXED closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__BOXED closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__CHAR
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_CHAR ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_CHAR closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__CHAR closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__DOUBLE
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_DOUBLE ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_DOUBLE closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__DOUBLE closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__ENUM
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_ENUM ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_ENUM closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__ENUM closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__FLAGS
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_FLAGS ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_FLAGS closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__FLAGS closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__FLOAT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_FLOAT ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_FLOAT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__FLOAT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__INT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_INT ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_INT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__INT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__LONG
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_LONG ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_LONG closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__LONG closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__OBJECT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_OBJECT ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_OBJECT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__OBJECT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__PARAM
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_PARAM ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_PARAM closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__PARAM closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__POINTER
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_POINTER ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_POINTER closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__POINTER closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__STRING
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_STRING ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_STRING closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__STRING closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__UCHAR
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_UCHAR ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_UCHAR closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__UCHAR closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__UINT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_UINT ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_UINT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__UINT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__UINT_POINTER
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_UINTPOINTER ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_UINTPOINTER closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__UINT_POINTER closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__ULONG
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_ULONG ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_ULONG closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__ULONG closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__VARIANT
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_VARIANT ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_VARIANT closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__VARIANT closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_VOID__VOID
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_value : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalVOID_VOID ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnValue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalVOID_VOID closure returnValue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnValue' = unsafeManagedPtrGetPtr returnValue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_VOID__VOID closure' returnValue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnValue
-    touchManagedPtr paramValues
-    return ()
-
--- method CClosure::marshal_generic
--- method type : MemberFunction
--- Args : [Arg {argCName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_gvalue", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, 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 Closure ->                          -- closure : TInterface "GObject" "Closure"
-    Ptr GValue ->                           -- return_gvalue : TInterface "GObject" "Value"
-    Word32 ->                               -- n_param_values : TBasicType TUInt
-    Ptr GValue ->                           -- param_values : TInterface "GObject" "Value"
-    Ptr () ->                               -- invocation_hint : TBasicType TPtr
-    Ptr () ->                               -- marshal_data : TBasicType TPtr
-    IO ()
-
-
-cClosureMarshalGeneric ::
-    (MonadIO m) =>
-    Closure                                 -- closure
-    -> GValue                               -- returnGvalue
-    -> Word32                               -- nParamValues
-    -> GValue                               -- paramValues
-    -> Ptr ()                               -- invocationHint
-    -> Ptr ()                               -- marshalData
-    -> m ()                                 -- result
-cClosureMarshalGeneric closure returnGvalue nParamValues paramValues invocationHint marshalData = liftIO $ do
-    let closure' = unsafeManagedPtrGetPtr closure
-    let returnGvalue' = unsafeManagedPtrGetPtr returnGvalue
-    let paramValues' = unsafeManagedPtrGetPtr paramValues
-    g_cclosure_marshal_generic closure' returnGvalue' nParamValues paramValues' invocationHint marshalData
-    touchManagedPtr closure
-    touchManagedPtr returnGvalue
-    touchManagedPtr paramValues
-    return ()
-
-type family ResolveCClosureMethod (t :: Symbol) (o :: *) :: * where
-    ResolveCClosureMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveCClosureMethod t CClosure, MethodInfo info CClosure p) => IsLabelProxy t (CClosure -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveCClosureMethod t CClosure, MethodInfo info CClosure p) => IsLabel t (CClosure -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.CClosure where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype CClosure = CClosure (ForeignPtr 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,105 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Structs.ClosureNotifyData
-    ( 
-
--- * Exported types
-    ClosureNotifyData(..)                   ,
-    newZeroClosureNotifyData                ,
-    noClosureNotifyData                     ,
-
-
- -- * Properties
--- ** Data
-    closureNotifyDataClearData              ,
-    closureNotifyDataData                   ,
-    closureNotifyDataReadData               ,
-    closureNotifyDataWriteData              ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype ClosureNotifyData = ClosureNotifyData (ForeignPtr ClosureNotifyData)
-instance WrappedPtr ClosureNotifyData where
-    wrappedPtrCalloc = callocBytes 16
-    wrappedPtrCopy = copyPtr 16
-    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
-
-
-noClosureNotifyData :: Maybe ClosureNotifyData
-noClosureNotifyData = Nothing
-
-closureNotifyDataReadData :: MonadIO m => ClosureNotifyData -> m (Ptr ())
-closureNotifyDataReadData s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
-    return val
-
-closureNotifyDataWriteData :: MonadIO m => ClosureNotifyData -> Ptr () -> m ()
-closureNotifyDataWriteData s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr ())
-
-closureNotifyDataClearData :: MonadIO m => ClosureNotifyData -> m ()
-closureNotifyDataClearData s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr ())
-
-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"
-    attrGet _ = closureNotifyDataReadData
-    attrSet _ = closureNotifyDataWriteData
-    attrConstruct = undefined
-    attrClear _ = closureNotifyDataClearData
-
-closureNotifyDataData :: AttrLabelProxy "data"
-closureNotifyDataData = AttrLabelProxy
-
-
--- XXX Skipped attribute for "ClosureNotifyData:notify" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-
-type instance AttributeList ClosureNotifyData = ClosureNotifyDataAttributeList
-type ClosureNotifyDataAttributeList = ('[ '("data", ClosureNotifyDataDataFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveClosureNotifyDataMethod (t :: Symbol) (o :: *) :: * where
-    ResolveClosureNotifyDataMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveClosureNotifyDataMethod t ClosureNotifyData, MethodInfo info ClosureNotifyData p) => IsLabelProxy t (ClosureNotifyData -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveClosureNotifyDataMethod t ClosureNotifyData, MethodInfo info ClosureNotifyData p) => IsLabel t (ClosureNotifyData -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.ClosureNotifyData where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype ClosureNotifyData = ClosureNotifyData (ForeignPtr 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,242 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The class of an enumeration type holds information about its
-possible values.
--}
-
-module GI.GObject.Structs.EnumClass
-    ( 
-
--- * Exported types
-    EnumClass(..)                           ,
-    newZeroEnumClass                        ,
-    noEnumClass                             ,
-
-
- -- * Properties
--- ** GTypeClass
-    enumClassClearGTypeClass                ,
-    enumClassGTypeClass                     ,
-    enumClassReadGTypeClass                 ,
-    enumClassWriteGTypeClass                ,
-
-
--- ** Maximum
-    enumClassMaximum                        ,
-    enumClassReadMaximum                    ,
-    enumClassWriteMaximum                   ,
-
-
--- ** Minimum
-    enumClassMinimum                        ,
-    enumClassReadMinimum                    ,
-    enumClassWriteMinimum                   ,
-
-
--- ** NValues
-    enumClassNValues                        ,
-    enumClassReadNValues                    ,
-    enumClassWriteNValues                   ,
-
-
--- ** Values
-    enumClassClearValues                    ,
-    enumClassReadValues                     ,
-    enumClassValues                         ,
-    enumClassWriteValues                    ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype EnumClass = EnumClass (ForeignPtr EnumClass)
-instance WrappedPtr EnumClass where
-    wrappedPtrCalloc = callocBytes 32
-    wrappedPtrCopy = copyPtr 32
-    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
-
-
-noEnumClass :: Maybe EnumClass
-noEnumClass = Nothing
-
-enumClassReadGTypeClass :: MonadIO m => EnumClass -> m (Maybe TypeClass)
-enumClassReadGTypeClass s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr TypeClass)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr TypeClass) val'
-        return val''
-    return result
-
-enumClassWriteGTypeClass :: MonadIO m => EnumClass -> Ptr TypeClass -> m ()
-enumClassWriteGTypeClass s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr TypeClass)
-
-enumClassClearGTypeClass :: MonadIO m => EnumClass -> m ()
-enumClassClearGTypeClass s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr TypeClass)
-
-data EnumClassGTypeClassFieldInfo
-instance AttrInfo EnumClassGTypeClassFieldInfo where
-    type AttrAllowedOps EnumClassGTypeClassFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint EnumClassGTypeClassFieldInfo = (~) (Ptr TypeClass)
-    type AttrBaseTypeConstraint EnumClassGTypeClassFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassGTypeClassFieldInfo = Maybe TypeClass
-    type AttrLabel EnumClassGTypeClassFieldInfo = "g_type_class"
-    attrGet _ = enumClassReadGTypeClass
-    attrSet _ = enumClassWriteGTypeClass
-    attrConstruct = undefined
-    attrClear _ = enumClassClearGTypeClass
-
-enumClassGTypeClass :: AttrLabelProxy "gTypeClass"
-enumClassGTypeClass = AttrLabelProxy
-
-
-enumClassReadMinimum :: MonadIO m => EnumClass -> m Int32
-enumClassReadMinimum s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Int32
-    return val
-
-enumClassWriteMinimum :: MonadIO m => EnumClass -> Int32 -> m ()
-enumClassWriteMinimum s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Int32)
-
-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"
-    attrGet _ = enumClassReadMinimum
-    attrSet _ = enumClassWriteMinimum
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClassMinimum :: AttrLabelProxy "minimum"
-enumClassMinimum = AttrLabelProxy
-
-
-enumClassReadMaximum :: MonadIO m => EnumClass -> m Int32
-enumClassReadMaximum s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Int32
-    return val
-
-enumClassWriteMaximum :: MonadIO m => EnumClass -> Int32 -> m ()
-enumClassWriteMaximum s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 12) (val :: Int32)
-
-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"
-    attrGet _ = enumClassReadMaximum
-    attrSet _ = enumClassWriteMaximum
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClassMaximum :: AttrLabelProxy "maximum"
-enumClassMaximum = AttrLabelProxy
-
-
-enumClassReadNValues :: MonadIO m => EnumClass -> m Word32
-enumClassReadNValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Word32
-    return val
-
-enumClassWriteNValues :: MonadIO m => EnumClass -> Word32 -> m ()
-enumClassWriteNValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Word32)
-
-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"
-    attrGet _ = enumClassReadNValues
-    attrSet _ = enumClassWriteNValues
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumClassNValues :: AttrLabelProxy "nValues"
-enumClassNValues = AttrLabelProxy
-
-
-enumClassReadValues :: MonadIO m => EnumClass -> m (Maybe EnumValue)
-enumClassReadValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr EnumValue)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr EnumValue) val'
-        return val''
-    return result
-
-enumClassWriteValues :: MonadIO m => EnumClass -> Ptr EnumValue -> m ()
-enumClassWriteValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (val :: Ptr EnumValue)
-
-enumClassClearValues :: MonadIO m => EnumClass -> m ()
-enumClassClearValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 24) (nullPtr :: Ptr EnumValue)
-
-data EnumClassValuesFieldInfo
-instance AttrInfo EnumClassValuesFieldInfo where
-    type AttrAllowedOps EnumClassValuesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint EnumClassValuesFieldInfo = (~) (Ptr EnumValue)
-    type AttrBaseTypeConstraint EnumClassValuesFieldInfo = (~) EnumClass
-    type AttrGetType EnumClassValuesFieldInfo = Maybe EnumValue
-    type AttrLabel EnumClassValuesFieldInfo = "values"
-    attrGet _ = enumClassReadValues
-    attrSet _ = enumClassWriteValues
-    attrConstruct = undefined
-    attrClear _ = enumClassClearValues
-
-enumClassValues :: AttrLabelProxy "values"
-enumClassValues = AttrLabelProxy
-
-
-
-type instance AttributeList EnumClass = EnumClassAttributeList
-type EnumClassAttributeList = ('[ '("gTypeClass", EnumClassGTypeClassFieldInfo), '("minimum", EnumClassMinimumFieldInfo), '("maximum", EnumClassMaximumFieldInfo), '("nValues", EnumClassNValuesFieldInfo), '("values", EnumClassValuesFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveEnumClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveEnumClassMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveEnumClassMethod t EnumClass, MethodInfo info EnumClass p) => IsLabelProxy t (EnumClass -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveEnumClassMethod t EnumClass, MethodInfo info EnumClass p) => IsLabel t (EnumClass -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.EnumClass where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype EnumClass = EnumClass (ForeignPtr 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,180 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure which contains a single enum value, its name, and its
-nickname.
--}
-
-module GI.GObject.Structs.EnumValue
-    ( 
-
--- * Exported types
-    EnumValue(..)                           ,
-    newZeroEnumValue                        ,
-    noEnumValue                             ,
-
-
- -- * Properties
--- ** Value
-    enumValueReadValue                      ,
-    enumValueValue                          ,
-    enumValueWriteValue                     ,
-
-
--- ** ValueName
-    enumValueClearValueName                 ,
-    enumValueReadValueName                  ,
-    enumValueValueName                      ,
-    enumValueWriteValueName                 ,
-
-
--- ** ValueNick
-    enumValueClearValueNick                 ,
-    enumValueReadValueNick                  ,
-    enumValueValueNick                      ,
-    enumValueWriteValueNick                 ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype EnumValue = EnumValue (ForeignPtr EnumValue)
-instance WrappedPtr EnumValue where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = copyPtr 24
-    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
-
-
-noEnumValue :: Maybe EnumValue
-noEnumValue = Nothing
-
-enumValueReadValue :: MonadIO m => EnumValue -> m Int32
-enumValueReadValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-enumValueWriteValue :: MonadIO m => EnumValue -> Int32 -> m ()
-enumValueWriteValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-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"
-    attrGet _ = enumValueReadValue
-    attrSet _ = enumValueWriteValue
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-enumValueValue :: AttrLabelProxy "value"
-enumValueValue = AttrLabelProxy
-
-
-enumValueReadValueName :: MonadIO m => EnumValue -> m (Maybe T.Text)
-enumValueReadValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-enumValueWriteValueName :: MonadIO m => EnumValue -> CString -> m ()
-enumValueWriteValueName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-enumValueClearValueName :: MonadIO m => EnumValue -> m ()
-enumValueClearValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: CString)
-
-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"
-    attrGet _ = enumValueReadValueName
-    attrSet _ = enumValueWriteValueName
-    attrConstruct = undefined
-    attrClear _ = enumValueClearValueName
-
-enumValueValueName :: AttrLabelProxy "valueName"
-enumValueValueName = AttrLabelProxy
-
-
-enumValueReadValueNick :: MonadIO m => EnumValue -> m (Maybe T.Text)
-enumValueReadValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-enumValueWriteValueNick :: MonadIO m => EnumValue -> CString -> m ()
-enumValueWriteValueNick s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: CString)
-
-enumValueClearValueNick :: MonadIO m => EnumValue -> m ()
-enumValueClearValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (nullPtr :: CString)
-
-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"
-    attrGet _ = enumValueReadValueNick
-    attrSet _ = enumValueWriteValueNick
-    attrConstruct = undefined
-    attrClear _ = enumValueClearValueNick
-
-enumValueValueNick :: AttrLabelProxy "valueNick"
-enumValueValueNick = AttrLabelProxy
-
-
-
-type instance AttributeList EnumValue = EnumValueAttributeList
-type EnumValueAttributeList = ('[ '("value", EnumValueValueFieldInfo), '("valueName", EnumValueValueNameFieldInfo), '("valueNick", EnumValueValueNickFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveEnumValueMethod (t :: Symbol) (o :: *) :: * where
-    ResolveEnumValueMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveEnumValueMethod t EnumValue, MethodInfo info EnumValue p) => IsLabelProxy t (EnumValue -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveEnumValueMethod t EnumValue, MethodInfo info EnumValue p) => IsLabel t (EnumValue -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.EnumValue where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype EnumValue = EnumValue (ForeignPtr 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,211 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The class of a flags type holds information about its
-possible values.
--}
-
-module GI.GObject.Structs.FlagsClass
-    ( 
-
--- * Exported types
-    FlagsClass(..)                          ,
-    newZeroFlagsClass                       ,
-    noFlagsClass                            ,
-
-
- -- * Properties
--- ** GTypeClass
-    flagsClassClearGTypeClass               ,
-    flagsClassGTypeClass                    ,
-    flagsClassReadGTypeClass                ,
-    flagsClassWriteGTypeClass               ,
-
-
--- ** Mask
-    flagsClassMask                          ,
-    flagsClassReadMask                      ,
-    flagsClassWriteMask                     ,
-
-
--- ** NValues
-    flagsClassNValues                       ,
-    flagsClassReadNValues                   ,
-    flagsClassWriteNValues                  ,
-
-
--- ** Values
-    flagsClassClearValues                   ,
-    flagsClassReadValues                    ,
-    flagsClassValues                        ,
-    flagsClassWriteValues                   ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype FlagsClass = FlagsClass (ForeignPtr FlagsClass)
-instance WrappedPtr FlagsClass where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = copyPtr 24
-    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
-
-
-noFlagsClass :: Maybe FlagsClass
-noFlagsClass = Nothing
-
-flagsClassReadGTypeClass :: MonadIO m => FlagsClass -> m (Maybe TypeClass)
-flagsClassReadGTypeClass s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr TypeClass)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr TypeClass) val'
-        return val''
-    return result
-
-flagsClassWriteGTypeClass :: MonadIO m => FlagsClass -> Ptr TypeClass -> m ()
-flagsClassWriteGTypeClass s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr TypeClass)
-
-flagsClassClearGTypeClass :: MonadIO m => FlagsClass -> m ()
-flagsClassClearGTypeClass s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr TypeClass)
-
-data FlagsClassGTypeClassFieldInfo
-instance AttrInfo FlagsClassGTypeClassFieldInfo where
-    type AttrAllowedOps FlagsClassGTypeClassFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint FlagsClassGTypeClassFieldInfo = (~) (Ptr TypeClass)
-    type AttrBaseTypeConstraint FlagsClassGTypeClassFieldInfo = (~) FlagsClass
-    type AttrGetType FlagsClassGTypeClassFieldInfo = Maybe TypeClass
-    type AttrLabel FlagsClassGTypeClassFieldInfo = "g_type_class"
-    attrGet _ = flagsClassReadGTypeClass
-    attrSet _ = flagsClassWriteGTypeClass
-    attrConstruct = undefined
-    attrClear _ = flagsClassClearGTypeClass
-
-flagsClassGTypeClass :: AttrLabelProxy "gTypeClass"
-flagsClassGTypeClass = AttrLabelProxy
-
-
-flagsClassReadMask :: MonadIO m => FlagsClass -> m Word32
-flagsClassReadMask s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO Word32
-    return val
-
-flagsClassWriteMask :: MonadIO m => FlagsClass -> Word32 -> m ()
-flagsClassWriteMask s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Word32)
-
-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"
-    attrGet _ = flagsClassReadMask
-    attrSet _ = flagsClassWriteMask
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsClassMask :: AttrLabelProxy "mask"
-flagsClassMask = AttrLabelProxy
-
-
-flagsClassReadNValues :: MonadIO m => FlagsClass -> m Word32
-flagsClassReadNValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 12) :: IO Word32
-    return val
-
-flagsClassWriteNValues :: MonadIO m => FlagsClass -> Word32 -> m ()
-flagsClassWriteNValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 12) (val :: Word32)
-
-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"
-    attrGet _ = flagsClassReadNValues
-    attrSet _ = flagsClassWriteNValues
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsClassNValues :: AttrLabelProxy "nValues"
-flagsClassNValues = AttrLabelProxy
-
-
-flagsClassReadValues :: MonadIO m => FlagsClass -> m (Maybe FlagsValue)
-flagsClassReadValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr FlagsValue)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr FlagsValue) val'
-        return val''
-    return result
-
-flagsClassWriteValues :: MonadIO m => FlagsClass -> Ptr FlagsValue -> m ()
-flagsClassWriteValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Ptr FlagsValue)
-
-flagsClassClearValues :: MonadIO m => FlagsClass -> m ()
-flagsClassClearValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (nullPtr :: Ptr FlagsValue)
-
-data FlagsClassValuesFieldInfo
-instance AttrInfo FlagsClassValuesFieldInfo where
-    type AttrAllowedOps FlagsClassValuesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint FlagsClassValuesFieldInfo = (~) (Ptr FlagsValue)
-    type AttrBaseTypeConstraint FlagsClassValuesFieldInfo = (~) FlagsClass
-    type AttrGetType FlagsClassValuesFieldInfo = Maybe FlagsValue
-    type AttrLabel FlagsClassValuesFieldInfo = "values"
-    attrGet _ = flagsClassReadValues
-    attrSet _ = flagsClassWriteValues
-    attrConstruct = undefined
-    attrClear _ = flagsClassClearValues
-
-flagsClassValues :: AttrLabelProxy "values"
-flagsClassValues = AttrLabelProxy
-
-
-
-type instance AttributeList FlagsClass = FlagsClassAttributeList
-type FlagsClassAttributeList = ('[ '("gTypeClass", FlagsClassGTypeClassFieldInfo), '("mask", FlagsClassMaskFieldInfo), '("nValues", FlagsClassNValuesFieldInfo), '("values", FlagsClassValuesFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveFlagsClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFlagsClassMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveFlagsClassMethod t FlagsClass, MethodInfo info FlagsClass p) => IsLabelProxy t (FlagsClass -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveFlagsClassMethod t FlagsClass, MethodInfo info FlagsClass p) => IsLabel t (FlagsClass -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.FlagsClass where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype FlagsClass = FlagsClass (ForeignPtr 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,180 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure which contains a single flags value, its name, and its
-nickname.
--}
-
-module GI.GObject.Structs.FlagsValue
-    ( 
-
--- * Exported types
-    FlagsValue(..)                          ,
-    newZeroFlagsValue                       ,
-    noFlagsValue                            ,
-
-
- -- * Properties
--- ** Value
-    flagsValueReadValue                     ,
-    flagsValueValue                         ,
-    flagsValueWriteValue                    ,
-
-
--- ** ValueName
-    flagsValueClearValueName                ,
-    flagsValueReadValueName                 ,
-    flagsValueValueName                     ,
-    flagsValueWriteValueName                ,
-
-
--- ** ValueNick
-    flagsValueClearValueNick                ,
-    flagsValueReadValueNick                 ,
-    flagsValueValueNick                     ,
-    flagsValueWriteValueNick                ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype FlagsValue = FlagsValue (ForeignPtr FlagsValue)
-instance WrappedPtr FlagsValue where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = copyPtr 24
-    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
-
-
-noFlagsValue :: Maybe FlagsValue
-noFlagsValue = Nothing
-
-flagsValueReadValue :: MonadIO m => FlagsValue -> m Word32
-flagsValueReadValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-flagsValueWriteValue :: MonadIO m => FlagsValue -> Word32 -> m ()
-flagsValueWriteValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-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"
-    attrGet _ = flagsValueReadValue
-    attrSet _ = flagsValueWriteValue
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-flagsValueValue :: AttrLabelProxy "value"
-flagsValueValue = AttrLabelProxy
-
-
-flagsValueReadValueName :: MonadIO m => FlagsValue -> m (Maybe T.Text)
-flagsValueReadValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-flagsValueWriteValueName :: MonadIO m => FlagsValue -> CString -> m ()
-flagsValueWriteValueName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-flagsValueClearValueName :: MonadIO m => FlagsValue -> m ()
-flagsValueClearValueName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: CString)
-
-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"
-    attrGet _ = flagsValueReadValueName
-    attrSet _ = flagsValueWriteValueName
-    attrConstruct = undefined
-    attrClear _ = flagsValueClearValueName
-
-flagsValueValueName :: AttrLabelProxy "valueName"
-flagsValueValueName = AttrLabelProxy
-
-
-flagsValueReadValueNick :: MonadIO m => FlagsValue -> m (Maybe T.Text)
-flagsValueReadValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-flagsValueWriteValueNick :: MonadIO m => FlagsValue -> CString -> m ()
-flagsValueWriteValueNick s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: CString)
-
-flagsValueClearValueNick :: MonadIO m => FlagsValue -> m ()
-flagsValueClearValueNick s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (nullPtr :: CString)
-
-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"
-    attrGet _ = flagsValueReadValueNick
-    attrSet _ = flagsValueWriteValueNick
-    attrConstruct = undefined
-    attrClear _ = flagsValueClearValueNick
-
-flagsValueValueNick :: AttrLabelProxy "valueNick"
-flagsValueValueNick = AttrLabelProxy
-
-
-
-type instance AttributeList FlagsValue = FlagsValueAttributeList
-type FlagsValueAttributeList = ('[ '("value", FlagsValueValueFieldInfo), '("valueName", FlagsValueValueNameFieldInfo), '("valueNick", FlagsValueValueNickFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveFlagsValueMethod (t :: Symbol) (o :: *) :: * where
-    ResolveFlagsValueMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveFlagsValueMethod t FlagsValue, MethodInfo info FlagsValue p) => IsLabelProxy t (FlagsValue -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveFlagsValueMethod t FlagsValue, MethodInfo info FlagsValue p) => IsLabel t (FlagsValue -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.FlagsValue where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype FlagsValue = FlagsValue (ForeignPtr 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,109 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure that provides information to the type system which is
-used specifically for managing interface types.
--}
-
-module GI.GObject.Structs.InterfaceInfo
-    ( 
-
--- * Exported types
-    InterfaceInfo(..)                       ,
-    newZeroInterfaceInfo                    ,
-    noInterfaceInfo                         ,
-
-
- -- * Properties
--- ** InterfaceData
-    interfaceInfoClearInterfaceData         ,
-    interfaceInfoInterfaceData              ,
-    interfaceInfoReadInterfaceData          ,
-    interfaceInfoWriteInterfaceData         ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype InterfaceInfo = InterfaceInfo (ForeignPtr InterfaceInfo)
-instance WrappedPtr InterfaceInfo where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = copyPtr 24
-    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
-
-
-noInterfaceInfo :: Maybe InterfaceInfo
-noInterfaceInfo = Nothing
-
--- XXX Skipped attribute for "InterfaceInfo:interface_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "InterfaceInfo:interface_finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-interfaceInfoReadInterfaceData :: MonadIO m => InterfaceInfo -> m (Ptr ())
-interfaceInfoReadInterfaceData s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr ())
-    return val
-
-interfaceInfoWriteInterfaceData :: MonadIO m => InterfaceInfo -> Ptr () -> m ()
-interfaceInfoWriteInterfaceData s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Ptr ())
-
-interfaceInfoClearInterfaceData :: MonadIO m => InterfaceInfo -> m ()
-interfaceInfoClearInterfaceData s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (nullPtr :: Ptr ())
-
-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"
-    attrGet _ = interfaceInfoReadInterfaceData
-    attrSet _ = interfaceInfoWriteInterfaceData
-    attrConstruct = undefined
-    attrClear _ = interfaceInfoClearInterfaceData
-
-interfaceInfoInterfaceData :: AttrLabelProxy "interfaceData"
-interfaceInfoInterfaceData = AttrLabelProxy
-
-
-
-type instance AttributeList InterfaceInfo = InterfaceInfoAttributeList
-type InterfaceInfoAttributeList = ('[ '("interfaceData", InterfaceInfoInterfaceDataFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveInterfaceInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveInterfaceInfoMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveInterfaceInfoMethod t InterfaceInfo, MethodInfo info InterfaceInfo p) => IsLabelProxy t (InterfaceInfo -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveInterfaceInfoMethod t InterfaceInfo, MethodInfo info InterfaceInfo p) => IsLabel t (InterfaceInfo -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.InterfaceInfo where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype InterfaceInfo = InterfaceInfo (ForeignPtr 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,150 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The GObjectConstructParam struct is an auxiliary
-structure used to hand #GParamSpec/#GValue pairs to the @constructor of
-a #GObjectClass.
--}
-
-module GI.GObject.Structs.ObjectConstructParam
-    ( 
-
--- * Exported types
-    ObjectConstructParam(..)                ,
-    newZeroObjectConstructParam             ,
-    noObjectConstructParam                  ,
-
-
- -- * Properties
--- ** Pspec
-    objectConstructParamClearPspec          ,
-    objectConstructParamPspec               ,
-    objectConstructParamReadPspec           ,
-    objectConstructParamWritePspec          ,
-
-
--- ** Value
-    objectConstructParamClearValue          ,
-    objectConstructParamReadValue           ,
-    objectConstructParamValue               ,
-    objectConstructParamWriteValue          ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype ObjectConstructParam = ObjectConstructParam (ForeignPtr ObjectConstructParam)
-instance WrappedPtr ObjectConstructParam where
-    wrappedPtrCalloc = callocBytes 16
-    wrappedPtrCopy = copyPtr 16
-    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
-
-
-noObjectConstructParam :: Maybe ObjectConstructParam
-noObjectConstructParam = Nothing
-
-objectConstructParamReadPspec :: MonadIO m => ObjectConstructParam -> m (Maybe GParamSpec)
-objectConstructParamReadPspec s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GParamSpec)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- newGParamSpecFromPtr val'
-        return val''
-    return result
-
-objectConstructParamWritePspec :: MonadIO m => ObjectConstructParam -> Ptr GParamSpec -> m ()
-objectConstructParamWritePspec s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr GParamSpec)
-
-objectConstructParamClearPspec :: MonadIO m => ObjectConstructParam -> m ()
-objectConstructParamClearPspec s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr GParamSpec)
-
-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"
-    attrGet _ = objectConstructParamReadPspec
-    attrSet _ = objectConstructParamWritePspec
-    attrConstruct = undefined
-    attrClear _ = objectConstructParamClearPspec
-
-objectConstructParamPspec :: AttrLabelProxy "pspec"
-objectConstructParamPspec = AttrLabelProxy
-
-
-objectConstructParamReadValue :: MonadIO m => ObjectConstructParam -> m (Maybe GValue)
-objectConstructParamReadValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newBoxed GValue) val'
-        return val''
-    return result
-
-objectConstructParamWriteValue :: MonadIO m => ObjectConstructParam -> Ptr GValue -> m ()
-objectConstructParamWriteValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Ptr GValue)
-
-objectConstructParamClearValue :: MonadIO m => ObjectConstructParam -> m ()
-objectConstructParamClearValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: Ptr GValue)
-
-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"
-    attrGet _ = objectConstructParamReadValue
-    attrSet _ = objectConstructParamWriteValue
-    attrConstruct = undefined
-    attrClear _ = objectConstructParamClearValue
-
-objectConstructParamValue :: AttrLabelProxy "value"
-objectConstructParamValue = AttrLabelProxy
-
-
-
-type instance AttributeList ObjectConstructParam = ObjectConstructParamAttributeList
-type ObjectConstructParamAttributeList = ('[ '("pspec", ObjectConstructParamPspecFieldInfo), '("value", ObjectConstructParamValueFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveObjectConstructParamMethod (t :: Symbol) (o :: *) :: * where
-    ResolveObjectConstructParamMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveObjectConstructParamMethod t ObjectConstructParam, MethodInfo info ObjectConstructParam p) => IsLabelProxy t (ObjectConstructParam -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveObjectConstructParamMethod t ObjectConstructParam, MethodInfo info ObjectConstructParam p) => IsLabel t (ObjectConstructParam -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.ObjectConstructParam where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype ObjectConstructParam = ObjectConstructParam (ForeignPtr 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,251 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GParamSpecPool maintains a collection of #GParamSpecs which can be
-quickly accessed by owner and name. The implementation of the #GObject property
-system uses such a pool to store the #GParamSpecs of the properties all object
-types.
--}
-
-module GI.GObject.Structs.ParamSpecPool
-    ( 
-
--- * Exported types
-    ParamSpecPool(..)                       ,
-    noParamSpecPool                         ,
-
-
- -- * Methods
--- ** paramSpecPoolInsert
-    ParamSpecPoolInsertMethodInfo           ,
-    paramSpecPoolInsert                     ,
-
-
--- ** paramSpecPoolListOwned
-    ParamSpecPoolListOwnedMethodInfo        ,
-    paramSpecPoolListOwned                  ,
-
-
--- ** paramSpecPoolLookup
-    ParamSpecPoolLookupMethodInfo           ,
-    paramSpecPoolLookup                     ,
-
-
--- ** paramSpecPoolNew
-    paramSpecPoolNew                        ,
-
-
--- ** paramSpecPoolRemove
-    ParamSpecPoolRemoveMethodInfo           ,
-    paramSpecPoolRemove                     ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype ParamSpecPool = ParamSpecPool (ForeignPtr 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
-
-noParamSpecPool :: Maybe ParamSpecPool
-noParamSpecPool = Nothing
-
-
-type instance AttributeList ParamSpecPool = ParamSpecPoolAttributeList
-type ParamSpecPoolAttributeList = ('[ ] :: [(Symbol, *)])
-
--- method ParamSpecPool::insert
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 ->                    -- _obj : TInterface "GObject" "ParamSpecPool"
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    CGType ->                               -- owner_type : TBasicType TGType
-    IO ()
-
-
-paramSpecPoolInsert ::
-    (MonadIO m) =>
-    ParamSpecPool                           -- _obj
-    -> GParamSpec                           -- pspec
-    -> GType                                -- ownerType
-    -> m ()                                 -- result
-paramSpecPoolInsert _obj pspec ownerType = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    let ownerType' = gtypeToCGType ownerType
-    g_param_spec_pool_insert _obj' pspec' ownerType'
-    touchManagedPtr _obj
-    return ()
-
-data ParamSpecPoolInsertMethodInfo
-instance (signature ~ (GParamSpec -> GType -> m ()), MonadIO m) => MethodInfo ParamSpecPoolInsertMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolInsert
-
--- 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 = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 ->                    -- _obj : TInterface "GObject" "ParamSpecPool"
-    CGType ->                               -- owner_type : TBasicType TGType
-    IO (Ptr (GList (Ptr GParamSpec)))
-
-
-paramSpecPoolListOwned ::
-    (MonadIO m) =>
-    ParamSpecPool                           -- _obj
-    -> GType                                -- ownerType
-    -> m [GParamSpec]                       -- result
-paramSpecPoolListOwned _obj ownerType = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let ownerType' = gtypeToCGType ownerType
-    result <- g_param_spec_pool_list_owned _obj' ownerType'
-    result' <- unpackGList result
-    result'' <- mapM newGParamSpecFromPtr result'
-    g_list_free result
-    touchManagedPtr _obj
-    return result''
-
-data ParamSpecPoolListOwnedMethodInfo
-instance (signature ~ (GType -> m [GParamSpec]), MonadIO m) => MethodInfo ParamSpecPoolListOwnedMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolListOwned
-
--- method ParamSpecPool::lookup
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "walk_ancestors", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, 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 ->                    -- _obj : TInterface "GObject" "ParamSpecPool"
-    CString ->                              -- param_name : TBasicType TUTF8
-    CGType ->                               -- owner_type : TBasicType TGType
-    CInt ->                                 -- walk_ancestors : TBasicType TBoolean
-    IO (Ptr GParamSpec)
-
-
-paramSpecPoolLookup ::
-    (MonadIO m) =>
-    ParamSpecPool                           -- _obj
-    -> T.Text                               -- paramName
-    -> GType                                -- ownerType
-    -> Bool                                 -- walkAncestors
-    -> m GParamSpec                         -- result
-paramSpecPoolLookup _obj paramName ownerType walkAncestors = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    paramName' <- textToCString paramName
-    let ownerType' = gtypeToCGType ownerType
-    let walkAncestors' = (fromIntegral . fromEnum) walkAncestors
-    result <- g_param_spec_pool_lookup _obj' paramName' ownerType' walkAncestors'
-    checkUnexpectedReturnNULL "g_param_spec_pool_lookup" result
-    result' <- newGParamSpecFromPtr result
-    touchManagedPtr _obj
-    freeMem paramName'
-    return result'
-
-data ParamSpecPoolLookupMethodInfo
-instance (signature ~ (T.Text -> GType -> Bool -> m GParamSpec), MonadIO m) => MethodInfo ParamSpecPoolLookupMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolLookup
-
--- method ParamSpecPool::remove
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ParamSpecPool", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, 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 ->                    -- _obj : TInterface "GObject" "ParamSpecPool"
-    Ptr GParamSpec ->                       -- pspec : TParamSpec
-    IO ()
-
-
-paramSpecPoolRemove ::
-    (MonadIO m) =>
-    ParamSpecPool                           -- _obj
-    -> GParamSpec                           -- pspec
-    -> m ()                                 -- result
-paramSpecPoolRemove _obj pspec = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let pspec' = unsafeManagedPtrGetPtr pspec
-    g_param_spec_pool_remove _obj' pspec'
-    touchManagedPtr _obj
-    return ()
-
-data ParamSpecPoolRemoveMethodInfo
-instance (signature ~ (GParamSpec -> m ()), MonadIO m) => MethodInfo ParamSpecPoolRemoveMethodInfo ParamSpecPool signature where
-    overloadedMethod _ = paramSpecPoolRemove
-
--- method ParamSpecPool::new
--- method type : MemberFunction
--- Args : [Arg {argCName = "type_prefixing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "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)
-
-
-paramSpecPoolNew ::
-    (MonadIO m) =>
-    Bool                                    -- typePrefixing
-    -> m ParamSpecPool                      -- result
-paramSpecPoolNew typePrefixing = liftIO $ do
-    let typePrefixing' = (fromIntegral . fromEnum) typePrefixing
-    result <- g_param_spec_pool_new typePrefixing'
-    checkUnexpectedReturnNULL "g_param_spec_pool_new" result
-    result' <- (newPtr ParamSpecPool) result
-    return result'
-
-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 = MethodResolutionFailed l o
-
-instance (info ~ ResolveParamSpecPoolMethod t ParamSpecPool, MethodInfo info ParamSpecPool p) => IsLabelProxy t (ParamSpecPool -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveParamSpecPoolMethod t ParamSpecPool, MethodInfo info ParamSpecPool p) => IsLabel t (ParamSpecPool -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,15 +0,0 @@
-module GI.GObject.Structs.ParamSpecPool where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype ParamSpecPool = ParamSpecPool (ForeignPtr ParamSpecPool)
-instance WrappedPtr ParamSpecPool where
-data ParamSpecPoolInsertMethodInfo
-data ParamSpecPoolListOwnedMethodInfo
-data ParamSpecPoolLookupMethodInfo
-data ParamSpecPoolRemoveMethodInfo
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,176 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-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 g_param_type_register_static()
-The type system will perform a deep copy of this structure, so its memory
-does not need to be persistent across invocation of
-g_param_type_register_static().
--}
-
-module GI.GObject.Structs.ParamSpecTypeInfo
-    ( 
-
--- * Exported types
-    ParamSpecTypeInfo(..)                   ,
-    newZeroParamSpecTypeInfo                ,
-    noParamSpecTypeInfo                     ,
-
-
- -- * Properties
--- ** InstanceSize
-    paramSpecTypeInfoInstanceSize           ,
-    paramSpecTypeInfoReadInstanceSize       ,
-    paramSpecTypeInfoWriteInstanceSize      ,
-
-
--- ** NPreallocs
-    paramSpecTypeInfoNPreallocs             ,
-    paramSpecTypeInfoReadNPreallocs         ,
-    paramSpecTypeInfoWriteNPreallocs        ,
-
-
--- ** ValueType
-    paramSpecTypeInfoReadValueType          ,
-    paramSpecTypeInfoValueType              ,
-    paramSpecTypeInfoWriteValueType         ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype ParamSpecTypeInfo = ParamSpecTypeInfo (ForeignPtr ParamSpecTypeInfo)
-instance WrappedPtr ParamSpecTypeInfo where
-    wrappedPtrCalloc = callocBytes 56
-    wrappedPtrCopy = copyPtr 56
-    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
-
-
-noParamSpecTypeInfo :: Maybe ParamSpecTypeInfo
-noParamSpecTypeInfo = Nothing
-
-paramSpecTypeInfoReadInstanceSize :: MonadIO m => ParamSpecTypeInfo -> m Word16
-paramSpecTypeInfoReadInstanceSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word16
-    return val
-
-paramSpecTypeInfoWriteInstanceSize :: MonadIO m => ParamSpecTypeInfo -> Word16 -> m ()
-paramSpecTypeInfoWriteInstanceSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word16)
-
-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"
-    attrGet _ = paramSpecTypeInfoReadInstanceSize
-    attrSet _ = paramSpecTypeInfoWriteInstanceSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-paramSpecTypeInfoInstanceSize :: AttrLabelProxy "instanceSize"
-paramSpecTypeInfoInstanceSize = AttrLabelProxy
-
-
-paramSpecTypeInfoReadNPreallocs :: MonadIO m => ParamSpecTypeInfo -> m Word16
-paramSpecTypeInfoReadNPreallocs s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 2) :: IO Word16
-    return val
-
-paramSpecTypeInfoWriteNPreallocs :: MonadIO m => ParamSpecTypeInfo -> Word16 -> m ()
-paramSpecTypeInfoWriteNPreallocs s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 2) (val :: Word16)
-
-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"
-    attrGet _ = paramSpecTypeInfoReadNPreallocs
-    attrSet _ = paramSpecTypeInfoWriteNPreallocs
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-paramSpecTypeInfoNPreallocs :: AttrLabelProxy "nPreallocs"
-paramSpecTypeInfoNPreallocs = AttrLabelProxy
-
-
--- XXX Skipped attribute for "ParamSpecTypeInfo:instance_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-paramSpecTypeInfoReadValueType :: MonadIO m => ParamSpecTypeInfo -> m GType
-paramSpecTypeInfoReadValueType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CGType
-    let val' = GType val
-    return val'
-
-paramSpecTypeInfoWriteValueType :: MonadIO m => ParamSpecTypeInfo -> GType -> m ()
-paramSpecTypeInfoWriteValueType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 16) (val' :: CGType)
-
-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"
-    attrGet _ = paramSpecTypeInfoReadValueType
-    attrSet _ = paramSpecTypeInfoWriteValueType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-paramSpecTypeInfoValueType :: AttrLabelProxy "valueType"
-paramSpecTypeInfoValueType = AttrLabelProxy
-
-
--- XXX Skipped attribute for "ParamSpecTypeInfo:finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "ParamSpecTypeInfo:value_set_default" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "ParamSpecTypeInfo:value_validate" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "ParamSpecTypeInfo:values_cmp" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-
-type instance AttributeList ParamSpecTypeInfo = ParamSpecTypeInfoAttributeList
-type ParamSpecTypeInfoAttributeList = ('[ '("instanceSize", ParamSpecTypeInfoInstanceSizeFieldInfo), '("nPreallocs", ParamSpecTypeInfoNPreallocsFieldInfo), '("valueType", ParamSpecTypeInfoValueTypeFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveParamSpecTypeInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveParamSpecTypeInfoMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveParamSpecTypeInfoMethod t ParamSpecTypeInfo, MethodInfo info ParamSpecTypeInfo p) => IsLabelProxy t (ParamSpecTypeInfo -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveParamSpecTypeInfoMethod t ParamSpecTypeInfo, MethodInfo info ParamSpecTypeInfo p) => IsLabel t (ParamSpecTypeInfo -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.ParamSpecTypeInfo where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype ParamSpecTypeInfo = ParamSpecTypeInfo (ForeignPtr 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,149 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The GParameter struct is an auxiliary structure used
-to hand parameter name/value pairs to g_object_newv().
--}
-
-module GI.GObject.Structs.Parameter
-    ( 
-
--- * Exported types
-    Parameter(..)                           ,
-    newZeroParameter                        ,
-    noParameter                             ,
-
-
- -- * Properties
--- ** Name
-    parameterClearName                      ,
-    parameterName                           ,
-    parameterReadName                       ,
-    parameterWriteName                      ,
-
-
--- ** Value
-    parameterClearValue                     ,
-    parameterReadValue                      ,
-    parameterValue                          ,
-    parameterWriteValue                     ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype Parameter = Parameter (ForeignPtr Parameter)
-instance WrappedPtr Parameter where
-    wrappedPtrCalloc = callocBytes 32
-    wrappedPtrCopy = copyPtr 32
-    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
-
-
-noParameter :: Maybe Parameter
-noParameter = Nothing
-
-parameterReadName :: MonadIO m => Parameter -> m (Maybe T.Text)
-parameterReadName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-parameterWriteName :: MonadIO m => Parameter -> CString -> m ()
-parameterWriteName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CString)
-
-parameterClearName :: MonadIO m => Parameter -> m ()
-parameterClearName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: CString)
-
-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"
-    attrGet _ = parameterReadName
-    attrSet _ = parameterWriteName
-    attrConstruct = undefined
-    attrClear _ = parameterClearName
-
-parameterName :: AttrLabelProxy "name"
-parameterName = AttrLabelProxy
-
-
-parameterReadValue :: MonadIO m => Parameter -> m (Maybe GValue)
-parameterReadValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newBoxed GValue) val'
-        return val''
-    return result
-
-parameterWriteValue :: MonadIO m => Parameter -> Ptr GValue -> m ()
-parameterWriteValue s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Ptr GValue)
-
-parameterClearValue :: MonadIO m => Parameter -> m ()
-parameterClearValue s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: Ptr GValue)
-
-data ParameterValueFieldInfo
-instance AttrInfo ParameterValueFieldInfo where
-    type AttrAllowedOps ParameterValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ParameterValueFieldInfo = (~) (Ptr GValue)
-    type AttrBaseTypeConstraint ParameterValueFieldInfo = (~) Parameter
-    type AttrGetType ParameterValueFieldInfo = Maybe GValue
-    type AttrLabel ParameterValueFieldInfo = "value"
-    attrGet _ = parameterReadValue
-    attrSet _ = parameterWriteValue
-    attrConstruct = undefined
-    attrClear _ = parameterClearValue
-
-parameterValue :: AttrLabelProxy "value"
-parameterValue = AttrLabelProxy
-
-
-
-type instance AttributeList Parameter = ParameterAttributeList
-type ParameterAttributeList = ('[ '("name", ParameterNameFieldInfo), '("value", ParameterValueFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveParameterMethod (t :: Symbol) (o :: *) :: * where
-    ResolveParameterMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveParameterMethod t Parameter, MethodInfo info Parameter p) => IsLabelProxy t (Parameter -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveParameterMethod t Parameter, MethodInfo info Parameter p) => IsLabel t (Parameter -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.Parameter where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Parameter = Parameter (ForeignPtr 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,166 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The #GSignalInvocationHint structure is used to pass on additional information
-to callbacks during a signal emission.
--}
-
-module GI.GObject.Structs.SignalInvocationHint
-    ( 
-
--- * Exported types
-    SignalInvocationHint(..)                ,
-    newZeroSignalInvocationHint             ,
-    noSignalInvocationHint                  ,
-
-
- -- * Properties
--- ** Detail
-    signalInvocationHintDetail              ,
-    signalInvocationHintReadDetail          ,
-    signalInvocationHintWriteDetail         ,
-
-
--- ** RunType
-    signalInvocationHintReadRunType         ,
-    signalInvocationHintRunType             ,
-    signalInvocationHintWriteRunType        ,
-
-
--- ** SignalId
-    signalInvocationHintReadSignalId        ,
-    signalInvocationHintSignalId            ,
-    signalInvocationHintWriteSignalId       ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype SignalInvocationHint = SignalInvocationHint (ForeignPtr SignalInvocationHint)
-instance WrappedPtr SignalInvocationHint where
-    wrappedPtrCalloc = callocBytes 12
-    wrappedPtrCopy = copyPtr 12
-    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
-
-
-noSignalInvocationHint :: Maybe SignalInvocationHint
-noSignalInvocationHint = Nothing
-
-signalInvocationHintReadSignalId :: MonadIO m => SignalInvocationHint -> m Word32
-signalInvocationHintReadSignalId s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-signalInvocationHintWriteSignalId :: MonadIO m => SignalInvocationHint -> Word32 -> m ()
-signalInvocationHintWriteSignalId s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-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"
-    attrGet _ = signalInvocationHintReadSignalId
-    attrSet _ = signalInvocationHintWriteSignalId
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalInvocationHintSignalId :: AttrLabelProxy "signalId"
-signalInvocationHintSignalId = AttrLabelProxy
-
-
-signalInvocationHintReadDetail :: MonadIO m => SignalInvocationHint -> m Word32
-signalInvocationHintReadDetail s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 4) :: IO Word32
-    return val
-
-signalInvocationHintWriteDetail :: MonadIO m => SignalInvocationHint -> Word32 -> m ()
-signalInvocationHintWriteDetail s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 4) (val :: Word32)
-
-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"
-    attrGet _ = signalInvocationHintReadDetail
-    attrSet _ = signalInvocationHintWriteDetail
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalInvocationHintDetail :: AttrLabelProxy "detail"
-signalInvocationHintDetail = AttrLabelProxy
-
-
-signalInvocationHintReadRunType :: MonadIO m => SignalInvocationHint -> m [SignalFlags]
-signalInvocationHintReadRunType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-signalInvocationHintWriteRunType :: MonadIO m => SignalInvocationHint -> [SignalFlags] -> m ()
-signalInvocationHintWriteRunType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gflagsToWord val
-    poke (ptr `plusPtr` 8) (val' :: CUInt)
-
-data SignalInvocationHintRunTypeFieldInfo
-instance AttrInfo SignalInvocationHintRunTypeFieldInfo where
-    type AttrAllowedOps SignalInvocationHintRunTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalInvocationHintRunTypeFieldInfo = (~) [SignalFlags]
-    type AttrBaseTypeConstraint SignalInvocationHintRunTypeFieldInfo = (~) SignalInvocationHint
-    type AttrGetType SignalInvocationHintRunTypeFieldInfo = [SignalFlags]
-    type AttrLabel SignalInvocationHintRunTypeFieldInfo = "run_type"
-    attrGet _ = signalInvocationHintReadRunType
-    attrSet _ = signalInvocationHintWriteRunType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalInvocationHintRunType :: AttrLabelProxy "runType"
-signalInvocationHintRunType = AttrLabelProxy
-
-
-
-type instance AttributeList SignalInvocationHint = SignalInvocationHintAttributeList
-type SignalInvocationHintAttributeList = ('[ '("signalId", SignalInvocationHintSignalIdFieldInfo), '("detail", SignalInvocationHintDetailFieldInfo), '("runType", SignalInvocationHintRunTypeFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveSignalInvocationHintMethod (t :: Symbol) (o :: *) :: * where
-    ResolveSignalInvocationHintMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveSignalInvocationHintMethod t SignalInvocationHint, MethodInfo info SignalInvocationHint p) => IsLabelProxy t (SignalInvocationHint -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveSignalInvocationHintMethod t SignalInvocationHint, MethodInfo info SignalInvocationHint p) => IsLabel t (SignalInvocationHint -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.SignalInvocationHint where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype SignalInvocationHint = SignalInvocationHint (ForeignPtr 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,272 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure holding in-depth information for a specific signal. It is
-filled in by the g_signal_query() function.
--}
-
-module GI.GObject.Structs.SignalQuery
-    ( 
-
--- * Exported types
-    SignalQuery(..)                         ,
-    newZeroSignalQuery                      ,
-    noSignalQuery                           ,
-
-
- -- * Properties
--- ** Itype
-    signalQueryItype                        ,
-    signalQueryReadItype                    ,
-    signalQueryWriteItype                   ,
-
-
--- ** NParams
-    signalQueryNParams                      ,
-    signalQueryReadNParams                  ,
-    signalQueryWriteNParams                 ,
-
-
--- ** ReturnType
-    signalQueryReadReturnType               ,
-    signalQueryReturnType                   ,
-    signalQueryWriteReturnType              ,
-
-
--- ** SignalFlags
-    signalQueryReadSignalFlags              ,
-    signalQuerySignalFlags                  ,
-    signalQueryWriteSignalFlags             ,
-
-
--- ** SignalId
-    signalQueryReadSignalId                 ,
-    signalQuerySignalId                     ,
-    signalQueryWriteSignalId                ,
-
-
--- ** SignalName
-    signalQueryClearSignalName              ,
-    signalQueryReadSignalName               ,
-    signalQuerySignalName                   ,
-    signalQueryWriteSignalName              ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype SignalQuery = SignalQuery (ForeignPtr SignalQuery)
-instance WrappedPtr SignalQuery where
-    wrappedPtrCalloc = callocBytes 56
-    wrappedPtrCopy = copyPtr 56
-    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
-
-
-noSignalQuery :: Maybe SignalQuery
-noSignalQuery = Nothing
-
-signalQueryReadSignalId :: MonadIO m => SignalQuery -> m Word32
-signalQueryReadSignalId s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-signalQueryWriteSignalId :: MonadIO m => SignalQuery -> Word32 -> m ()
-signalQueryWriteSignalId s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-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"
-    attrGet _ = signalQueryReadSignalId
-    attrSet _ = signalQueryWriteSignalId
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuerySignalId :: AttrLabelProxy "signalId"
-signalQuerySignalId = AttrLabelProxy
-
-
-signalQueryReadSignalName :: MonadIO m => SignalQuery -> m (Maybe T.Text)
-signalQueryReadSignalName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-signalQueryWriteSignalName :: MonadIO m => SignalQuery -> CString -> m ()
-signalQueryWriteSignalName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-signalQueryClearSignalName :: MonadIO m => SignalQuery -> m ()
-signalQueryClearSignalName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: CString)
-
-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"
-    attrGet _ = signalQueryReadSignalName
-    attrSet _ = signalQueryWriteSignalName
-    attrConstruct = undefined
-    attrClear _ = signalQueryClearSignalName
-
-signalQuerySignalName :: AttrLabelProxy "signalName"
-signalQuerySignalName = AttrLabelProxy
-
-
-signalQueryReadItype :: MonadIO m => SignalQuery -> m GType
-signalQueryReadItype s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO CGType
-    let val' = GType val
-    return val'
-
-signalQueryWriteItype :: MonadIO m => SignalQuery -> GType -> m ()
-signalQueryWriteItype s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 16) (val' :: CGType)
-
-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"
-    attrGet _ = signalQueryReadItype
-    attrSet _ = signalQueryWriteItype
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQueryItype :: AttrLabelProxy "itype"
-signalQueryItype = AttrLabelProxy
-
-
-signalQueryReadSignalFlags :: MonadIO m => SignalQuery -> m [SignalFlags]
-signalQueryReadSignalFlags s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 24) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-signalQueryWriteSignalFlags :: MonadIO m => SignalQuery -> [SignalFlags] -> m ()
-signalQueryWriteSignalFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gflagsToWord val
-    poke (ptr `plusPtr` 24) (val' :: CUInt)
-
-data SignalQuerySignalFlagsFieldInfo
-instance AttrInfo SignalQuerySignalFlagsFieldInfo where
-    type AttrAllowedOps SignalQuerySignalFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint SignalQuerySignalFlagsFieldInfo = (~) [SignalFlags]
-    type AttrBaseTypeConstraint SignalQuerySignalFlagsFieldInfo = (~) SignalQuery
-    type AttrGetType SignalQuerySignalFlagsFieldInfo = [SignalFlags]
-    type AttrLabel SignalQuerySignalFlagsFieldInfo = "signal_flags"
-    attrGet _ = signalQueryReadSignalFlags
-    attrSet _ = signalQueryWriteSignalFlags
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQuerySignalFlags :: AttrLabelProxy "signalFlags"
-signalQuerySignalFlags = AttrLabelProxy
-
-
-signalQueryReadReturnType :: MonadIO m => SignalQuery -> m GType
-signalQueryReadReturnType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CGType
-    let val' = GType val
-    return val'
-
-signalQueryWriteReturnType :: MonadIO m => SignalQuery -> GType -> m ()
-signalQueryWriteReturnType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 32) (val' :: CGType)
-
-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"
-    attrGet _ = signalQueryReadReturnType
-    attrSet _ = signalQueryWriteReturnType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQueryReturnType :: AttrLabelProxy "returnType"
-signalQueryReturnType = AttrLabelProxy
-
-
-signalQueryReadNParams :: MonadIO m => SignalQuery -> m Word32
-signalQueryReadNParams s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO Word32
-    return val
-
-signalQueryWriteNParams :: MonadIO m => SignalQuery -> Word32 -> m ()
-signalQueryWriteNParams s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (val :: Word32)
-
-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"
-    attrGet _ = signalQueryReadNParams
-    attrSet _ = signalQueryWriteNParams
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-signalQueryNParams :: AttrLabelProxy "nParams"
-signalQueryNParams = AttrLabelProxy
-
-
--- 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)"
-
-type instance AttributeList SignalQuery = SignalQueryAttributeList
-type SignalQueryAttributeList = ('[ '("signalId", SignalQuerySignalIdFieldInfo), '("signalName", SignalQuerySignalNameFieldInfo), '("itype", SignalQueryItypeFieldInfo), '("signalFlags", SignalQuerySignalFlagsFieldInfo), '("returnType", SignalQueryReturnTypeFieldInfo), '("nParams", SignalQueryNParamsFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveSignalQueryMethod (t :: Symbol) (o :: *) :: * where
-    ResolveSignalQueryMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveSignalQueryMethod t SignalQuery, MethodInfo info SignalQuery p) => IsLabelProxy t (SignalQuery -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveSignalQueryMethod t SignalQuery, MethodInfo info SignalQuery p) => IsLabel t (SignalQuery -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.SignalQuery where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype SignalQuery = SignalQuery (ForeignPtr 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,276 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-An opaque structure used as the base of all classes.
--}
-
-module GI.GObject.Structs.TypeClass
-    ( 
-
--- * Exported types
-    TypeClass(..)                           ,
-    newZeroTypeClass                        ,
-    noTypeClass                             ,
-
-
- -- * Methods
--- ** typeClassAddPrivate
-    typeClassAddPrivate                     ,
-
-
--- ** typeClassAdjustPrivateOffset
-    typeClassAdjustPrivateOffset            ,
-
-
--- ** typeClassPeek
-    typeClassPeek                           ,
-
-
--- ** typeClassPeekParent
-    TypeClassPeekParentMethodInfo           ,
-    typeClassPeekParent                     ,
-
-
--- ** typeClassPeekStatic
-    typeClassPeekStatic                     ,
-
-
--- ** typeClassRef
-    typeClassRef                            ,
-
-
--- ** typeClassUnref
-    TypeClassUnrefMethodInfo                ,
-    typeClassUnref                          ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeClass = TypeClass (ForeignPtr TypeClass)
-instance WrappedPtr TypeClass where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = copyPtr 8
-    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
-
-
-noTypeClass :: Maybe TypeClass
-noTypeClass = Nothing
-
-
-type instance AttributeList TypeClass = TypeClassAttributeList
-type TypeClassAttributeList = ('[ ] :: [(Symbol, *)])
-
--- method TypeClass::peek_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "TypeClass")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_peek_parent" g_type_class_peek_parent :: 
-    Ptr TypeClass ->                        -- _obj : TInterface "GObject" "TypeClass"
-    IO (Ptr TypeClass)
-
-
-typeClassPeekParent ::
-    (MonadIO m) =>
-    TypeClass                               -- _obj
-    -> m TypeClass                          -- result
-typeClassPeekParent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_type_class_peek_parent _obj'
-    checkUnexpectedReturnNULL "g_type_class_peek_parent" result
-    result' <- (newPtr TypeClass) result
-    touchManagedPtr _obj
-    return result'
-
-data TypeClassPeekParentMethodInfo
-instance (signature ~ (m TypeClass), MonadIO m) => MethodInfo TypeClassPeekParentMethodInfo TypeClass signature where
-    overloadedMethod _ = typeClassPeekParent
-
--- method TypeClass::unref
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, 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 ->                        -- _obj : TInterface "GObject" "TypeClass"
-    IO ()
-
-
-typeClassUnref ::
-    (MonadIO m) =>
-    TypeClass                               -- _obj
-    -> m ()                                 -- result
-typeClassUnref _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    g_type_class_unref _obj'
-    touchManagedPtr _obj
-    return ()
-
-data TypeClassUnrefMethodInfo
-instance (signature ~ (m ()), MonadIO m) => MethodInfo TypeClassUnrefMethodInfo TypeClass signature where
-    overloadedMethod _ = typeClassUnref
-
--- method TypeClass::add_private
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_class", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, 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 () ->                               -- g_class : TBasicType TPtr
-    Word64 ->                               -- private_size : TBasicType TUInt64
-    IO ()
-
-
-typeClassAddPrivate ::
-    (MonadIO m) =>
-    Ptr ()                                  -- gClass
-    -> Word64                               -- privateSize
-    -> m ()                                 -- result
-typeClassAddPrivate gClass privateSize = liftIO $ do
-    g_type_class_add_private gClass privateSize
-    return ()
-
--- method TypeClass::adjust_private_offset
--- method type : MemberFunction
--- Args : [Arg {argCName = "g_class", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "private_size_or_offset", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, 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 ()
-
-
-typeClassAdjustPrivateOffset ::
-    (MonadIO m) =>
-    Ptr ()                                  -- gClass
-    -> Int32                                -- privateSizeOrOffset
-    -> m ()                                 -- result
-typeClassAdjustPrivateOffset gClass privateSizeOrOffset = liftIO $ do
-    g_type_class_adjust_private_offset gClass privateSizeOrOffset
-    return ()
-
--- method TypeClass::peek
--- method type : MemberFunction
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "TypeClass")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_peek" g_type_class_peek :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO (Ptr TypeClass)
-
-
-typeClassPeek ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m TypeClass                          -- result
-typeClassPeek type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_class_peek type_'
-    checkUnexpectedReturnNULL "g_type_class_peek" result
-    result' <- (newPtr TypeClass) result
-    return result'
-
--- method TypeClass::peek_static
--- method type : MemberFunction
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "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)
-
-
-typeClassPeekStatic ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m TypeClass                          -- result
-typeClassPeekStatic type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_class_peek_static type_'
-    checkUnexpectedReturnNULL "g_type_class_peek_static" result
-    result' <- (newPtr TypeClass) result
-    return result'
-
--- method TypeClass::ref
--- method type : MemberFunction
--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "TypeClass")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_class_ref" g_type_class_ref :: 
-    CGType ->                               -- type : TBasicType TGType
-    IO (Ptr TypeClass)
-
-
-typeClassRef ::
-    (MonadIO m) =>
-    GType                                   -- type_
-    -> m TypeClass                          -- result
-typeClassRef type_ = liftIO $ do
-    let type_' = gtypeToCGType type_
-    result <- g_type_class_ref type_'
-    checkUnexpectedReturnNULL "g_type_class_ref" result
-    result' <- (newPtr TypeClass) result
-    return result'
-
-type family ResolveTypeClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeClassMethod "peekParent" o = TypeClassPeekParentMethodInfo
-    ResolveTypeClassMethod "unref" o = TypeClassUnrefMethodInfo
-    ResolveTypeClassMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeClassMethod t TypeClass, MethodInfo info TypeClass p) => IsLabelProxy t (TypeClass -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeClassMethod t TypeClass, MethodInfo info TypeClass p) => IsLabel t (TypeClass -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,13 +0,0 @@
-module GI.GObject.Structs.TypeClass where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeClass = TypeClass (ForeignPtr TypeClass)
-instance WrappedPtr TypeClass where
-data TypeClassPeekParentMethodInfo
-data TypeClassUnrefMethodInfo
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,104 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure that provides information to the type system which is
-used specifically for managing fundamental types.
--}
-
-module GI.GObject.Structs.TypeFundamentalInfo
-    ( 
-
--- * Exported types
-    TypeFundamentalInfo(..)                 ,
-    newZeroTypeFundamentalInfo              ,
-    noTypeFundamentalInfo                   ,
-
-
- -- * Properties
--- ** TypeFlags
-    typeFundamentalInfoReadTypeFlags        ,
-    typeFundamentalInfoTypeFlags            ,
-    typeFundamentalInfoWriteTypeFlags       ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeFundamentalInfo = TypeFundamentalInfo (ForeignPtr TypeFundamentalInfo)
-instance WrappedPtr TypeFundamentalInfo where
-    wrappedPtrCalloc = callocBytes 4
-    wrappedPtrCopy = copyPtr 4
-    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
-
-
-noTypeFundamentalInfo :: Maybe TypeFundamentalInfo
-noTypeFundamentalInfo = Nothing
-
-typeFundamentalInfoReadTypeFlags :: MonadIO m => TypeFundamentalInfo -> m [TypeFundamentalFlags]
-typeFundamentalInfoReadTypeFlags s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CUInt
-    let val' = wordToGFlags val
-    return val'
-
-typeFundamentalInfoWriteTypeFlags :: MonadIO m => TypeFundamentalInfo -> [TypeFundamentalFlags] -> m ()
-typeFundamentalInfoWriteTypeFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gflagsToWord val
-    poke (ptr `plusPtr` 0) (val' :: CUInt)
-
-data TypeFundamentalInfoTypeFlagsFieldInfo
-instance AttrInfo TypeFundamentalInfoTypeFlagsFieldInfo where
-    type AttrAllowedOps TypeFundamentalInfoTypeFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeFundamentalInfoTypeFlagsFieldInfo = (~) [TypeFundamentalFlags]
-    type AttrBaseTypeConstraint TypeFundamentalInfoTypeFlagsFieldInfo = (~) TypeFundamentalInfo
-    type AttrGetType TypeFundamentalInfoTypeFlagsFieldInfo = [TypeFundamentalFlags]
-    type AttrLabel TypeFundamentalInfoTypeFlagsFieldInfo = "type_flags"
-    attrGet _ = typeFundamentalInfoReadTypeFlags
-    attrSet _ = typeFundamentalInfoWriteTypeFlags
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeFundamentalInfoTypeFlags :: AttrLabelProxy "typeFlags"
-typeFundamentalInfoTypeFlags = AttrLabelProxy
-
-
-
-type instance AttributeList TypeFundamentalInfo = TypeFundamentalInfoAttributeList
-type TypeFundamentalInfoAttributeList = ('[ '("typeFlags", TypeFundamentalInfoTypeFlagsFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveTypeFundamentalInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeFundamentalInfoMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeFundamentalInfoMethod t TypeFundamentalInfo, MethodInfo info TypeFundamentalInfo p) => IsLabelProxy t (TypeFundamentalInfo -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeFundamentalInfoMethod t TypeFundamentalInfo, MethodInfo info TypeFundamentalInfo p) => IsLabel t (TypeFundamentalInfo -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.TypeFundamentalInfo where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeFundamentalInfo = TypeFundamentalInfo (ForeignPtr 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,251 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-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 g_type_register_static() function
-(or is copied into the provided #GTypeInfo structure in the
-g_type_plugin_complete_type_info()). The type system will perform a deep
-copy of this structure, so its memory does not need to be persistent
-across invocation of g_type_register_static().
--}
-
-module GI.GObject.Structs.TypeInfo
-    ( 
-
--- * Exported types
-    TypeInfo(..)                            ,
-    newZeroTypeInfo                         ,
-    noTypeInfo                              ,
-
-
- -- * Properties
--- ** ClassData
-    typeInfoClassData                       ,
-    typeInfoClearClassData                  ,
-    typeInfoReadClassData                   ,
-    typeInfoWriteClassData                  ,
-
-
--- ** ClassSize
-    typeInfoClassSize                       ,
-    typeInfoReadClassSize                   ,
-    typeInfoWriteClassSize                  ,
-
-
--- ** InstanceSize
-    typeInfoInstanceSize                    ,
-    typeInfoReadInstanceSize                ,
-    typeInfoWriteInstanceSize               ,
-
-
--- ** NPreallocs
-    typeInfoNPreallocs                      ,
-    typeInfoReadNPreallocs                  ,
-    typeInfoWriteNPreallocs                 ,
-
-
--- ** ValueTable
-    typeInfoClearValueTable                 ,
-    typeInfoReadValueTable                  ,
-    typeInfoValueTable                      ,
-    typeInfoWriteValueTable                 ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeInfo = TypeInfo (ForeignPtr TypeInfo)
-instance WrappedPtr TypeInfo where
-    wrappedPtrCalloc = callocBytes 72
-    wrappedPtrCopy = copyPtr 72
-    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
-
-
-noTypeInfo :: Maybe TypeInfo
-noTypeInfo = Nothing
-
-typeInfoReadClassSize :: MonadIO m => TypeInfo -> m Word16
-typeInfoReadClassSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word16
-    return val
-
-typeInfoWriteClassSize :: MonadIO m => TypeInfo -> Word16 -> m ()
-typeInfoWriteClassSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word16)
-
-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"
-    attrGet _ = typeInfoReadClassSize
-    attrSet _ = typeInfoWriteClassSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeInfoClassSize :: AttrLabelProxy "classSize"
-typeInfoClassSize = AttrLabelProxy
-
-
--- XXX Skipped attribute for "TypeInfo:base_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypeInfo:base_finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypeInfo:class_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypeInfo:class_finalize" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-typeInfoReadClassData :: MonadIO m => TypeInfo -> m (Ptr ())
-typeInfoReadClassData s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr ())
-    return val
-
-typeInfoWriteClassData :: MonadIO m => TypeInfo -> Ptr () -> m ()
-typeInfoWriteClassData s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (val :: Ptr ())
-
-typeInfoClearClassData :: MonadIO m => TypeInfo -> m ()
-typeInfoClearClassData s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 40) (nullPtr :: Ptr ())
-
-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"
-    attrGet _ = typeInfoReadClassData
-    attrSet _ = typeInfoWriteClassData
-    attrConstruct = undefined
-    attrClear _ = typeInfoClearClassData
-
-typeInfoClassData :: AttrLabelProxy "classData"
-typeInfoClassData = AttrLabelProxy
-
-
-typeInfoReadInstanceSize :: MonadIO m => TypeInfo -> m Word16
-typeInfoReadInstanceSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO Word16
-    return val
-
-typeInfoWriteInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m ()
-typeInfoWriteInstanceSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (val :: Word16)
-
-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"
-    attrGet _ = typeInfoReadInstanceSize
-    attrSet _ = typeInfoWriteInstanceSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeInfoInstanceSize :: AttrLabelProxy "instanceSize"
-typeInfoInstanceSize = AttrLabelProxy
-
-
-typeInfoReadNPreallocs :: MonadIO m => TypeInfo -> m Word16
-typeInfoReadNPreallocs s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 50) :: IO Word16
-    return val
-
-typeInfoWriteNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m ()
-typeInfoWriteNPreallocs s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 50) (val :: Word16)
-
-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"
-    attrGet _ = typeInfoReadNPreallocs
-    attrSet _ = typeInfoWriteNPreallocs
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeInfoNPreallocs :: AttrLabelProxy "nPreallocs"
-typeInfoNPreallocs = AttrLabelProxy
-
-
--- XXX Skipped attribute for "TypeInfo:instance_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-typeInfoReadValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable)
-typeInfoReadValueTable s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 64) :: IO (Ptr TypeValueTable)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr TypeValueTable) val'
-        return val''
-    return result
-
-typeInfoWriteValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m ()
-typeInfoWriteValueTable s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (val :: Ptr TypeValueTable)
-
-typeInfoClearValueTable :: MonadIO m => TypeInfo -> m ()
-typeInfoClearValueTable s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 64) (nullPtr :: Ptr TypeValueTable)
-
-data TypeInfoValueTableFieldInfo
-instance AttrInfo TypeInfoValueTableFieldInfo where
-    type AttrAllowedOps TypeInfoValueTableFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeInfoValueTableFieldInfo = (~) (Ptr TypeValueTable)
-    type AttrBaseTypeConstraint TypeInfoValueTableFieldInfo = (~) TypeInfo
-    type AttrGetType TypeInfoValueTableFieldInfo = Maybe TypeValueTable
-    type AttrLabel TypeInfoValueTableFieldInfo = "value_table"
-    attrGet _ = typeInfoReadValueTable
-    attrSet _ = typeInfoWriteValueTable
-    attrConstruct = undefined
-    attrClear _ = typeInfoClearValueTable
-
-typeInfoValueTable :: AttrLabelProxy "valueTable"
-typeInfoValueTable = AttrLabelProxy
-
-
-
-type instance AttributeList TypeInfo = TypeInfoAttributeList
-type TypeInfoAttributeList = ('[ '("classSize", TypeInfoClassSizeFieldInfo), '("classData", TypeInfoClassDataFieldInfo), '("instanceSize", TypeInfoInstanceSizeFieldInfo), '("nPreallocs", TypeInfoNPreallocsFieldInfo), '("valueTable", TypeInfoValueTableFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveTypeInfoMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeInfoMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeInfoMethod t TypeInfo, MethodInfo info TypeInfo p) => IsLabelProxy t (TypeInfo -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeInfoMethod t TypeInfo, MethodInfo info TypeInfo p) => IsLabel t (TypeInfo -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.TypeInfo where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeInfo = TypeInfo (ForeignPtr 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,67 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-An opaque structure used as the base of all type instances.
--}
-
-module GI.GObject.Structs.TypeInstance
-    ( 
-
--- * Exported types
-    TypeInstance(..)                        ,
-    newZeroTypeInstance                     ,
-    noTypeInstance                          ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeInstance = TypeInstance (ForeignPtr TypeInstance)
-instance WrappedPtr TypeInstance where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = copyPtr 8
-    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
-
-
-noTypeInstance :: Maybe TypeInstance
-noTypeInstance = Nothing
-
-
-type instance AttributeList TypeInstance = TypeInstanceAttributeList
-type TypeInstanceAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveTypeInstanceMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeInstanceMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeInstanceMethod t TypeInstance, MethodInfo info TypeInstance p) => IsLabelProxy t (TypeInstance -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeInstanceMethod t TypeInstance, MethodInfo info TypeInstance p) => IsLabel t (TypeInstance -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.TypeInstance where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeInstance = TypeInstance (ForeignPtr TypeInstance)
-instance WrappedPtr TypeInstance where
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,201 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-An opaque structure used as the base of all interface types.
--}
-
-module GI.GObject.Structs.TypeInterface
-    ( 
-
--- * Exported types
-    TypeInterface(..)                       ,
-    newZeroTypeInterface                    ,
-    noTypeInterface                         ,
-
-
- -- * Methods
--- ** typeInterfaceAddPrerequisite
-    typeInterfaceAddPrerequisite            ,
-
-
--- ** typeInterfacePeek
-    typeInterfacePeek                       ,
-
-
--- ** typeInterfacePeekParent
-    TypeInterfacePeekParentMethodInfo       ,
-    typeInterfacePeekParent                 ,
-
-
--- ** typeInterfacePrerequisites
-    typeInterfacePrerequisites              ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeInterface = TypeInterface (ForeignPtr TypeInterface)
-instance WrappedPtr TypeInterface where
-    wrappedPtrCalloc = callocBytes 16
-    wrappedPtrCopy = copyPtr 16
-    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
-
-
-noTypeInterface :: Maybe TypeInterface
-noTypeInterface = Nothing
-
-
-type instance AttributeList TypeInterface = TypeInterfaceAttributeList
-type TypeInterfaceAttributeList = ('[ ] :: [(Symbol, *)])
-
--- method TypeInterface::peek_parent
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "TypeInterface", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "TypeInterface")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_peek_parent" g_type_interface_peek_parent :: 
-    Ptr TypeInterface ->                    -- _obj : TInterface "GObject" "TypeInterface"
-    IO (Ptr TypeInterface)
-
-
-typeInterfacePeekParent ::
-    (MonadIO m) =>
-    TypeInterface                           -- _obj
-    -> m TypeInterface                      -- result
-typeInterfacePeekParent _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_type_interface_peek_parent _obj'
-    checkUnexpectedReturnNULL "g_type_interface_peek_parent" result
-    result' <- (newPtr TypeInterface) result
-    touchManagedPtr _obj
-    return result'
-
-data TypeInterfacePeekParentMethodInfo
-instance (signature ~ (m TypeInterface), MonadIO m) => MethodInfo TypeInterfacePeekParentMethodInfo TypeInterface signature where
-    overloadedMethod _ = typeInterfacePeekParent
-
--- method TypeInterface::add_prerequisite
--- method type : MemberFunction
--- Args : [Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prerequisite_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, 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 ()
-
-
-typeInterfaceAddPrerequisite ::
-    (MonadIO m) =>
-    GType                                   -- interfaceType
-    -> GType                                -- prerequisiteType
-    -> m ()                                 -- result
-typeInterfaceAddPrerequisite interfaceType prerequisiteType = liftIO $ do
-    let interfaceType' = gtypeToCGType interfaceType
-    let prerequisiteType' = gtypeToCGType prerequisiteType
-    g_type_interface_add_prerequisite interfaceType' prerequisiteType'
-    return ()
-
--- XXX Could not generate method TypeInterface::get_plugin
--- Error was : Bad introspection data: "Wrapping not a GObject with no copy..."
--- method TypeInterface::peek
--- method type : MemberFunction
--- Args : [Arg {argCName = "instance_class", argType = TInterface "GObject" "TypeClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "TypeInterface")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_interface_peek" g_type_interface_peek :: 
-    Ptr TypeClass ->                        -- instance_class : TInterface "GObject" "TypeClass"
-    CGType ->                               -- iface_type : TBasicType TGType
-    IO (Ptr TypeInterface)
-
-
-typeInterfacePeek ::
-    (MonadIO m) =>
-    TypeClass                               -- instanceClass
-    -> GType                                -- ifaceType
-    -> m TypeInterface                      -- result
-typeInterfacePeek instanceClass ifaceType = liftIO $ do
-    let instanceClass' = unsafeManagedPtrGetPtr instanceClass
-    let ifaceType' = gtypeToCGType ifaceType
-    result <- g_type_interface_peek instanceClass' ifaceType'
-    checkUnexpectedReturnNULL "g_type_interface_peek" result
-    result' <- (newPtr TypeInterface) result
-    touchManagedPtr instanceClass
-    return result'
-
--- method TypeInterface::prerequisites
--- method type : MemberFunction
--- Args : [Arg {argCName = "interface_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_prerequisites", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
--- Lengths : [Arg {argCName = "n_prerequisites", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, 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)
-
-
-typeInterfacePrerequisites ::
-    (MonadIO m) =>
-    GType                                   -- interfaceType
-    -> m [GType]                            -- result
-typeInterfacePrerequisites interfaceType = liftIO $ do
-    let interfaceType' = gtypeToCGType interfaceType
-    nPrerequisites <- allocMem :: IO (Ptr Word32)
-    result <- g_type_interface_prerequisites interfaceType' nPrerequisites
-    nPrerequisites' <- peek nPrerequisites
-    checkUnexpectedReturnNULL "g_type_interface_prerequisites" result
-    result' <- (unpackMapStorableArrayWithLength GType nPrerequisites') result
-    freeMem result
-    freeMem nPrerequisites
-    return result'
-
-type family ResolveTypeInterfaceMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeInterfaceMethod "peekParent" o = TypeInterfacePeekParentMethodInfo
-    ResolveTypeInterfaceMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeInterfaceMethod t TypeInterface, MethodInfo info TypeInterface p) => IsLabelProxy t (TypeInterface -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeInterfaceMethod t TypeInterface, MethodInfo info TypeInterface p) => IsLabel t (TypeInterface -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,12 +0,0 @@
-module GI.GObject.Structs.TypeInterface where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeInterface = TypeInterface (ForeignPtr TypeInterface)
-instance WrappedPtr TypeInterface where
-data TypeInterfacePeekParentMethodInfo
diff --git a/GI/GObject/Structs/TypePluginClass.hs b/GI/GObject/Structs/TypePluginClass.hs
deleted file mode 100644
--- a/GI/GObject/Structs/TypePluginClass.hs
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The #GTypePlugin interface is used by the type system in order to handle
-the lifecycle of dynamically loaded types.
--}
-
-module GI.GObject.Structs.TypePluginClass
-    ( 
-
--- * Exported types
-    TypePluginClass(..)                     ,
-    newZeroTypePluginClass                  ,
-    noTypePluginClass                       ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypePluginClass = TypePluginClass (ForeignPtr TypePluginClass)
-instance WrappedPtr TypePluginClass where
-    wrappedPtrCalloc = callocBytes 48
-    wrappedPtrCopy = copyPtr 48
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypePluginClass` struct initialized to zero.
-newZeroTypePluginClass :: MonadIO m => m TypePluginClass
-newZeroTypePluginClass = liftIO $ wrappedPtrCalloc >>= wrapPtr TypePluginClass
-
-instance tag ~ 'AttrSet => Constructible TypePluginClass tag where
-    new _ attrs = do
-        o <- newZeroTypePluginClass
-        GI.Attributes.set o attrs
-        return o
-
-
-noTypePluginClass :: Maybe TypePluginClass
-noTypePluginClass = Nothing
-
--- XXX Skipped attribute for "TypePluginClass:use_plugin" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypePluginClass:unuse_plugin" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypePluginClass:complete_type_info" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypePluginClass:complete_interface_info" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-
-type instance AttributeList TypePluginClass = TypePluginClassAttributeList
-type TypePluginClassAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveTypePluginClassMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypePluginClassMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypePluginClassMethod t TypePluginClass, MethodInfo info TypePluginClass p) => IsLabelProxy t (TypePluginClass -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypePluginClassMethod t TypePluginClass, MethodInfo info TypePluginClass p) => IsLabel t (TypePluginClass -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#endif
-
-
diff --git a/GI/GObject/Structs/TypePluginClass.hs-boot b/GI/GObject/Structs/TypePluginClass.hs-boot
deleted file mode 100644
--- a/GI/GObject/Structs/TypePluginClass.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.GObject.Structs.TypePluginClass where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypePluginClass = TypePluginClass (ForeignPtr TypePluginClass)
-instance WrappedPtr TypePluginClass where
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,205 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure holding information for a specific type.
-It is filled in by the g_type_query() function.
--}
-
-module GI.GObject.Structs.TypeQuery
-    ( 
-
--- * Exported types
-    TypeQuery(..)                           ,
-    newZeroTypeQuery                        ,
-    noTypeQuery                             ,
-
-
- -- * Properties
--- ** ClassSize
-    typeQueryClassSize                      ,
-    typeQueryReadClassSize                  ,
-    typeQueryWriteClassSize                 ,
-
-
--- ** InstanceSize
-    typeQueryInstanceSize                   ,
-    typeQueryReadInstanceSize               ,
-    typeQueryWriteInstanceSize              ,
-
-
--- ** Type
-    typeQueryReadType                       ,
-    typeQueryType                           ,
-    typeQueryWriteType                      ,
-
-
--- ** TypeName
-    typeQueryClearTypeName                  ,
-    typeQueryReadTypeName                   ,
-    typeQueryTypeName                       ,
-    typeQueryWriteTypeName                  ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeQuery = TypeQuery (ForeignPtr TypeQuery)
-instance WrappedPtr TypeQuery where
-    wrappedPtrCalloc = callocBytes 24
-    wrappedPtrCopy = copyPtr 24
-    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
-
-
-noTypeQuery :: Maybe TypeQuery
-noTypeQuery = Nothing
-
-typeQueryReadType :: MonadIO m => TypeQuery -> m GType
-typeQueryReadType s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CGType
-    let val' = GType val
-    return val'
-
-typeQueryWriteType :: MonadIO m => TypeQuery -> GType -> m ()
-typeQueryWriteType s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = gtypeToCGType val
-    poke (ptr `plusPtr` 0) (val' :: CGType)
-
-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"
-    attrGet _ = typeQueryReadType
-    attrSet _ = typeQueryWriteType
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeQueryType :: AttrLabelProxy "type"
-typeQueryType = AttrLabelProxy
-
-
-typeQueryReadTypeName :: MonadIO m => TypeQuery -> m (Maybe T.Text)
-typeQueryReadTypeName s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-typeQueryWriteTypeName :: MonadIO m => TypeQuery -> CString -> m ()
-typeQueryWriteTypeName s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: CString)
-
-typeQueryClearTypeName :: MonadIO m => TypeQuery -> m ()
-typeQueryClearTypeName s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: CString)
-
-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"
-    attrGet _ = typeQueryReadTypeName
-    attrSet _ = typeQueryWriteTypeName
-    attrConstruct = undefined
-    attrClear _ = typeQueryClearTypeName
-
-typeQueryTypeName :: AttrLabelProxy "typeName"
-typeQueryTypeName = AttrLabelProxy
-
-
-typeQueryReadClassSize :: MonadIO m => TypeQuery -> m Word32
-typeQueryReadClassSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 16) :: IO Word32
-    return val
-
-typeQueryWriteClassSize :: MonadIO m => TypeQuery -> Word32 -> m ()
-typeQueryWriteClassSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 16) (val :: Word32)
-
-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"
-    attrGet _ = typeQueryReadClassSize
-    attrSet _ = typeQueryWriteClassSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeQueryClassSize :: AttrLabelProxy "classSize"
-typeQueryClassSize = AttrLabelProxy
-
-
-typeQueryReadInstanceSize :: MonadIO m => TypeQuery -> m Word32
-typeQueryReadInstanceSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 20) :: IO Word32
-    return val
-
-typeQueryWriteInstanceSize :: MonadIO m => TypeQuery -> Word32 -> m ()
-typeQueryWriteInstanceSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 20) (val :: Word32)
-
-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"
-    attrGet _ = typeQueryReadInstanceSize
-    attrSet _ = typeQueryWriteInstanceSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeQueryInstanceSize :: AttrLabelProxy "instanceSize"
-typeQueryInstanceSize = AttrLabelProxy
-
-
-
-type instance AttributeList TypeQuery = TypeQueryAttributeList
-type TypeQueryAttributeList = ('[ '("type", TypeQueryTypeFieldInfo), '("typeName", TypeQueryTypeNameFieldInfo), '("classSize", TypeQueryClassSizeFieldInfo), '("instanceSize", TypeQueryInstanceSizeFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveTypeQueryMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeQueryMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeQueryMethod t TypeQuery, MethodInfo info TypeQuery p) => IsLabelProxy t (TypeQuery -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeQueryMethod t TypeQuery, MethodInfo info TypeQuery p) => IsLabel t (TypeQuery -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.TypeQuery where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeQuery = TypeQuery (ForeignPtr 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,154 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-The #GTypeValueTable provides the functions required by the #GValue
-implementation, to serve as a container for values of a type.
--}
-
-module GI.GObject.Structs.TypeValueTable
-    ( 
-
--- * Exported types
-    TypeValueTable(..)                      ,
-    newZeroTypeValueTable                   ,
-    noTypeValueTable                        ,
-
-
- -- * Properties
--- ** CollectFormat
-    typeValueTableClearCollectFormat        ,
-    typeValueTableCollectFormat             ,
-    typeValueTableReadCollectFormat         ,
-    typeValueTableWriteCollectFormat        ,
-
-
--- ** LcopyFormat
-    typeValueTableClearLcopyFormat          ,
-    typeValueTableLcopyFormat               ,
-    typeValueTableReadLcopyFormat           ,
-    typeValueTableWriteLcopyFormat          ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeValueTable = TypeValueTable (ForeignPtr TypeValueTable)
-instance WrappedPtr TypeValueTable where
-    wrappedPtrCalloc = callocBytes 64
-    wrappedPtrCopy = copyPtr 64
-    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
-
-
-noTypeValueTable :: Maybe TypeValueTable
-noTypeValueTable = Nothing
-
--- XXX Skipped attribute for "TypeValueTable:value_init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypeValueTable:value_free" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
--- XXX Skipped attribute for "TypeValueTable:value_copy" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-typeValueTableReadCollectFormat :: MonadIO m => TypeValueTable -> m (Maybe T.Text)
-typeValueTableReadCollectFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 32) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-typeValueTableWriteCollectFormat :: MonadIO m => TypeValueTable -> CString -> m ()
-typeValueTableWriteCollectFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (val :: CString)
-
-typeValueTableClearCollectFormat :: MonadIO m => TypeValueTable -> m ()
-typeValueTableClearCollectFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 32) (nullPtr :: CString)
-
-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"
-    attrGet _ = typeValueTableReadCollectFormat
-    attrSet _ = typeValueTableWriteCollectFormat
-    attrConstruct = undefined
-    attrClear _ = typeValueTableClearCollectFormat
-
-typeValueTableCollectFormat :: AttrLabelProxy "collectFormat"
-typeValueTableCollectFormat = AttrLabelProxy
-
-
--- XXX Skipped attribute for "TypeValueTable:collect_value" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-typeValueTableReadLcopyFormat :: MonadIO m => TypeValueTable -> m (Maybe T.Text)
-typeValueTableReadLcopyFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 48) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-typeValueTableWriteLcopyFormat :: MonadIO m => TypeValueTable -> CString -> m ()
-typeValueTableWriteLcopyFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (val :: CString)
-
-typeValueTableClearLcopyFormat :: MonadIO m => TypeValueTable -> m ()
-typeValueTableClearLcopyFormat s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 48) (nullPtr :: CString)
-
-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"
-    attrGet _ = typeValueTableReadLcopyFormat
-    attrSet _ = typeValueTableWriteLcopyFormat
-    attrConstruct = undefined
-    attrClear _ = typeValueTableClearLcopyFormat
-
-typeValueTableLcopyFormat :: AttrLabelProxy "lcopyFormat"
-typeValueTableLcopyFormat = AttrLabelProxy
-
-
--- XXX Skipped attribute for "TypeValueTable:lcopy_value" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
-
-type instance AttributeList TypeValueTable = TypeValueTableAttributeList
-type TypeValueTableAttributeList = ('[ '("collectFormat", TypeValueTableCollectFormatFieldInfo), '("lcopyFormat", TypeValueTableLcopyFormatFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveTypeValueTableMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeValueTableMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeValueTableMethod t TypeValueTable, MethodInfo info TypeValueTable p) => IsLabelProxy t (TypeValueTable -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeValueTableMethod t TypeValueTable, MethodInfo info TypeValueTable p) => IsLabel t (TypeValueTable -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.TypeValueTable where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeValueTable = TypeValueTable (ForeignPtr 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,486 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A #GValueArray contains an array of #GValue elements.
--}
-
-module GI.GObject.Structs.ValueArray
-    ( 
-
--- * Exported types
-    ValueArray(..)                          ,
-    newZeroValueArray                       ,
-    noValueArray                            ,
-
-
- -- * Methods
--- ** valueArrayAppend
-    ValueArrayAppendMethodInfo              ,
-    valueArrayAppend                        ,
-
-
--- ** valueArrayCopy
-    ValueArrayCopyMethodInfo                ,
-    valueArrayCopy                          ,
-
-
--- ** valueArrayFree
-    ValueArrayFreeMethodInfo                ,
-    valueArrayFree                          ,
-
-
--- ** valueArrayGetNth
-    ValueArrayGetNthMethodInfo              ,
-    valueArrayGetNth                        ,
-
-
--- ** valueArrayInsert
-    ValueArrayInsertMethodInfo              ,
-    valueArrayInsert                        ,
-
-
--- ** valueArrayNew
-    valueArrayNew                           ,
-
-
--- ** valueArrayPrepend
-    ValueArrayPrependMethodInfo             ,
-    valueArrayPrepend                       ,
-
-
--- ** valueArrayRemove
-    ValueArrayRemoveMethodInfo              ,
-    valueArrayRemove                        ,
-
-
--- ** valueArraySort
-    ValueArraySortMethodInfo                ,
-    valueArraySort                          ,
-
-
-
-
- -- * Properties
--- ** NValues
-    valueArrayNValues                       ,
-    valueArrayReadNValues                   ,
-    valueArrayWriteNValues                  ,
-
-
--- ** Values
-    valueArrayClearValues                   ,
-    valueArrayReadValues                    ,
-    valueArrayValues                        ,
-    valueArrayWriteValues                   ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-import qualified GI.GLib as GLib
-
-newtype ValueArray = ValueArray (ForeignPtr 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
-
-
-noValueArray :: Maybe ValueArray
-noValueArray = Nothing
-
-valueArrayReadNValues :: MonadIO m => ValueArray -> m Word32
-valueArrayReadNValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-valueArrayWriteNValues :: MonadIO m => ValueArray -> Word32 -> m ()
-valueArrayWriteNValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-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"
-    attrGet _ = valueArrayReadNValues
-    attrSet _ = valueArrayWriteNValues
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-valueArrayNValues :: AttrLabelProxy "nValues"
-valueArrayNValues = AttrLabelProxy
-
-
-valueArrayReadValues :: MonadIO m => ValueArray -> m (Maybe GValue)
-valueArrayReadValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr GValue)
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newBoxed GValue) val'
-        return val''
-    return result
-
-valueArrayWriteValues :: MonadIO m => ValueArray -> Ptr GValue -> m ()
-valueArrayWriteValues s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (val :: Ptr GValue)
-
-valueArrayClearValues :: MonadIO m => ValueArray -> m ()
-valueArrayClearValues s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 8) (nullPtr :: Ptr GValue)
-
-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"
-    attrGet _ = valueArrayReadValues
-    attrSet _ = valueArrayWriteValues
-    attrConstruct = undefined
-    attrClear _ = valueArrayClearValues
-
-valueArrayValues :: AttrLabelProxy "values"
-valueArrayValues = AttrLabelProxy
-
-
-
-type instance AttributeList ValueArray = ValueArrayAttributeList
-type ValueArrayAttributeList = ('[ '("nValues", ValueArrayNValuesFieldInfo), '("values", ValueArrayValuesFieldInfo)] :: [(Symbol, *)])
-
--- method ValueArray::new
--- method type : Constructor
--- Args : [Arg {argCName = "n_prealloced", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "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 #GArray and g_array_sized_new() instead."]#-}
-valueArrayNew ::
-    (MonadIO m) =>
-    Word32                                  -- nPrealloced
-    -> m ValueArray                         -- result
-valueArrayNew nPrealloced = liftIO $ do
-    result <- g_value_array_new nPrealloced
-    checkUnexpectedReturnNULL "g_value_array_new" result
-    result' <- (wrapBoxed ValueArray) result
-    return result'
-
--- method ValueArray::append
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "ValueArray")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_append" g_value_array_append :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayAppend ["(Since version 2.32)","Use #GArray and g_array_append_val() instead."]#-}
-valueArrayAppend ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> Maybe (GValue)                       -- value
-    -> m ValueArray                         -- result
-valueArrayAppend _obj value = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    maybeValue <- case value of
-        Nothing -> return nullPtr
-        Just jValue -> do
-            let jValue' = unsafeManagedPtrGetPtr jValue
-            return jValue'
-    result <- g_value_array_append _obj' maybeValue
-    checkUnexpectedReturnNULL "g_value_array_append" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr _obj
-    whenJust value touchManagedPtr
-    return result'
-
-data ValueArrayAppendMethodInfo
-instance (signature ~ (Maybe (GValue) -> m ValueArray), MonadIO m) => MethodInfo ValueArrayAppendMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayAppend
-
--- method ValueArray::copy
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "ValueArray")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_copy" g_value_array_copy :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayCopy ["(Since version 2.32)","Use #GArray and g_array_ref() instead."]#-}
-valueArrayCopy ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> m ValueArray                         -- result
-valueArrayCopy _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_value_array_copy _obj'
-    checkUnexpectedReturnNULL "g_value_array_copy" result
-    result' <- (wrapBoxed ValueArray) result
-    touchManagedPtr _obj
-    return result'
-
-data ValueArrayCopyMethodInfo
-instance (signature ~ (m ValueArray), MonadIO m) => MethodInfo ValueArrayCopyMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayCopy
-
--- method ValueArray::free
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_free" g_value_array_free :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    IO ()
-
-{-# DEPRECATED valueArrayFree ["(Since version 2.32)","Use #GArray and g_array_unref() instead."]#-}
-valueArrayFree ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> m ()                                 -- result
-valueArrayFree _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    g_value_array_free _obj'
-    touchManagedPtr _obj
-    return ()
-
-data ValueArrayFreeMethodInfo
-instance (signature ~ (m ()), MonadIO m) => MethodInfo ValueArrayFreeMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayFree
-
--- method ValueArray::get_nth
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "Value")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_get_nth" g_value_array_get_nth :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    Word32 ->                               -- index_ : TBasicType TUInt
-    IO (Ptr GValue)
-
-{-# DEPRECATED valueArrayGetNth ["(Since version 2.32)","Use g_array_index() instead."]#-}
-valueArrayGetNth ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> Word32                               -- index_
-    -> m GValue                             -- result
-valueArrayGetNth _obj index_ = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_value_array_get_nth _obj' index_
-    checkUnexpectedReturnNULL "g_value_array_get_nth" result
-    result' <- (newBoxed GValue) result
-    touchManagedPtr _obj
-    return result'
-
-data ValueArrayGetNthMethodInfo
-instance (signature ~ (Word32 -> m GValue), MonadIO m) => MethodInfo ValueArrayGetNthMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayGetNth
-
--- method ValueArray::insert
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "ValueArray")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_insert" g_value_array_insert :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    Word32 ->                               -- index_ : TBasicType TUInt
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayInsert ["(Since version 2.32)","Use #GArray and g_array_insert_val() instead."]#-}
-valueArrayInsert ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> Word32                               -- index_
-    -> Maybe (GValue)                       -- value
-    -> m ValueArray                         -- result
-valueArrayInsert _obj index_ value = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    maybeValue <- case value of
-        Nothing -> return nullPtr
-        Just jValue -> do
-            let jValue' = unsafeManagedPtrGetPtr jValue
-            return jValue'
-    result <- g_value_array_insert _obj' index_ maybeValue
-    checkUnexpectedReturnNULL "g_value_array_insert" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr _obj
-    whenJust value touchManagedPtr
-    return result'
-
-data ValueArrayInsertMethodInfo
-instance (signature ~ (Word32 -> Maybe (GValue) -> m ValueArray), MonadIO m) => MethodInfo ValueArrayInsertMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayInsert
-
--- method ValueArray::prepend
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "ValueArray")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_prepend" g_value_array_prepend :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    Ptr GValue ->                           -- value : TInterface "GObject" "Value"
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayPrepend ["(Since version 2.32)","Use #GArray and g_array_prepend_val() instead."]#-}
-valueArrayPrepend ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> Maybe (GValue)                       -- value
-    -> m ValueArray                         -- result
-valueArrayPrepend _obj value = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    maybeValue <- case value of
-        Nothing -> return nullPtr
-        Just jValue -> do
-            let jValue' = unsafeManagedPtrGetPtr jValue
-            return jValue'
-    result <- g_value_array_prepend _obj' maybeValue
-    checkUnexpectedReturnNULL "g_value_array_prepend" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr _obj
-    whenJust value touchManagedPtr
-    return result'
-
-data ValueArrayPrependMethodInfo
-instance (signature ~ (Maybe (GValue) -> m ValueArray), MonadIO m) => MethodInfo ValueArrayPrependMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayPrepend
-
--- method ValueArray::remove
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "ValueArray")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_remove" g_value_array_remove :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    Word32 ->                               -- index_ : TBasicType TUInt
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArrayRemove ["(Since version 2.32)","Use #GArray and g_array_remove_index() instead."]#-}
-valueArrayRemove ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> Word32                               -- index_
-    -> m ValueArray                         -- result
-valueArrayRemove _obj index_ = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_value_array_remove _obj' index_
-    checkUnexpectedReturnNULL "g_value_array_remove" result
-    result' <- (newBoxed ValueArray) result
-    touchManagedPtr _obj
-    return result'
-
-data ValueArrayRemoveMethodInfo
-instance (signature ~ (Word32 -> m ValueArray), MonadIO m) => MethodInfo ValueArrayRemoveMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArrayRemove
-
--- method ValueArray::sort
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GObject" "ValueArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_func", argType = TInterface "GLib" "CompareDataFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GObject" "ValueArray")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_array_sort_with_data" g_value_array_sort_with_data :: 
-    Ptr ValueArray ->                       -- _obj : TInterface "GObject" "ValueArray"
-    FunPtr GLib.CompareDataFuncC ->         -- compare_func : TInterface "GLib" "CompareDataFunc"
-    Ptr () ->                               -- user_data : TBasicType TPtr
-    IO (Ptr ValueArray)
-
-{-# DEPRECATED valueArraySort ["(Since version 2.32)","Use #GArray and g_array_sort_with_data()."]#-}
-valueArraySort ::
-    (MonadIO m) =>
-    ValueArray                              -- _obj
-    -> GLib.CompareDataFunc                 -- compareFunc
-    -> m ValueArray                         -- result
-valueArraySort _obj compareFunc = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    compareFunc' <- GLib.mkCompareDataFunc (GLib.compareDataFuncWrapper Nothing compareFunc)
-    let userData = nullPtr
-    result <- g_value_array_sort_with_data _obj' compareFunc' userData
-    checkUnexpectedReturnNULL "g_value_array_sort_with_data" result
-    result' <- (newBoxed ValueArray) result
-    safeFreeFunPtr $ castFunPtrToPtr compareFunc'
-    touchManagedPtr _obj
-    return result'
-
-data ValueArraySortMethodInfo
-instance (signature ~ (GLib.CompareDataFunc -> m ValueArray), MonadIO m) => MethodInfo ValueArraySortMethodInfo ValueArray signature where
-    overloadedMethod _ = valueArraySort
-
-type family ResolveValueArrayMethod (t :: Symbol) (o :: *) :: * where
-    ResolveValueArrayMethod "append" o = ValueArrayAppendMethodInfo
-    ResolveValueArrayMethod "copy" o = ValueArrayCopyMethodInfo
-    ResolveValueArrayMethod "free" o = ValueArrayFreeMethodInfo
-    ResolveValueArrayMethod "insert" o = ValueArrayInsertMethodInfo
-    ResolveValueArrayMethod "prepend" o = ValueArrayPrependMethodInfo
-    ResolveValueArrayMethod "remove" o = ValueArrayRemoveMethodInfo
-    ResolveValueArrayMethod "sort" o = ValueArraySortMethodInfo
-    ResolveValueArrayMethod "getNth" o = ValueArrayGetNthMethodInfo
-    ResolveValueArrayMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveValueArrayMethod t ValueArray, MethodInfo info ValueArray p) => IsLabelProxy t (ValueArray -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveValueArrayMethod t ValueArray, MethodInfo info ValueArray p) => IsLabel t (ValueArray -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,19 +0,0 @@
-module GI.GObject.Structs.ValueArray where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype ValueArray = ValueArray (ForeignPtr ValueArray)
-instance BoxedObject ValueArray where
-data ValueArrayAppendMethodInfo
-data ValueArrayCopyMethodInfo
-data ValueArrayFreeMethodInfo
-data ValueArrayGetNthMethodInfo
-data ValueArrayInsertMethodInfo
-data ValueArrayPrependMethodInfo
-data ValueArrayRemoveMethodInfo
-data ValueArraySortMethodInfo
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,75 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-A structure containing a weak reference to a #GObject.  It can either
-be empty (i.e. point to %NULL), or point to an object for as long as
-at least one "strong" reference to that object exists. Before the
-object's #GObjectClass.dispose method is called, every #GWeakRef
-associated with becomes empty (i.e. points to %NULL).
-
-Like #GValue, #GWeakRef 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 #GObjectClass.dispose method results in additional
-references to the object being held, any #GWeakRefs taken
-before it was disposed will continue to point to %NULL.  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.
--}
-
-module GI.GObject.Structs.WeakRef
-    ( 
-
--- * Exported types
-    WeakRef(..)                             ,
-    noWeakRef                               ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype WeakRef = WeakRef (ForeignPtr 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
-
-noWeakRef :: Maybe WeakRef
-noWeakRef = Nothing
-
-
-type instance AttributeList WeakRef = WeakRefAttributeList
-type WeakRefAttributeList = ('[ ] :: [(Symbol, *)])
-
-type family ResolveWeakRefMethod (t :: Symbol) (o :: *) :: * where
-    ResolveWeakRefMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveWeakRefMethod t WeakRef, MethodInfo info WeakRef p) => IsLabelProxy t (WeakRef -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveWeakRefMethod t WeakRef, MethodInfo info WeakRef p) => IsLabel t (WeakRef -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Structs.WeakRef where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype WeakRef = WeakRef (ForeignPtr WeakRef)
-instance WrappedPtr WeakRef where
diff --git a/GI/GObject/Types.hs b/GI/GObject/Types.hs
deleted file mode 100644
--- a/GI/GObject/Types.hs
+++ /dev/null
@@ -1,70 +0,0 @@
-module GI.GObject.Types
-    (     module GI.GObject.Interfaces.TypePlugin ,
-    module GI.GObject.Objects.Binding       ,
-    module GI.GObject.Objects.InitiallyUnowned,
-    module GI.GObject.Objects.Object        ,
-    module GI.GObject.Objects.TypeModule    ,
-    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.TypePluginClass,
-    module GI.GObject.Structs.TypeQuery     ,
-    module GI.GObject.Structs.TypeValueTable,
-    module GI.GObject.Structs.ValueArray    ,
-    module GI.GObject.Structs.WeakRef       ,
-    module GI.GObject.Unions.TypeCValue     ,
-    module GI.GObject.Unions.Value_Data_Union_,
-    module GI.GObject.Flags                 ,
-
-
-    ) where
-
-
-import {-# SOURCE #-} GI.GObject.Interfaces.TypePlugin
-import {-# SOURCE #-} GI.GObject.Objects.Binding
-import {-# SOURCE #-} GI.GObject.Objects.InitiallyUnowned
-import {-# SOURCE #-} GI.GObject.Objects.Object
-import {-# SOURCE #-} GI.GObject.Objects.TypeModule
-import {-# SOURCE #-} GI.GObject.Structs.CClosure
-import {-# SOURCE #-} GI.GObject.Structs.ClosureNotifyData
-import {-# SOURCE #-} GI.GObject.Structs.EnumClass
-import {-# SOURCE #-} GI.GObject.Structs.EnumValue
-import {-# SOURCE #-} GI.GObject.Structs.FlagsClass
-import {-# SOURCE #-} GI.GObject.Structs.FlagsValue
-import {-# SOURCE #-} GI.GObject.Structs.InterfaceInfo
-import {-# SOURCE #-} GI.GObject.Structs.ObjectConstructParam
-import {-# SOURCE #-} GI.GObject.Structs.ParamSpecPool
-import {-# SOURCE #-} GI.GObject.Structs.ParamSpecTypeInfo
-import {-# SOURCE #-} GI.GObject.Structs.Parameter
-import {-# SOURCE #-} GI.GObject.Structs.SignalInvocationHint
-import {-# SOURCE #-} GI.GObject.Structs.SignalQuery
-import {-# SOURCE #-} GI.GObject.Structs.TypeClass
-import {-# SOURCE #-} GI.GObject.Structs.TypeFundamentalInfo
-import {-# SOURCE #-} GI.GObject.Structs.TypeInfo
-import {-# SOURCE #-} GI.GObject.Structs.TypeInstance
-import {-# SOURCE #-} GI.GObject.Structs.TypeInterface
-import {-# SOURCE #-} GI.GObject.Structs.TypePluginClass
-import {-# SOURCE #-} GI.GObject.Structs.TypeQuery
-import {-# SOURCE #-} GI.GObject.Structs.TypeValueTable
-import {-# SOURCE #-} GI.GObject.Structs.ValueArray
-import {-# SOURCE #-} GI.GObject.Structs.WeakRef
-import {-# SOURCE #-} GI.GObject.Unions.TypeCValue
-import {-# SOURCE #-} GI.GObject.Unions.Value_Data_Union_
-
-import GI.GObject.Flags
-
diff --git a/GI/GObject/Unions.hs b/GI/GObject/Unions.hs
deleted file mode 100644
--- a/GI/GObject/Unions.hs
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-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.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-
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,230 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Unions.TypeCValue
-    ( 
-
--- * Exported types
-    TypeCValue(..)                          ,
-    newZeroTypeCValue                       ,
-    noTypeCValue                            ,
-
-
- -- * Properties
--- ** VDouble
-    typeCValueReadVDouble                   ,
-    typeCValueVDouble                       ,
-    typeCValueWriteVDouble                  ,
-
-
--- ** VInt
-    typeCValueReadVInt                      ,
-    typeCValueVInt                          ,
-    typeCValueWriteVInt                     ,
-
-
--- ** VInt64
-    typeCValueReadVInt64                    ,
-    typeCValueVInt64                        ,
-    typeCValueWriteVInt64                   ,
-
-
--- ** VLong
-    typeCValueReadVLong                     ,
-    typeCValueVLong                         ,
-    typeCValueWriteVLong                    ,
-
-
--- ** VPointer
-    typeCValueClearVPointer                 ,
-    typeCValueReadVPointer                  ,
-    typeCValueVPointer                      ,
-    typeCValueWriteVPointer                 ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype TypeCValue = TypeCValue (ForeignPtr TypeCValue)
-instance WrappedPtr TypeCValue where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = copyPtr 8
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `TypeCValue` struct initialized to zero.
-newZeroTypeCValue :: MonadIO m => m TypeCValue
-newZeroTypeCValue = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeCValue
-
-instance tag ~ 'AttrSet => Constructible TypeCValue tag where
-    new _ attrs = do
-        o <- newZeroTypeCValue
-        GI.Attributes.set o attrs
-        return o
-
-
-noTypeCValue :: Maybe TypeCValue
-noTypeCValue = Nothing
-
-typeCValueReadVInt :: MonadIO m => TypeCValue -> m Int32
-typeCValueReadVInt s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-typeCValueWriteVInt :: MonadIO m => TypeCValue -> Int32 -> m ()
-typeCValueWriteVInt s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-data TypeCValueVIntFieldInfo
-instance AttrInfo TypeCValueVIntFieldInfo where
-    type AttrAllowedOps TypeCValueVIntFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeCValueVIntFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint TypeCValueVIntFieldInfo = (~) TypeCValue
-    type AttrGetType TypeCValueVIntFieldInfo = Int32
-    type AttrLabel TypeCValueVIntFieldInfo = "v_int"
-    attrGet _ = typeCValueReadVInt
-    attrSet _ = typeCValueWriteVInt
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeCValueVInt :: AttrLabelProxy "vInt"
-typeCValueVInt = AttrLabelProxy
-
-
-typeCValueReadVLong :: MonadIO m => TypeCValue -> m CLong
-typeCValueReadVLong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CLong
-    return val
-
-typeCValueWriteVLong :: MonadIO m => TypeCValue -> CLong -> m ()
-typeCValueWriteVLong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CLong)
-
-data TypeCValueVLongFieldInfo
-instance AttrInfo TypeCValueVLongFieldInfo where
-    type AttrAllowedOps TypeCValueVLongFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeCValueVLongFieldInfo = (~) CLong
-    type AttrBaseTypeConstraint TypeCValueVLongFieldInfo = (~) TypeCValue
-    type AttrGetType TypeCValueVLongFieldInfo = CLong
-    type AttrLabel TypeCValueVLongFieldInfo = "v_long"
-    attrGet _ = typeCValueReadVLong
-    attrSet _ = typeCValueWriteVLong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeCValueVLong :: AttrLabelProxy "vLong"
-typeCValueVLong = AttrLabelProxy
-
-
-typeCValueReadVInt64 :: MonadIO m => TypeCValue -> m Int64
-typeCValueReadVInt64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int64
-    return val
-
-typeCValueWriteVInt64 :: MonadIO m => TypeCValue -> Int64 -> m ()
-typeCValueWriteVInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int64)
-
-data TypeCValueVInt64FieldInfo
-instance AttrInfo TypeCValueVInt64FieldInfo where
-    type AttrAllowedOps TypeCValueVInt64FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeCValueVInt64FieldInfo = (~) Int64
-    type AttrBaseTypeConstraint TypeCValueVInt64FieldInfo = (~) TypeCValue
-    type AttrGetType TypeCValueVInt64FieldInfo = Int64
-    type AttrLabel TypeCValueVInt64FieldInfo = "v_int64"
-    attrGet _ = typeCValueReadVInt64
-    attrSet _ = typeCValueWriteVInt64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeCValueVInt64 :: AttrLabelProxy "vInt64"
-typeCValueVInt64 = AttrLabelProxy
-
-
-typeCValueReadVDouble :: MonadIO m => TypeCValue -> m Double
-typeCValueReadVDouble s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-typeCValueWriteVDouble :: MonadIO m => TypeCValue -> Double -> m ()
-typeCValueWriteVDouble s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CDouble)
-
-data TypeCValueVDoubleFieldInfo
-instance AttrInfo TypeCValueVDoubleFieldInfo where
-    type AttrAllowedOps TypeCValueVDoubleFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint TypeCValueVDoubleFieldInfo = (~) Double
-    type AttrBaseTypeConstraint TypeCValueVDoubleFieldInfo = (~) TypeCValue
-    type AttrGetType TypeCValueVDoubleFieldInfo = Double
-    type AttrLabel TypeCValueVDoubleFieldInfo = "v_double"
-    attrGet _ = typeCValueReadVDouble
-    attrSet _ = typeCValueWriteVDouble
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-typeCValueVDouble :: AttrLabelProxy "vDouble"
-typeCValueVDouble = AttrLabelProxy
-
-
-typeCValueReadVPointer :: MonadIO m => TypeCValue -> m (Ptr ())
-typeCValueReadVPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
-    return val
-
-typeCValueWriteVPointer :: MonadIO m => TypeCValue -> Ptr () -> m ()
-typeCValueWriteVPointer s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr ())
-
-typeCValueClearVPointer :: MonadIO m => TypeCValue -> m ()
-typeCValueClearVPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr ())
-
-data TypeCValueVPointerFieldInfo
-instance AttrInfo TypeCValueVPointerFieldInfo where
-    type AttrAllowedOps TypeCValueVPointerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint TypeCValueVPointerFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint TypeCValueVPointerFieldInfo = (~) TypeCValue
-    type AttrGetType TypeCValueVPointerFieldInfo = Ptr ()
-    type AttrLabel TypeCValueVPointerFieldInfo = "v_pointer"
-    attrGet _ = typeCValueReadVPointer
-    attrSet _ = typeCValueWriteVPointer
-    attrConstruct = undefined
-    attrClear _ = typeCValueClearVPointer
-
-typeCValueVPointer :: AttrLabelProxy "vPointer"
-typeCValueVPointer = AttrLabelProxy
-
-
-
-type instance AttributeList TypeCValue = TypeCValueAttributeList
-type TypeCValueAttributeList = ('[ '("vInt", TypeCValueVIntFieldInfo), '("vLong", TypeCValueVLongFieldInfo), '("vInt64", TypeCValueVInt64FieldInfo), '("vDouble", TypeCValueVDoubleFieldInfo), '("vPointer", TypeCValueVPointerFieldInfo)] :: [(Symbol, *)])
-
-type family ResolveTypeCValueMethod (t :: Symbol) (o :: *) :: * where
-    ResolveTypeCValueMethod l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveTypeCValueMethod t TypeCValue, MethodInfo info TypeCValue p) => IsLabelProxy t (TypeCValue -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveTypeCValueMethod t TypeCValue, MethodInfo info TypeCValue p) => IsLabel t (TypeCValue -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Unions.TypeCValue where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype TypeCValue = TypeCValue (ForeignPtr 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,356 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GObject.Unions.Value_Data_Union_
-    ( 
-
--- * Exported types
-    Value_Data_Union_(..)                   ,
-    newZeroValue_Data_Union_                ,
-    noValue_Data_Union_                     ,
-
-
- -- * Properties
--- ** VDouble
-    value_Data_Union_ReadVDouble            ,
-    value_Data_Union_VDouble                ,
-    value_Data_Union_WriteVDouble           ,
-
-
--- ** VFloat
-    value_Data_Union_ReadVFloat             ,
-    value_Data_Union_VFloat                 ,
-    value_Data_Union_WriteVFloat            ,
-
-
--- ** VInt
-    value_Data_Union_ReadVInt               ,
-    value_Data_Union_VInt                   ,
-    value_Data_Union_WriteVInt              ,
-
-
--- ** VInt64
-    value_Data_Union_ReadVInt64             ,
-    value_Data_Union_VInt64                 ,
-    value_Data_Union_WriteVInt64            ,
-
-
--- ** VLong
-    value_Data_Union_ReadVLong              ,
-    value_Data_Union_VLong                  ,
-    value_Data_Union_WriteVLong             ,
-
-
--- ** VPointer
-    value_Data_Union_ClearVPointer          ,
-    value_Data_Union_ReadVPointer           ,
-    value_Data_Union_VPointer               ,
-    value_Data_Union_WriteVPointer          ,
-
-
--- ** VUint
-    value_Data_Union_ReadVUint              ,
-    value_Data_Union_VUint                  ,
-    value_Data_Union_WriteVUint             ,
-
-
--- ** VUint64
-    value_Data_Union_ReadVUint64            ,
-    value_Data_Union_VUint64                ,
-    value_Data_Union_WriteVUint64           ,
-
-
--- ** VUlong
-    value_Data_Union_ReadVUlong             ,
-    value_Data_Union_VUlong                 ,
-    value_Data_Union_WriteVUlong            ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GObject.Types
-import GI.GObject.Callbacks
-
-newtype Value_Data_Union_ = Value_Data_Union_ (ForeignPtr Value_Data_Union_)
-instance WrappedPtr Value_Data_Union_ where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = copyPtr 8
-    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
-
-
-noValue_Data_Union_ :: Maybe Value_Data_Union_
-noValue_Data_Union_ = Nothing
-
-value_Data_Union_ReadVInt :: MonadIO m => Value_Data_Union_ -> m Int32
-value_Data_Union_ReadVInt s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-value_Data_Union_WriteVInt :: MonadIO m => Value_Data_Union_ -> Int32 -> m ()
-value_Data_Union_WriteVInt s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-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"
-    attrGet _ = value_Data_Union_ReadVInt
-    attrSet _ = value_Data_Union_WriteVInt
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VInt :: AttrLabelProxy "vInt"
-value_Data_Union_VInt = AttrLabelProxy
-
-
-value_Data_Union_ReadVUint :: MonadIO m => Value_Data_Union_ -> m Word32
-value_Data_Union_ReadVUint s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-value_Data_Union_WriteVUint :: MonadIO m => Value_Data_Union_ -> Word32 -> m ()
-value_Data_Union_WriteVUint s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-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"
-    attrGet _ = value_Data_Union_ReadVUint
-    attrSet _ = value_Data_Union_WriteVUint
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VUint :: AttrLabelProxy "vUint"
-value_Data_Union_VUint = AttrLabelProxy
-
-
-value_Data_Union_ReadVLong :: MonadIO m => Value_Data_Union_ -> m CLong
-value_Data_Union_ReadVLong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CLong
-    return val
-
-value_Data_Union_WriteVLong :: MonadIO m => Value_Data_Union_ -> CLong -> m ()
-value_Data_Union_WriteVLong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CLong)
-
-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"
-    attrGet _ = value_Data_Union_ReadVLong
-    attrSet _ = value_Data_Union_WriteVLong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VLong :: AttrLabelProxy "vLong"
-value_Data_Union_VLong = AttrLabelProxy
-
-
-value_Data_Union_ReadVUlong :: MonadIO m => Value_Data_Union_ -> m CULong
-value_Data_Union_ReadVUlong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CULong
-    return val
-
-value_Data_Union_WriteVUlong :: MonadIO m => Value_Data_Union_ -> CULong -> m ()
-value_Data_Union_WriteVUlong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CULong)
-
-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"
-    attrGet _ = value_Data_Union_ReadVUlong
-    attrSet _ = value_Data_Union_WriteVUlong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VUlong :: AttrLabelProxy "vUlong"
-value_Data_Union_VUlong = AttrLabelProxy
-
-
-value_Data_Union_ReadVInt64 :: MonadIO m => Value_Data_Union_ -> m Int64
-value_Data_Union_ReadVInt64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int64
-    return val
-
-value_Data_Union_WriteVInt64 :: MonadIO m => Value_Data_Union_ -> Int64 -> m ()
-value_Data_Union_WriteVInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int64)
-
-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"
-    attrGet _ = value_Data_Union_ReadVInt64
-    attrSet _ = value_Data_Union_WriteVInt64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VInt64 :: AttrLabelProxy "vInt64"
-value_Data_Union_VInt64 = AttrLabelProxy
-
-
-value_Data_Union_ReadVUint64 :: MonadIO m => Value_Data_Union_ -> m Word64
-value_Data_Union_ReadVUint64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word64
-    return val
-
-value_Data_Union_WriteVUint64 :: MonadIO m => Value_Data_Union_ -> Word64 -> m ()
-value_Data_Union_WriteVUint64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word64)
-
-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"
-    attrGet _ = value_Data_Union_ReadVUint64
-    attrSet _ = value_Data_Union_WriteVUint64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VUint64 :: AttrLabelProxy "vUint64"
-value_Data_Union_VUint64 = AttrLabelProxy
-
-
-value_Data_Union_ReadVFloat :: MonadIO m => Value_Data_Union_ -> m Float
-value_Data_Union_ReadVFloat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CFloat
-    let val' = realToFrac val
-    return val'
-
-value_Data_Union_WriteVFloat :: MonadIO m => Value_Data_Union_ -> Float -> m ()
-value_Data_Union_WriteVFloat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CFloat)
-
-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"
-    attrGet _ = value_Data_Union_ReadVFloat
-    attrSet _ = value_Data_Union_WriteVFloat
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VFloat :: AttrLabelProxy "vFloat"
-value_Data_Union_VFloat = AttrLabelProxy
-
-
-value_Data_Union_ReadVDouble :: MonadIO m => Value_Data_Union_ -> m Double
-value_Data_Union_ReadVDouble s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-value_Data_Union_WriteVDouble :: MonadIO m => Value_Data_Union_ -> Double -> m ()
-value_Data_Union_WriteVDouble s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CDouble)
-
-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"
-    attrGet _ = value_Data_Union_ReadVDouble
-    attrSet _ = value_Data_Union_WriteVDouble
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-value_Data_Union_VDouble :: AttrLabelProxy "vDouble"
-value_Data_Union_VDouble = AttrLabelProxy
-
-
-value_Data_Union_ReadVPointer :: MonadIO m => Value_Data_Union_ -> m (Ptr ())
-value_Data_Union_ReadVPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
-    return val
-
-value_Data_Union_WriteVPointer :: MonadIO m => Value_Data_Union_ -> Ptr () -> m ()
-value_Data_Union_WriteVPointer s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr ())
-
-value_Data_Union_ClearVPointer :: MonadIO m => Value_Data_Union_ -> m ()
-value_Data_Union_ClearVPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr ())
-
-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"
-    attrGet _ = value_Data_Union_ReadVPointer
-    attrSet _ = value_Data_Union_WriteVPointer
-    attrConstruct = undefined
-    attrClear _ = value_Data_Union_ClearVPointer
-
-value_Data_Union_VPointer :: AttrLabelProxy "vPointer"
-value_Data_Union_VPointer = AttrLabelProxy
-
-
-
-type instance 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, *)])
-
-type family ResolveValue_Data_Union_Method (t :: Symbol) (o :: *) :: * where
-    ResolveValue_Data_Union_Method l o = MethodResolutionFailed l o
-
-instance (info ~ ResolveValue_Data_Union_Method t Value_Data_Union_, MethodInfo info Value_Data_Union_ p) => IsLabelProxy t (Value_Data_Union_ -> p) where
-    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
-
-#if MIN_VERSION_base(4,9,0)
-instance (info ~ ResolveValue_Data_Union_Method t Value_Data_Union_, MethodInfo info Value_Data_Union_ p) => IsLabel t (Value_Data_Union_ -> p) where
-    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
-#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,11 +0,0 @@
-module GI.GObject.Unions.Value_Data_Union_ where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Value_Data_Union_ = Value_Data_Union_ (ForeignPtr Value_Data_Union_)
-instance WrappedPtr Value_Data_Union_ where
diff --git a/GObject.overrides b/GObject.overrides
new file mode 100644
--- /dev/null
+++ b/GObject.overrides
@@ -0,0 +1,7 @@
+namespace GObject
+
+# Can be ignored in the bindings.
+ignore signal_set_va_marshaller
+
+# The semantics for the DirectionIn pointer here are somewhat ambiguous.
+ignore ClosureMarshal
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,3 +1,12 @@
-#!/usr/bin/env runhaskell
-import Distribution.Simple
-main = defaultMain
+{-# LANGUAGE OverloadedStrings #-}
+
+import Distribution.Simple (defaultMainWithHooks)
+import Data.GI.CodeGen.CabalHooks (simpleHaskellGIHooks)
+
+main = defaultMainWithHooks (simpleHaskellGIHooks name version verbose
+                             overridesFile outputDir)
+    where name = "GObject"
+          version = "2.0"
+          verbose = False
+          overridesFile = Just "GObject.overrides"
+          outputDir = Nothing
diff --git a/gi-gobject.cabal b/gi-gobject.cabal
--- a/gi-gobject.cabal
+++ b/gi-gobject.cabal
@@ -1,6 +1,5 @@
--- Autogenerated, do not edit.
 name:               gi-gobject
-version:            0.2.46.15
+version:            2.0.1
 synopsis:           GObject bindings
 description:        Bindings for GObject, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -9,59 +8,27 @@
 author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte
 maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)
 category:           Bindings
-build-type:         Simple
-cabal-version:      >=1.10
+build-type:         Custom
+cabal-version:      >= 1.24
 
+extra-source-files: GObject.overrides
+
+custom-setup
+  setup-depends: base >= 4.7,
+                 Cabal >= 1.24,
+                 haskell-gi >= 0.15
+
 library
     default-language:   Haskell2010
     default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
     other-extensions:   PatternSynonyms ViewPatterns
     ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
-    exposed-modules:    GI.GObject.Types
-                        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.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.TypePluginClass
-                        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_
-    pkgconfig-depends:  gobject-2.0 >= 2.46
+
+    pkgconfig-depends:  gobject-2.0
     build-depends: base >= 4.7 && <5,
         haskell-gi-base >= 0.15 && < 1,
-        gi-glib >= 0.2.46.15 && < 0.2.47,
+        gi-glib == 2.0.*,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
-        transformers >= 0.3
+        transformers >= 0.5
