diff --git a/GI/GIRepository.hs b/GI/GIRepository.hs
--- a/GI/GIRepository.hs
+++ b/GI/GIRepository.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -15,6 +16,10 @@
     module GI.GIRepository.Unions           ,
 
 
+
+    module Data.GI.Base                     ,
+
+
     ) where
 
 import GI.GIRepository.Callbacks
@@ -35,4 +40,5 @@
 import GI.GIRepository.Types
 import GI.GIRepository.Callbacks
 
+import Data.GI.Base
 
diff --git a/GI/GIRepository/Callbacks.hs b/GI/GIRepository/Callbacks.hs
--- a/GI/GIRepository/Callbacks.hs
+++ b/GI/GIRepository/Callbacks.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/GIRepository/Enums.hs b/GI/GIRepository/Enums.hs
--- a/GI/GIRepository/Enums.hs
+++ b/GI/GIRepository/Enums.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/GIRepository/Flags.hs b/GI/GIRepository/Flags.hs
--- a/GI/GIRepository/Flags.hs
+++ b/GI/GIRepository/Flags.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/GIRepository/Functions.hs b/GI/GIRepository/Functions.hs
--- a/GI/GIRepository/Functions.hs
+++ b/GI/GIRepository/Functions.hs
@@ -1,4024 +1,3926 @@
 
-{- |
-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.GIRepository.Functions
-    ( 
-
- -- * Methods
--- ** argInfoGetClosure
-    argInfoGetClosure                       ,
-
-
--- ** argInfoGetDestroy
-    argInfoGetDestroy                       ,
-
-
--- ** argInfoGetDirection
-    argInfoGetDirection                     ,
-
-
--- ** argInfoGetOwnershipTransfer
-    argInfoGetOwnershipTransfer             ,
-
-
--- ** argInfoGetScope
-    argInfoGetScope                         ,
-
-
--- ** argInfoGetType
-    argInfoGetType                          ,
-
-
--- ** argInfoIsCallerAllocates
-    argInfoIsCallerAllocates                ,
-
-
--- ** argInfoIsOptional
-    argInfoIsOptional                       ,
-
-
--- ** argInfoIsReturnValue
-    argInfoIsReturnValue                    ,
-
-
--- ** argInfoIsSkip
-    argInfoIsSkip                           ,
-
-
--- ** argInfoLoadType
-    argInfoLoadType                         ,
-
-
--- ** argInfoMayBeNull
-    argInfoMayBeNull                        ,
-
-
--- ** callableInfoCanThrowGerror
-    callableInfoCanThrowGerror              ,
-
-
--- ** callableInfoGetArg
-    callableInfoGetArg                      ,
-
-
--- ** callableInfoGetCallerOwns
-    callableInfoGetCallerOwns               ,
-
-
--- ** callableInfoGetInstanceOwnershipTransfer
-    callableInfoGetInstanceOwnershipTransfer,
-
-
--- ** callableInfoGetNArgs
-    callableInfoGetNArgs                    ,
-
-
--- ** callableInfoGetReturnAttribute
-    callableInfoGetReturnAttribute          ,
-
-
--- ** callableInfoGetReturnType
-    callableInfoGetReturnType               ,
-
-
--- ** callableInfoInvoke
-    callableInfoInvoke                      ,
-
-
--- ** callableInfoIsMethod
-    callableInfoIsMethod                    ,
-
-
--- ** callableInfoIterateReturnAttributes
-    callableInfoIterateReturnAttributes     ,
-
-
--- ** callableInfoLoadArg
-    callableInfoLoadArg                     ,
-
-
--- ** callableInfoLoadReturnType
-    callableInfoLoadReturnType              ,
-
-
--- ** callableInfoMayReturnNull
-    callableInfoMayReturnNull               ,
-
-
--- ** callableInfoSkipReturn
-    callableInfoSkipReturn                  ,
-
-
--- ** constantInfoGetType
-    constantInfoGetType                     ,
-
-
--- ** enumInfoGetErrorDomain
-    enumInfoGetErrorDomain                  ,
-
-
--- ** enumInfoGetMethod
-    enumInfoGetMethod                       ,
-
-
--- ** enumInfoGetNMethods
-    enumInfoGetNMethods                     ,
-
-
--- ** enumInfoGetNValues
-    enumInfoGetNValues                      ,
-
-
--- ** enumInfoGetStorageType
-    enumInfoGetStorageType                  ,
-
-
--- ** enumInfoGetValue
-    enumInfoGetValue                        ,
-
-
--- ** fieldInfoGetFlags
-    fieldInfoGetFlags                       ,
-
-
--- ** fieldInfoGetOffset
-    fieldInfoGetOffset                      ,
-
-
--- ** fieldInfoGetSize
-    fieldInfoGetSize                        ,
-
-
--- ** fieldInfoGetType
-    fieldInfoGetType                        ,
-
-
--- ** functionInfoGetFlags
-    functionInfoGetFlags                    ,
-
-
--- ** functionInfoGetProperty
-    functionInfoGetProperty                 ,
-
-
--- ** functionInfoGetSymbol
-    functionInfoGetSymbol                   ,
-
-
--- ** functionInfoGetVfunc
-    functionInfoGetVfunc                    ,
-
-
--- ** infoNew
-    infoNew                                 ,
-
-
--- ** infoTypeToString
-    infoTypeToString                        ,
-
-
--- ** interfaceInfoFindMethod
-    interfaceInfoFindMethod                 ,
-
-
--- ** interfaceInfoFindSignal
-    interfaceInfoFindSignal                 ,
-
-
--- ** interfaceInfoFindVfunc
-    interfaceInfoFindVfunc                  ,
-
-
--- ** interfaceInfoGetConstant
-    interfaceInfoGetConstant                ,
-
-
--- ** interfaceInfoGetIfaceStruct
-    interfaceInfoGetIfaceStruct             ,
-
-
--- ** interfaceInfoGetMethod
-    interfaceInfoGetMethod                  ,
-
-
--- ** interfaceInfoGetNConstants
-    interfaceInfoGetNConstants              ,
-
-
--- ** interfaceInfoGetNMethods
-    interfaceInfoGetNMethods                ,
-
-
--- ** interfaceInfoGetNPrerequisites
-    interfaceInfoGetNPrerequisites          ,
-
-
--- ** interfaceInfoGetNProperties
-    interfaceInfoGetNProperties             ,
-
-
--- ** interfaceInfoGetNSignals
-    interfaceInfoGetNSignals                ,
-
-
--- ** interfaceInfoGetNVfuncs
-    interfaceInfoGetNVfuncs                 ,
-
-
--- ** interfaceInfoGetPrerequisite
-    interfaceInfoGetPrerequisite            ,
-
-
--- ** interfaceInfoGetProperty
-    interfaceInfoGetProperty                ,
-
-
--- ** interfaceInfoGetSignal
-    interfaceInfoGetSignal                  ,
-
-
--- ** interfaceInfoGetVfunc
-    interfaceInfoGetVfunc                   ,
-
-
--- ** invokeErrorQuark
-    invokeErrorQuark                        ,
-
-
--- ** objectInfoFindMethod
-    objectInfoFindMethod                    ,
-
-
--- ** objectInfoFindMethodUsingInterfaces
-    objectInfoFindMethodUsingInterfaces     ,
-
-
--- ** objectInfoFindSignal
-    objectInfoFindSignal                    ,
-
-
--- ** objectInfoFindVfunc
-    objectInfoFindVfunc                     ,
-
-
--- ** objectInfoFindVfuncUsingInterfaces
-    objectInfoFindVfuncUsingInterfaces      ,
-
-
--- ** objectInfoGetAbstract
-    objectInfoGetAbstract                   ,
-
-
--- ** objectInfoGetClassStruct
-    objectInfoGetClassStruct                ,
-
-
--- ** objectInfoGetConstant
-    objectInfoGetConstant                   ,
-
-
--- ** objectInfoGetField
-    objectInfoGetField                      ,
-
-
--- ** objectInfoGetFundamental
-    objectInfoGetFundamental                ,
-
-
--- ** objectInfoGetGetValueFunction
-    objectInfoGetGetValueFunction           ,
-
-
--- ** objectInfoGetInterface
-    objectInfoGetInterface                  ,
-
-
--- ** objectInfoGetMethod
-    objectInfoGetMethod                     ,
-
-
--- ** objectInfoGetNConstants
-    objectInfoGetNConstants                 ,
-
-
--- ** objectInfoGetNFields
-    objectInfoGetNFields                    ,
-
-
--- ** objectInfoGetNInterfaces
-    objectInfoGetNInterfaces                ,
-
-
--- ** objectInfoGetNMethods
-    objectInfoGetNMethods                   ,
-
-
--- ** objectInfoGetNProperties
-    objectInfoGetNProperties                ,
-
-
--- ** objectInfoGetNSignals
-    objectInfoGetNSignals                   ,
-
-
--- ** objectInfoGetNVfuncs
-    objectInfoGetNVfuncs                    ,
-
-
--- ** objectInfoGetParent
-    objectInfoGetParent                     ,
-
-
--- ** objectInfoGetProperty
-    objectInfoGetProperty                   ,
-
-
--- ** objectInfoGetRefFunction
-    objectInfoGetRefFunction                ,
-
-
--- ** objectInfoGetSetValueFunction
-    objectInfoGetSetValueFunction           ,
-
-
--- ** objectInfoGetSignal
-    objectInfoGetSignal                     ,
-
-
--- ** objectInfoGetTypeInit
-    objectInfoGetTypeInit                   ,
-
-
--- ** objectInfoGetTypeName
-    objectInfoGetTypeName                   ,
-
-
--- ** objectInfoGetUnrefFunction
-    objectInfoGetUnrefFunction              ,
-
-
--- ** objectInfoGetVfunc
-    objectInfoGetVfunc                      ,
-
-
--- ** propertyInfoGetFlags
-    propertyInfoGetFlags                    ,
-
-
--- ** propertyInfoGetOwnershipTransfer
-    propertyInfoGetOwnershipTransfer        ,
-
-
--- ** propertyInfoGetType
-    propertyInfoGetType                     ,
-
-
--- ** registeredTypeInfoGetGType
-    registeredTypeInfoGetGType              ,
-
-
--- ** registeredTypeInfoGetTypeInit
-    registeredTypeInfoGetTypeInit           ,
-
-
--- ** registeredTypeInfoGetTypeName
-    registeredTypeInfoGetTypeName           ,
-
-
--- ** signalInfoGetClassClosure
-    signalInfoGetClassClosure               ,
-
-
--- ** signalInfoGetFlags
-    signalInfoGetFlags                      ,
-
-
--- ** signalInfoTrueStopsEmit
-    signalInfoTrueStopsEmit                 ,
-
-
--- ** structInfoFindMethod
-    structInfoFindMethod                    ,
-
-
--- ** structInfoGetAlignment
-    structInfoGetAlignment                  ,
-
-
--- ** structInfoGetField
-    structInfoGetField                      ,
-
-
--- ** structInfoGetMethod
-    structInfoGetMethod                     ,
-
-
--- ** structInfoGetNFields
-    structInfoGetNFields                    ,
-
-
--- ** structInfoGetNMethods
-    structInfoGetNMethods                   ,
-
-
--- ** structInfoGetSize
-    structInfoGetSize                       ,
-
-
--- ** structInfoIsForeign
-    structInfoIsForeign                     ,
-
-
--- ** structInfoIsGtypeStruct
-    structInfoIsGtypeStruct                 ,
-
-
--- ** typeInfoGetArrayFixedSize
-    typeInfoGetArrayFixedSize               ,
-
-
--- ** typeInfoGetArrayLength
-    typeInfoGetArrayLength                  ,
-
-
--- ** typeInfoGetArrayType
-    typeInfoGetArrayType                    ,
-
-
--- ** typeInfoGetInterface
-    typeInfoGetInterface                    ,
-
-
--- ** typeInfoGetParamType
-    typeInfoGetParamType                    ,
-
-
--- ** typeInfoGetTag
-    typeInfoGetTag                          ,
-
-
--- ** typeInfoIsPointer
-    typeInfoIsPointer                       ,
-
-
--- ** typeInfoIsZeroTerminated
-    typeInfoIsZeroTerminated                ,
-
-
--- ** typeTagToString
-    typeTagToString                         ,
-
-
--- ** unionInfoFindMethod
-    unionInfoFindMethod                     ,
-
-
--- ** unionInfoGetAlignment
-    unionInfoGetAlignment                   ,
-
-
--- ** unionInfoGetDiscriminator
-    unionInfoGetDiscriminator               ,
-
-
--- ** unionInfoGetDiscriminatorOffset
-    unionInfoGetDiscriminatorOffset         ,
-
-
--- ** unionInfoGetDiscriminatorType
-    unionInfoGetDiscriminatorType           ,
-
-
--- ** unionInfoGetField
-    unionInfoGetField                       ,
-
-
--- ** unionInfoGetMethod
-    unionInfoGetMethod                      ,
-
-
--- ** unionInfoGetNFields
-    unionInfoGetNFields                     ,
-
-
--- ** unionInfoGetNMethods
-    unionInfoGetNMethods                    ,
-
-
--- ** unionInfoGetSize
-    unionInfoGetSize                        ,
-
-
--- ** unionInfoIsDiscriminated
-    unionInfoIsDiscriminated                ,
-
-
--- ** valueInfoGetValue
-    valueInfoGetValue                       ,
-
-
--- ** vfuncInfoGetFlags
-    vfuncInfoGetFlags                       ,
-
-
--- ** vfuncInfoGetInvoker
-    vfuncInfoGetInvoker                     ,
-
-
--- ** vfuncInfoGetOffset
-    vfuncInfoGetOffset                      ,
-
-
--- ** vfuncInfoGetSignal
-    vfuncInfoGetSignal                      ,
-
-
-
-
-    ) where
-
-import Prelude ()
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-import qualified GI.GObject as GObject
-
--- function g_vfunc_info_get_signal
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_vfunc_info_get_signal" g_vfunc_info_get_signal :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-vfuncInfoGetSignal ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-vfuncInfoGetSignal info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_vfunc_info_get_signal info'
-    checkUnexpectedReturnNULL "g_vfunc_info_get_signal" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_vfunc_info_get_offset
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_vfunc_info_get_offset" g_vfunc_info_get_offset :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-vfuncInfoGetOffset ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-vfuncInfoGetOffset info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_vfunc_info_get_offset info'
-    touchManagedPtr info
-    return result
-
-
--- function g_vfunc_info_get_invoker
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_vfunc_info_get_invoker" g_vfunc_info_get_invoker :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-vfuncInfoGetInvoker ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-vfuncInfoGetInvoker info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_vfunc_info_get_invoker info'
-    checkUnexpectedReturnNULL "g_vfunc_info_get_invoker" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_vfunc_info_get_flags
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "VFuncInfoFlags"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_vfunc_info_get_flags" g_vfunc_info_get_flags :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-vfuncInfoGetFlags ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m [VFuncInfoFlags]
-vfuncInfoGetFlags info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_vfunc_info_get_flags info'
-    let result' = wordToGFlags result
-    touchManagedPtr info
-    return result'
-
-
--- function g_value_info_get_value
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_value_info_get_value" g_value_info_get_value :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int64
-
-
-valueInfoGetValue ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int64
-valueInfoGetValue info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_value_info_get_value info'
-    touchManagedPtr info
-    return result
-
-
--- function g_union_info_is_discriminated
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_is_discriminated" g_union_info_is_discriminated :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-unionInfoIsDiscriminated ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-unionInfoIsDiscriminated info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_is_discriminated info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_union_info_get_size
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_size" g_union_info_get_size :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Word64
-
-
-unionInfoGetSize ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Word64
-unionInfoGetSize info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_size info'
-    touchManagedPtr info
-    return result
-
-
--- function g_union_info_get_n_methods
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_n_methods" g_union_info_get_n_methods :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-unionInfoGetNMethods ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-unionInfoGetNMethods info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_n_methods info'
-    touchManagedPtr info
-    return result
-
-
--- function g_union_info_get_n_fields
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_n_fields" g_union_info_get_n_fields :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-unionInfoGetNFields ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-unionInfoGetNFields info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_n_fields info'
-    touchManagedPtr info
-    return result
-
-
--- function g_union_info_get_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_method" g_union_info_get_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-unionInfoGetMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-unionInfoGetMethod info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_method info' n
-    checkUnexpectedReturnNULL "g_union_info_get_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_union_info_get_field
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_field" g_union_info_get_field :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-unionInfoGetField ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-unionInfoGetField info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_field info' n
-    checkUnexpectedReturnNULL "g_union_info_get_field" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_union_info_get_discriminator_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_discriminator_type" g_union_info_get_discriminator_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-unionInfoGetDiscriminatorType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-unionInfoGetDiscriminatorType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_discriminator_type info'
-    checkUnexpectedReturnNULL "g_union_info_get_discriminator_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_union_info_get_discriminator_offset
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_discriminator_offset" g_union_info_get_discriminator_offset :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-unionInfoGetDiscriminatorOffset ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-unionInfoGetDiscriminatorOffset info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_discriminator_offset info'
-    touchManagedPtr info
-    return result
-
-
--- function g_union_info_get_discriminator
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_discriminator" g_union_info_get_discriminator :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-unionInfoGetDiscriminator ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-unionInfoGetDiscriminator info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_discriminator info' n
-    checkUnexpectedReturnNULL "g_union_info_get_discriminator" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_union_info_get_alignment
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_get_alignment" g_union_info_get_alignment :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Word64
-
-
-unionInfoGetAlignment ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Word64
-unionInfoGetAlignment info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_union_info_get_alignment info'
-    touchManagedPtr info
-    return result
-
-
--- function g_union_info_find_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_union_info_find_method" g_union_info_find_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-unionInfoFindMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-unionInfoFindMethod info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_union_info_find_method info' name'
-    checkUnexpectedReturnNULL "g_union_info_find_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_type_tag_to_string
--- Args : [Arg {argName = "type", argType = TInterface "GIRepository" "TypeTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "GIRepository" "TypeTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_tag_to_string" g_type_tag_to_string :: 
-    CUInt ->                                -- type : TInterface "GIRepository" "TypeTag"
-    IO CString
-
-
-typeTagToString ::
-    (MonadIO m) =>
-    TypeTag ->                              -- type
-    m T.Text
-typeTagToString type_ = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- g_type_tag_to_string type_'
-    checkUnexpectedReturnNULL "g_type_tag_to_string" result
-    result' <- cstringToText result
-    return result'
-
-
--- function g_type_info_is_zero_terminated
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_is_zero_terminated" g_type_info_is_zero_terminated :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-typeInfoIsZeroTerminated ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-typeInfoIsZeroTerminated info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_is_zero_terminated info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_type_info_is_pointer
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_is_pointer" g_type_info_is_pointer :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-typeInfoIsPointer ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-typeInfoIsPointer info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_is_pointer info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_type_info_get_tag
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "TypeTag"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_get_tag" g_type_info_get_tag :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-typeInfoGetTag ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m TypeTag
-typeInfoGetTag info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_get_tag info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_type_info_get_param_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_get_param_type" g_type_info_get_param_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-typeInfoGetParamType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-typeInfoGetParamType info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_get_param_type info' n
-    checkUnexpectedReturnNULL "g_type_info_get_param_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_type_info_get_interface
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_get_interface" g_type_info_get_interface :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-typeInfoGetInterface ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-typeInfoGetInterface info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_get_interface info'
-    checkUnexpectedReturnNULL "g_type_info_get_interface" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_type_info_get_array_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "ArrayType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_get_array_type" g_type_info_get_array_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-typeInfoGetArrayType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m ArrayType
-typeInfoGetArrayType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_get_array_type info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_type_info_get_array_length
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_get_array_length" g_type_info_get_array_length :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-typeInfoGetArrayLength ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-typeInfoGetArrayLength info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_get_array_length info'
-    touchManagedPtr info
-    return result
-
-
--- function g_type_info_get_array_fixed_size
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_type_info_get_array_fixed_size" g_type_info_get_array_fixed_size :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-typeInfoGetArrayFixedSize ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-typeInfoGetArrayFixedSize info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_type_info_get_array_fixed_size info'
-    touchManagedPtr info
-    return result
-
-
--- function g_struct_info_is_gtype_struct
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_is_gtype_struct" g_struct_info_is_gtype_struct :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-structInfoIsGtypeStruct ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-structInfoIsGtypeStruct info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_is_gtype_struct info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_struct_info_is_foreign
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_is_foreign" g_struct_info_is_foreign :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-structInfoIsForeign ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-structInfoIsForeign info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_is_foreign info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_struct_info_get_size
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_get_size" g_struct_info_get_size :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Word64
-
-
-structInfoGetSize ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Word64
-structInfoGetSize info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_get_size info'
-    touchManagedPtr info
-    return result
-
-
--- function g_struct_info_get_n_methods
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_get_n_methods" g_struct_info_get_n_methods :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-structInfoGetNMethods ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-structInfoGetNMethods info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_get_n_methods info'
-    touchManagedPtr info
-    return result
-
-
--- function g_struct_info_get_n_fields
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_get_n_fields" g_struct_info_get_n_fields :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-structInfoGetNFields ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-structInfoGetNFields info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_get_n_fields info'
-    touchManagedPtr info
-    return result
-
-
--- function g_struct_info_get_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_get_method" g_struct_info_get_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-structInfoGetMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-structInfoGetMethod info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_get_method info' n
-    checkUnexpectedReturnNULL "g_struct_info_get_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_struct_info_get_field
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_get_field" g_struct_info_get_field :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-structInfoGetField ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-structInfoGetField info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_get_field info' n
-    checkUnexpectedReturnNULL "g_struct_info_get_field" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_struct_info_get_alignment
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUInt64
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_get_alignment" g_struct_info_get_alignment :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Word64
-
-
-structInfoGetAlignment ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Word64
-structInfoGetAlignment info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_struct_info_get_alignment info'
-    touchManagedPtr info
-    return result
-
-
--- function g_struct_info_find_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_struct_info_find_method" g_struct_info_find_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-structInfoFindMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-structInfoFindMethod info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_struct_info_find_method info' name'
-    checkUnexpectedReturnNULL "g_struct_info_find_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_signal_info_true_stops_emit
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_info_true_stops_emit" g_signal_info_true_stops_emit :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-signalInfoTrueStopsEmit ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-signalInfoTrueStopsEmit info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_signal_info_true_stops_emit info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_signal_info_get_flags
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GObject" "SignalFlags"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_info_get_flags" g_signal_info_get_flags :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-signalInfoGetFlags ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m [GObject.SignalFlags]
-signalInfoGetFlags info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_signal_info_get_flags info'
-    let result' = wordToGFlags result
-    touchManagedPtr info
-    return result'
-
-
--- function g_signal_info_get_class_closure
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_signal_info_get_class_closure" g_signal_info_get_class_closure :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-signalInfoGetClassClosure ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-signalInfoGetClassClosure info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_signal_info_get_class_closure info'
-    checkUnexpectedReturnNULL "g_signal_info_get_class_closure" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_registered_type_info_get_type_name
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_registered_type_info_get_type_name" g_registered_type_info_get_type_name :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-registeredTypeInfoGetTypeName ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-registeredTypeInfoGetTypeName info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_registered_type_info_get_type_name info'
-    checkUnexpectedReturnNULL "g_registered_type_info_get_type_name" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_registered_type_info_get_type_init
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_registered_type_info_get_type_init" g_registered_type_info_get_type_init :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-registeredTypeInfoGetTypeInit ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-registeredTypeInfoGetTypeInit info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_registered_type_info_get_type_init info'
-    checkUnexpectedReturnNULL "g_registered_type_info_get_type_init" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_registered_type_info_get_g_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TGType
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_registered_type_info_get_g_type" g_registered_type_info_get_g_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CGType
-
-
-registeredTypeInfoGetGType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m GType
-registeredTypeInfoGetGType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_registered_type_info_get_g_type info'
-    let result' = GType result
-    touchManagedPtr info
-    return result'
-
-
--- function g_property_info_get_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_property_info_get_type" g_property_info_get_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-propertyInfoGetType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-propertyInfoGetType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_property_info_get_type info'
-    checkUnexpectedReturnNULL "g_property_info_get_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_property_info_get_ownership_transfer
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "Transfer"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_property_info_get_ownership_transfer" g_property_info_get_ownership_transfer :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-propertyInfoGetOwnershipTransfer ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Transfer
-propertyInfoGetOwnershipTransfer info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_property_info_get_ownership_transfer info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_property_info_get_flags
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GObject" "ParamFlags"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_property_info_get_flags" g_property_info_get_flags :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-propertyInfoGetFlags ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m [GObject.ParamFlags]
-propertyInfoGetFlags info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_property_info_get_flags info'
-    let result' = wordToGFlags result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_vfunc
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_vfunc" g_object_info_get_vfunc :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetVfunc ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetVfunc info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_vfunc info' n
-    checkUnexpectedReturnNULL "g_object_info_get_vfunc" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_unref_function
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_unref_function" g_object_info_get_unref_function :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-objectInfoGetUnrefFunction ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-objectInfoGetUnrefFunction info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_unref_function info'
-    checkUnexpectedReturnNULL "g_object_info_get_unref_function" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_type_name
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_type_name" g_object_info_get_type_name :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-objectInfoGetTypeName ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-objectInfoGetTypeName info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_type_name info'
-    checkUnexpectedReturnNULL "g_object_info_get_type_name" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_type_init
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_type_init" g_object_info_get_type_init :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-objectInfoGetTypeInit ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-objectInfoGetTypeInit info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_type_init info'
-    checkUnexpectedReturnNULL "g_object_info_get_type_init" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_signal
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_signal" g_object_info_get_signal :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetSignal ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetSignal info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_signal info' n
-    checkUnexpectedReturnNULL "g_object_info_get_signal" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_set_value_function
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_set_value_function" g_object_info_get_set_value_function :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-objectInfoGetSetValueFunction ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-objectInfoGetSetValueFunction info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_set_value_function info'
-    checkUnexpectedReturnNULL "g_object_info_get_set_value_function" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_ref_function
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_ref_function" g_object_info_get_ref_function :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-objectInfoGetRefFunction ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-objectInfoGetRefFunction info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_ref_function info'
-    checkUnexpectedReturnNULL "g_object_info_get_ref_function" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_property
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_property" g_object_info_get_property :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetProperty ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetProperty info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_property info' n
-    checkUnexpectedReturnNULL "g_object_info_get_property" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_parent
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_parent" g_object_info_get_parent :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetParent ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-objectInfoGetParent info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_parent info'
-    checkUnexpectedReturnNULL "g_object_info_get_parent" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_n_vfuncs
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_vfuncs" g_object_info_get_n_vfuncs :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNVfuncs ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNVfuncs info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_vfuncs info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_n_signals
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_signals" g_object_info_get_n_signals :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNSignals ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNSignals info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_signals info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_n_properties
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_properties" g_object_info_get_n_properties :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNProperties ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNProperties info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_properties info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_n_methods
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_methods" g_object_info_get_n_methods :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNMethods ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNMethods info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_methods info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_n_interfaces
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_interfaces" g_object_info_get_n_interfaces :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNInterfaces ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNInterfaces info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_interfaces info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_n_fields
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_fields" g_object_info_get_n_fields :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNFields ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNFields info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_fields info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_n_constants
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_n_constants" g_object_info_get_n_constants :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-objectInfoGetNConstants ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-objectInfoGetNConstants info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_n_constants info'
-    touchManagedPtr info
-    return result
-
-
--- function g_object_info_get_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_method" g_object_info_get_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetMethod info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_method info' n
-    checkUnexpectedReturnNULL "g_object_info_get_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_interface
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_interface" g_object_info_get_interface :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetInterface ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetInterface info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_interface info' n
-    checkUnexpectedReturnNULL "g_object_info_get_interface" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_get_value_function
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_get_value_function" g_object_info_get_get_value_function :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-objectInfoGetGetValueFunction ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-objectInfoGetGetValueFunction info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_get_value_function info'
-    checkUnexpectedReturnNULL "g_object_info_get_get_value_function" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_fundamental
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_fundamental" g_object_info_get_fundamental :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-objectInfoGetFundamental ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-objectInfoGetFundamental info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_fundamental info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_field
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_field" g_object_info_get_field :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetField ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetField info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_field info' n
-    checkUnexpectedReturnNULL "g_object_info_get_field" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_constant
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_constant" g_object_info_get_constant :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetConstant ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-objectInfoGetConstant info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_constant info' n
-    checkUnexpectedReturnNULL "g_object_info_get_constant" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_class_struct
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_class_struct" g_object_info_get_class_struct :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-objectInfoGetClassStruct ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-objectInfoGetClassStruct info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_class_struct info'
-    checkUnexpectedReturnNULL "g_object_info_get_class_struct" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_get_abstract
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_get_abstract" g_object_info_get_abstract :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-objectInfoGetAbstract ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-objectInfoGetAbstract info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_object_info_get_abstract info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_object_info_find_vfunc_using_interfaces
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "implementor", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_find_vfunc_using_interfaces" g_object_info_find_vfunc_using_interfaces :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr BaseInfo ->                         -- implementor : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-objectInfoFindVfuncUsingInterfaces ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m (BaseInfo,BaseInfo)
-objectInfoFindVfuncUsingInterfaces info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    implementor <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
-    result <- g_object_info_find_vfunc_using_interfaces info' name' implementor
-    checkUnexpectedReturnNULL "g_object_info_find_vfunc_using_interfaces" result
-    result' <- (wrapBoxed BaseInfo) result
-    implementor' <- (wrapBoxed BaseInfo) implementor
-    touchManagedPtr info
-    freeMem name'
-    return (result', implementor')
-
-
--- function g_object_info_find_vfunc
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_find_vfunc" g_object_info_find_vfunc :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-objectInfoFindVfunc ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-objectInfoFindVfunc info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_object_info_find_vfunc info' name'
-    checkUnexpectedReturnNULL "g_object_info_find_vfunc" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_object_info_find_signal
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_find_signal" g_object_info_find_signal :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-objectInfoFindSignal ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-objectInfoFindSignal info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_object_info_find_signal info' name'
-    checkUnexpectedReturnNULL "g_object_info_find_signal" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_object_info_find_method_using_interfaces
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "implementor", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_find_method_using_interfaces" g_object_info_find_method_using_interfaces :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    Ptr BaseInfo ->                         -- implementor : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-objectInfoFindMethodUsingInterfaces ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m (BaseInfo,BaseInfo)
-objectInfoFindMethodUsingInterfaces info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    implementor <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
-    result <- g_object_info_find_method_using_interfaces info' name' implementor
-    checkUnexpectedReturnNULL "g_object_info_find_method_using_interfaces" result
-    result' <- (wrapBoxed BaseInfo) result
-    implementor' <- (wrapBoxed BaseInfo) implementor
-    touchManagedPtr info
-    freeMem name'
-    return (result', implementor')
-
-
--- function g_object_info_find_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_object_info_find_method" g_object_info_find_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-objectInfoFindMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-objectInfoFindMethod info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_object_info_find_method info' name'
-    checkUnexpectedReturnNULL "g_object_info_find_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_invoke_error_quark
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TBasicType TUInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_invoke_error_quark" g_invoke_error_quark :: 
-    IO Word32
-
-
-invokeErrorQuark ::
-    (MonadIO m) =>
-    m Word32
-invokeErrorQuark  = liftIO $ do
-    result <- g_invoke_error_quark
-    return result
-
-
--- function g_interface_info_get_vfunc
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_vfunc" g_interface_info_get_vfunc :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetVfunc ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-interfaceInfoGetVfunc info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_vfunc info' n
-    checkUnexpectedReturnNULL "g_interface_info_get_vfunc" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_get_signal
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_signal" g_interface_info_get_signal :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetSignal ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-interfaceInfoGetSignal info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_signal info' n
-    checkUnexpectedReturnNULL "g_interface_info_get_signal" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_get_property
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_property" g_interface_info_get_property :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetProperty ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-interfaceInfoGetProperty info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_property info' n
-    checkUnexpectedReturnNULL "g_interface_info_get_property" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_get_prerequisite
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_prerequisite" g_interface_info_get_prerequisite :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetPrerequisite ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-interfaceInfoGetPrerequisite info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_prerequisite info' n
-    checkUnexpectedReturnNULL "g_interface_info_get_prerequisite" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_get_n_vfuncs
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_n_vfuncs" g_interface_info_get_n_vfuncs :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-interfaceInfoGetNVfuncs ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-interfaceInfoGetNVfuncs info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_n_vfuncs info'
-    touchManagedPtr info
-    return result
-
-
--- function g_interface_info_get_n_signals
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_n_signals" g_interface_info_get_n_signals :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-interfaceInfoGetNSignals ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-interfaceInfoGetNSignals info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_n_signals info'
-    touchManagedPtr info
-    return result
-
-
--- function g_interface_info_get_n_properties
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_n_properties" g_interface_info_get_n_properties :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-interfaceInfoGetNProperties ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-interfaceInfoGetNProperties info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_n_properties info'
-    touchManagedPtr info
-    return result
-
-
--- function g_interface_info_get_n_prerequisites
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_n_prerequisites" g_interface_info_get_n_prerequisites :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-interfaceInfoGetNPrerequisites ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-interfaceInfoGetNPrerequisites info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_n_prerequisites info'
-    touchManagedPtr info
-    return result
-
-
--- function g_interface_info_get_n_methods
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_n_methods" g_interface_info_get_n_methods :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-interfaceInfoGetNMethods ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-interfaceInfoGetNMethods info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_n_methods info'
-    touchManagedPtr info
-    return result
-
-
--- function g_interface_info_get_n_constants
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_n_constants" g_interface_info_get_n_constants :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-interfaceInfoGetNConstants ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-interfaceInfoGetNConstants info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_n_constants info'
-    touchManagedPtr info
-    return result
-
-
--- function g_interface_info_get_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_method" g_interface_info_get_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-interfaceInfoGetMethod info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_method info' n
-    checkUnexpectedReturnNULL "g_interface_info_get_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_get_iface_struct
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_iface_struct" g_interface_info_get_iface_struct :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetIfaceStruct ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-interfaceInfoGetIfaceStruct info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_iface_struct info'
-    checkUnexpectedReturnNULL "g_interface_info_get_iface_struct" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_get_constant
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_get_constant" g_interface_info_get_constant :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoGetConstant ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-interfaceInfoGetConstant info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_interface_info_get_constant info' n
-    checkUnexpectedReturnNULL "g_interface_info_get_constant" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_interface_info_find_vfunc
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_find_vfunc" g_interface_info_find_vfunc :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoFindVfunc ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-interfaceInfoFindVfunc info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_interface_info_find_vfunc info' name'
-    checkUnexpectedReturnNULL "g_interface_info_find_vfunc" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_interface_info_find_signal
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_find_signal" g_interface_info_find_signal :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoFindSignal ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-interfaceInfoFindSignal info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_interface_info_find_signal info' name'
-    checkUnexpectedReturnNULL "g_interface_info_find_signal" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_interface_info_find_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_interface_info_find_method" g_interface_info_find_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-interfaceInfoFindMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m BaseInfo
-interfaceInfoFindMethod info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_interface_info_find_method info' name'
-    checkUnexpectedReturnNULL "g_interface_info_find_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_info_type_to_string
--- Args : [Arg {argName = "type", argType = TInterface "GIRepository" "InfoType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "GIRepository" "InfoType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_info_type_to_string" g_info_type_to_string :: 
-    CUInt ->                                -- type : TInterface "GIRepository" "InfoType"
-    IO CString
-
-
-infoTypeToString ::
-    (MonadIO m) =>
-    InfoType ->                             -- type
-    m T.Text
-infoTypeToString type_ = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- g_info_type_to_string type_'
-    checkUnexpectedReturnNULL "g_info_type_to_string" result
-    result' <- cstringToText result
-    return result'
-
-
--- function g_info_new
--- Args : [Arg {argName = "type", argType = TInterface "GIRepository" "InfoType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "container", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "GIRepository" "InfoType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "container", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_info_new" g_info_new :: 
-    CUInt ->                                -- type : TInterface "GIRepository" "InfoType"
-    Ptr BaseInfo ->                         -- container : TInterface "GIRepository" "BaseInfo"
-    Ptr Typelib ->                          -- typelib : TInterface "GIRepository" "Typelib"
-    Word32 ->                               -- offset : TBasicType TUInt32
-    IO (Ptr BaseInfo)
-
-
-infoNew ::
-    (MonadIO m) =>
-    InfoType ->                             -- type
-    BaseInfo ->                             -- container
-    Typelib ->                              -- typelib
-    Word32 ->                               -- offset
-    m BaseInfo
-infoNew type_ container typelib offset = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    let container' = unsafeManagedPtrGetPtr container
-    let typelib' = unsafeManagedPtrGetPtr typelib
-    result <- g_info_new type_' container' typelib' offset
-    checkUnexpectedReturnNULL "g_info_new" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr container
-    touchManagedPtr typelib
-    return result'
-
-
--- function g_function_info_get_vfunc
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_function_info_get_vfunc" g_function_info_get_vfunc :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-functionInfoGetVfunc ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-functionInfoGetVfunc info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_function_info_get_vfunc info'
-    checkUnexpectedReturnNULL "g_function_info_get_vfunc" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_function_info_get_symbol
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_function_info_get_symbol" g_function_info_get_symbol :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-functionInfoGetSymbol ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-functionInfoGetSymbol info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_function_info_get_symbol info'
-    checkUnexpectedReturnNULL "g_function_info_get_symbol" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_function_info_get_property
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_function_info_get_property" g_function_info_get_property :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-functionInfoGetProperty ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-functionInfoGetProperty info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_function_info_get_property info'
-    checkUnexpectedReturnNULL "g_function_info_get_property" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_function_info_get_flags
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "FunctionInfoFlags"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_function_info_get_flags" g_function_info_get_flags :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-functionInfoGetFlags ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m [FunctionInfoFlags]
-functionInfoGetFlags info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_function_info_get_flags info'
-    let result' = wordToGFlags result
-    touchManagedPtr info
-    return result'
-
-
--- function g_field_info_get_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_field_info_get_type" g_field_info_get_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-fieldInfoGetType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-fieldInfoGetType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_field_info_get_type info'
-    checkUnexpectedReturnNULL "g_field_info_get_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_field_info_get_size
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_field_info_get_size" g_field_info_get_size :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-fieldInfoGetSize ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-fieldInfoGetSize info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_field_info_get_size info'
-    touchManagedPtr info
-    return result
-
-
--- function g_field_info_get_offset
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_field_info_get_offset" g_field_info_get_offset :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-fieldInfoGetOffset ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-fieldInfoGetOffset info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_field_info_get_offset info'
-    touchManagedPtr info
-    return result
-
-
--- function g_field_info_get_flags
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "FieldInfoFlags"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_field_info_get_flags" g_field_info_get_flags :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-fieldInfoGetFlags ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m [FieldInfoFlags]
-fieldInfoGetFlags info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_field_info_get_flags info'
-    let result' = wordToGFlags result
-    touchManagedPtr info
-    return result'
-
-
--- function g_enum_info_get_value
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_info_get_value" g_enum_info_get_value :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-enumInfoGetValue ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-enumInfoGetValue info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_enum_info_get_value info' n
-    checkUnexpectedReturnNULL "g_enum_info_get_value" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_enum_info_get_storage_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "TypeTag"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_info_get_storage_type" g_enum_info_get_storage_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-enumInfoGetStorageType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m TypeTag
-enumInfoGetStorageType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_enum_info_get_storage_type info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_enum_info_get_n_values
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_info_get_n_values" g_enum_info_get_n_values :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-enumInfoGetNValues ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-enumInfoGetNValues info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_enum_info_get_n_values info'
-    touchManagedPtr info
-    return result
-
-
--- function g_enum_info_get_n_methods
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_info_get_n_methods" g_enum_info_get_n_methods :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-enumInfoGetNMethods ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-enumInfoGetNMethods info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_enum_info_get_n_methods info'
-    touchManagedPtr info
-    return result
-
-
--- function g_enum_info_get_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_info_get_method" g_enum_info_get_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-enumInfoGetMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-enumInfoGetMethod info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_enum_info_get_method info' n
-    checkUnexpectedReturnNULL "g_enum_info_get_method" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_enum_info_get_error_domain
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_enum_info_get_error_domain" g_enum_info_get_error_domain :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-enumInfoGetErrorDomain ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m T.Text
-enumInfoGetErrorDomain info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_enum_info_get_error_domain info'
-    checkUnexpectedReturnNULL "g_enum_info_get_error_domain" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    return result'
-
-
--- function g_constant_info_get_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_constant_info_get_type" g_constant_info_get_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-constantInfoGetType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-constantInfoGetType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_constant_info_get_type info'
-    checkUnexpectedReturnNULL "g_constant_info_get_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_skip_return
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_skip_return" g_callable_info_skip_return :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-callableInfoSkipReturn ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-callableInfoSkipReturn info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_skip_return info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_may_return_null
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_may_return_null" g_callable_info_may_return_null :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-callableInfoMayReturnNull ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-callableInfoMayReturnNull info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_may_return_null info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_load_return_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_load_return_type" g_callable_info_load_return_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Ptr BaseInfo ->                         -- type : TInterface "GIRepository" "BaseInfo"
-    IO ()
-
-
-callableInfoLoadReturnType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m (BaseInfo)
-callableInfoLoadReturnType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    type_ <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
-    g_callable_info_load_return_type info' type_
-    type_' <- (wrapBoxed BaseInfo) type_
-    touchManagedPtr info
-    return type_'
-
-
--- function g_callable_info_load_arg
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "arg", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_load_arg" g_callable_info_load_arg :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    Ptr BaseInfo ->                         -- arg : TInterface "GIRepository" "BaseInfo"
-    IO ()
-
-
-callableInfoLoadArg ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m (BaseInfo)
-callableInfoLoadArg info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    arg <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
-    g_callable_info_load_arg info' n arg
-    arg' <- (wrapBoxed BaseInfo) arg
-    touchManagedPtr info
-    return arg'
-
-
--- function g_callable_info_iterate_return_attributes
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iterator", argType = TInterface "GIRepository" "AttributeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iterator", argType = TInterface "GIRepository" "AttributeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_iterate_return_attributes" g_callable_info_iterate_return_attributes :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Ptr AttributeIter ->                    -- iterator : TInterface "GIRepository" "AttributeIter"
-    Ptr CString ->                          -- name : TBasicType TUTF8
-    Ptr CString ->                          -- value : TBasicType TUTF8
-    IO CInt
-
-
-callableInfoIterateReturnAttributes ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    AttributeIter ->                        -- iterator
-    m (Bool,T.Text,T.Text)
-callableInfoIterateReturnAttributes info iterator = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    let iterator' = unsafeManagedPtrGetPtr iterator
-    name <- allocMem :: IO (Ptr CString)
-    value <- allocMem :: IO (Ptr CString)
-    result <- g_callable_info_iterate_return_attributes info' iterator' name value
-    let result' = (/= 0) result
-    name' <- peek name
-    name'' <- cstringToText name'
-    value' <- peek value
-    value'' <- cstringToText value'
-    touchManagedPtr info
-    touchManagedPtr iterator
-    freeMem name
-    freeMem value
-    return (result', name'', value'')
-
-
--- function g_callable_info_is_method
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_is_method" g_callable_info_is_method :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-callableInfoIsMethod ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-callableInfoIsMethod info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_is_method info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_invoke
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "in_args", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_in_args", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "out_args", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_out_args", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_method", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "throws", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "function", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "in_args", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_in_args", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "out_args", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_out_args", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "return_value", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_method", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "throws", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : True
--- Skip return : False
-
-foreign import ccall "g_callable_info_invoke" g_callable_info_invoke :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Ptr () ->                               -- function : TBasicType TVoid
-    Ptr Argument ->                         -- in_args : TInterface "GIRepository" "Argument"
-    Int32 ->                                -- n_in_args : TBasicType TInt32
-    Ptr Argument ->                         -- out_args : TInterface "GIRepository" "Argument"
-    Int32 ->                                -- n_out_args : TBasicType TInt32
-    Ptr Argument ->                         -- return_value : TInterface "GIRepository" "Argument"
-    CInt ->                                 -- is_method : TBasicType TBoolean
-    CInt ->                                 -- throws : TBasicType TBoolean
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-callableInfoInvoke ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Ptr () ->                               -- function
-    Argument ->                             -- in_args
-    Int32 ->                                -- n_in_args
-    Argument ->                             -- out_args
-    Int32 ->                                -- n_out_args
-    Argument ->                             -- return_value
-    Bool ->                                 -- is_method
-    Bool ->                                 -- throws
-    m ()
-callableInfoInvoke info function in_args n_in_args out_args n_out_args return_value is_method throws = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    let in_args' = unsafeManagedPtrGetPtr in_args
-    let out_args' = unsafeManagedPtrGetPtr out_args
-    let return_value' = unsafeManagedPtrGetPtr return_value
-    let is_method' = (fromIntegral . fromEnum) is_method
-    let throws' = (fromIntegral . fromEnum) throws
-    onException (do
-        _ <- propagateGError $ g_callable_info_invoke info' function in_args' n_in_args out_args' n_out_args return_value' is_method' throws'
-        touchManagedPtr info
-        touchManagedPtr in_args
-        touchManagedPtr out_args
-        touchManagedPtr return_value
-        return ()
-     ) (do
-        return ()
-     )
-
-
--- function g_callable_info_get_return_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_get_return_type" g_callable_info_get_return_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-callableInfoGetReturnType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-callableInfoGetReturnType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_get_return_type info'
-    checkUnexpectedReturnNULL "g_callable_info_get_return_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_get_return_attribute
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_get_return_attribute" g_callable_info_get_return_attribute :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO CString
-
-
-callableInfoGetReturnAttribute ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    T.Text ->                               -- name
-    m T.Text
-callableInfoGetReturnAttribute info name = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    name' <- textToCString name
-    result <- g_callable_info_get_return_attribute info' name'
-    checkUnexpectedReturnNULL "g_callable_info_get_return_attribute" result
-    result' <- cstringToText result
-    touchManagedPtr info
-    freeMem name'
-    return result'
-
-
--- function g_callable_info_get_n_args
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_get_n_args" g_callable_info_get_n_args :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-callableInfoGetNArgs ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-callableInfoGetNArgs info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_get_n_args info'
-    touchManagedPtr info
-    return result
-
-
--- function g_callable_info_get_instance_ownership_transfer
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "Transfer"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_get_instance_ownership_transfer" g_callable_info_get_instance_ownership_transfer :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-callableInfoGetInstanceOwnershipTransfer ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Transfer
-callableInfoGetInstanceOwnershipTransfer info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_get_instance_ownership_transfer info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_get_caller_owns
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "Transfer"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_get_caller_owns" g_callable_info_get_caller_owns :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-callableInfoGetCallerOwns ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Transfer
-callableInfoGetCallerOwns info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_get_caller_owns info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_get_arg
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_get_arg" g_callable_info_get_arg :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Int32 ->                                -- n : TBasicType TInt32
-    IO (Ptr BaseInfo)
-
-
-callableInfoGetArg ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    Int32 ->                                -- n
-    m BaseInfo
-callableInfoGetArg info n = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_get_arg info' n
-    checkUnexpectedReturnNULL "g_callable_info_get_arg" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_callable_info_can_throw_gerror
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_callable_info_can_throw_gerror" g_callable_info_can_throw_gerror :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-callableInfoCanThrowGerror ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-callableInfoCanThrowGerror info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_callable_info_can_throw_gerror info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_may_be_null
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_may_be_null" g_arg_info_may_be_null :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-argInfoMayBeNull ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-argInfoMayBeNull info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_may_be_null info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_load_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_load_type" g_arg_info_load_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    Ptr BaseInfo ->                         -- type : TInterface "GIRepository" "BaseInfo"
-    IO ()
-
-
-argInfoLoadType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m (BaseInfo)
-argInfoLoadType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    type_ <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
-    g_arg_info_load_type info' type_
-    type_' <- (wrapBoxed BaseInfo) type_
-    touchManagedPtr info
-    return type_'
-
-
--- function g_arg_info_is_skip
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_is_skip" g_arg_info_is_skip :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-argInfoIsSkip ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-argInfoIsSkip info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_is_skip info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_is_return_value
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_is_return_value" g_arg_info_is_return_value :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-argInfoIsReturnValue ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-argInfoIsReturnValue info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_is_return_value info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_is_optional
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_is_optional" g_arg_info_is_optional :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-argInfoIsOptional ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-argInfoIsOptional info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_is_optional info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_is_caller_allocates
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TBoolean
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_is_caller_allocates" g_arg_info_is_caller_allocates :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-argInfoIsCallerAllocates ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Bool
-argInfoIsCallerAllocates info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_is_caller_allocates info'
-    let result' = (/= 0) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_get_type
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "BaseInfo"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_get_type" g_arg_info_get_type :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-argInfoGetType ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m BaseInfo
-argInfoGetType info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_get_type info'
-    checkUnexpectedReturnNULL "g_arg_info_get_type" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_get_scope
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "ScopeType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_get_scope" g_arg_info_get_scope :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-argInfoGetScope ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m ScopeType
-argInfoGetScope info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_get_scope info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_get_ownership_transfer
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "Transfer"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_get_ownership_transfer" g_arg_info_get_ownership_transfer :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-argInfoGetOwnershipTransfer ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Transfer
-argInfoGetOwnershipTransfer info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_get_ownership_transfer info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_get_direction
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "GIRepository" "Direction"
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_get_direction" g_arg_info_get_direction :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-argInfoGetDirection ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Direction
-argInfoGetDirection info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_get_direction info'
-    let result' = (toEnum . fromIntegral) result
-    touchManagedPtr info
-    return result'
-
-
--- function g_arg_info_get_destroy
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_get_destroy" g_arg_info_get_destroy :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-argInfoGetDestroy ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
-argInfoGetDestroy info = liftIO $ do
-    let info' = unsafeManagedPtrGetPtr info
-    result <- g_arg_info_get_destroy info'
-    touchManagedPtr info
-    return result
-
-
--- function g_arg_info_get_closure
--- Args : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TInt32
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_arg_info_get_closure" g_arg_info_get_closure :: 
-    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
-    IO Int32
-
-
-argInfoGetClosure ::
-    (MonadIO m) =>
-    BaseInfo ->                             -- info
-    m Int32
+
+{- |
+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.GIRepository.Functions
+    ( 
+
+ -- * Methods
+-- ** argInfoGetClosure
+    argInfoGetClosure                       ,
+
+
+-- ** argInfoGetDestroy
+    argInfoGetDestroy                       ,
+
+
+-- ** argInfoGetDirection
+    argInfoGetDirection                     ,
+
+
+-- ** argInfoGetOwnershipTransfer
+    argInfoGetOwnershipTransfer             ,
+
+
+-- ** argInfoGetScope
+    argInfoGetScope                         ,
+
+
+-- ** argInfoGetType
+    argInfoGetType                          ,
+
+
+-- ** argInfoIsCallerAllocates
+    argInfoIsCallerAllocates                ,
+
+
+-- ** argInfoIsOptional
+    argInfoIsOptional                       ,
+
+
+-- ** argInfoIsReturnValue
+    argInfoIsReturnValue                    ,
+
+
+-- ** argInfoIsSkip
+    argInfoIsSkip                           ,
+
+
+-- ** argInfoLoadType
+    argInfoLoadType                         ,
+
+
+-- ** argInfoMayBeNull
+    argInfoMayBeNull                        ,
+
+
+-- ** callableInfoCanThrowGerror
+    callableInfoCanThrowGerror              ,
+
+
+-- ** callableInfoGetArg
+    callableInfoGetArg                      ,
+
+
+-- ** callableInfoGetCallerOwns
+    callableInfoGetCallerOwns               ,
+
+
+-- ** callableInfoGetInstanceOwnershipTransfer
+    callableInfoGetInstanceOwnershipTransfer,
+
+
+-- ** callableInfoGetNArgs
+    callableInfoGetNArgs                    ,
+
+
+-- ** callableInfoGetReturnAttribute
+    callableInfoGetReturnAttribute          ,
+
+
+-- ** callableInfoGetReturnType
+    callableInfoGetReturnType               ,
+
+
+-- ** callableInfoInvoke
+    callableInfoInvoke                      ,
+
+
+-- ** callableInfoIsMethod
+    callableInfoIsMethod                    ,
+
+
+-- ** callableInfoIterateReturnAttributes
+    callableInfoIterateReturnAttributes     ,
+
+
+-- ** callableInfoLoadArg
+    callableInfoLoadArg                     ,
+
+
+-- ** callableInfoLoadReturnType
+    callableInfoLoadReturnType              ,
+
+
+-- ** callableInfoMayReturnNull
+    callableInfoMayReturnNull               ,
+
+
+-- ** callableInfoSkipReturn
+    callableInfoSkipReturn                  ,
+
+
+-- ** constantInfoGetType
+    constantInfoGetType                     ,
+
+
+-- ** enumInfoGetErrorDomain
+    enumInfoGetErrorDomain                  ,
+
+
+-- ** enumInfoGetMethod
+    enumInfoGetMethod                       ,
+
+
+-- ** enumInfoGetNMethods
+    enumInfoGetNMethods                     ,
+
+
+-- ** enumInfoGetNValues
+    enumInfoGetNValues                      ,
+
+
+-- ** enumInfoGetStorageType
+    enumInfoGetStorageType                  ,
+
+
+-- ** enumInfoGetValue
+    enumInfoGetValue                        ,
+
+
+-- ** fieldInfoGetFlags
+    fieldInfoGetFlags                       ,
+
+
+-- ** fieldInfoGetOffset
+    fieldInfoGetOffset                      ,
+
+
+-- ** fieldInfoGetSize
+    fieldInfoGetSize                        ,
+
+
+-- ** fieldInfoGetType
+    fieldInfoGetType                        ,
+
+
+-- ** functionInfoGetFlags
+    functionInfoGetFlags                    ,
+
+
+-- ** functionInfoGetProperty
+    functionInfoGetProperty                 ,
+
+
+-- ** functionInfoGetSymbol
+    functionInfoGetSymbol                   ,
+
+
+-- ** functionInfoGetVfunc
+    functionInfoGetVfunc                    ,
+
+
+-- ** infoNew
+    infoNew                                 ,
+
+
+-- ** infoTypeToString
+    infoTypeToString                        ,
+
+
+-- ** interfaceInfoFindMethod
+    interfaceInfoFindMethod                 ,
+
+
+-- ** interfaceInfoFindSignal
+    interfaceInfoFindSignal                 ,
+
+
+-- ** interfaceInfoFindVfunc
+    interfaceInfoFindVfunc                  ,
+
+
+-- ** interfaceInfoGetConstant
+    interfaceInfoGetConstant                ,
+
+
+-- ** interfaceInfoGetIfaceStruct
+    interfaceInfoGetIfaceStruct             ,
+
+
+-- ** interfaceInfoGetMethod
+    interfaceInfoGetMethod                  ,
+
+
+-- ** interfaceInfoGetNConstants
+    interfaceInfoGetNConstants              ,
+
+
+-- ** interfaceInfoGetNMethods
+    interfaceInfoGetNMethods                ,
+
+
+-- ** interfaceInfoGetNPrerequisites
+    interfaceInfoGetNPrerequisites          ,
+
+
+-- ** interfaceInfoGetNProperties
+    interfaceInfoGetNProperties             ,
+
+
+-- ** interfaceInfoGetNSignals
+    interfaceInfoGetNSignals                ,
+
+
+-- ** interfaceInfoGetNVfuncs
+    interfaceInfoGetNVfuncs                 ,
+
+
+-- ** interfaceInfoGetPrerequisite
+    interfaceInfoGetPrerequisite            ,
+
+
+-- ** interfaceInfoGetProperty
+    interfaceInfoGetProperty                ,
+
+
+-- ** interfaceInfoGetSignal
+    interfaceInfoGetSignal                  ,
+
+
+-- ** interfaceInfoGetVfunc
+    interfaceInfoGetVfunc                   ,
+
+
+-- ** invokeErrorQuark
+    invokeErrorQuark                        ,
+
+
+-- ** objectInfoFindMethod
+    objectInfoFindMethod                    ,
+
+
+-- ** objectInfoFindMethodUsingInterfaces
+    objectInfoFindMethodUsingInterfaces     ,
+
+
+-- ** objectInfoFindSignal
+    objectInfoFindSignal                    ,
+
+
+-- ** objectInfoFindVfunc
+    objectInfoFindVfunc                     ,
+
+
+-- ** objectInfoFindVfuncUsingInterfaces
+    objectInfoFindVfuncUsingInterfaces      ,
+
+
+-- ** objectInfoGetAbstract
+    objectInfoGetAbstract                   ,
+
+
+-- ** objectInfoGetClassStruct
+    objectInfoGetClassStruct                ,
+
+
+-- ** objectInfoGetConstant
+    objectInfoGetConstant                   ,
+
+
+-- ** objectInfoGetField
+    objectInfoGetField                      ,
+
+
+-- ** objectInfoGetFundamental
+    objectInfoGetFundamental                ,
+
+
+-- ** objectInfoGetGetValueFunction
+    objectInfoGetGetValueFunction           ,
+
+
+-- ** objectInfoGetInterface
+    objectInfoGetInterface                  ,
+
+
+-- ** objectInfoGetMethod
+    objectInfoGetMethod                     ,
+
+
+-- ** objectInfoGetNConstants
+    objectInfoGetNConstants                 ,
+
+
+-- ** objectInfoGetNFields
+    objectInfoGetNFields                    ,
+
+
+-- ** objectInfoGetNInterfaces
+    objectInfoGetNInterfaces                ,
+
+
+-- ** objectInfoGetNMethods
+    objectInfoGetNMethods                   ,
+
+
+-- ** objectInfoGetNProperties
+    objectInfoGetNProperties                ,
+
+
+-- ** objectInfoGetNSignals
+    objectInfoGetNSignals                   ,
+
+
+-- ** objectInfoGetNVfuncs
+    objectInfoGetNVfuncs                    ,
+
+
+-- ** objectInfoGetParent
+    objectInfoGetParent                     ,
+
+
+-- ** objectInfoGetProperty
+    objectInfoGetProperty                   ,
+
+
+-- ** objectInfoGetRefFunction
+    objectInfoGetRefFunction                ,
+
+
+-- ** objectInfoGetSetValueFunction
+    objectInfoGetSetValueFunction           ,
+
+
+-- ** objectInfoGetSignal
+    objectInfoGetSignal                     ,
+
+
+-- ** objectInfoGetTypeInit
+    objectInfoGetTypeInit                   ,
+
+
+-- ** objectInfoGetTypeName
+    objectInfoGetTypeName                   ,
+
+
+-- ** objectInfoGetUnrefFunction
+    objectInfoGetUnrefFunction              ,
+
+
+-- ** objectInfoGetVfunc
+    objectInfoGetVfunc                      ,
+
+
+-- ** propertyInfoGetFlags
+    propertyInfoGetFlags                    ,
+
+
+-- ** propertyInfoGetOwnershipTransfer
+    propertyInfoGetOwnershipTransfer        ,
+
+
+-- ** propertyInfoGetType
+    propertyInfoGetType                     ,
+
+
+-- ** registeredTypeInfoGetGType
+    registeredTypeInfoGetGType              ,
+
+
+-- ** registeredTypeInfoGetTypeInit
+    registeredTypeInfoGetTypeInit           ,
+
+
+-- ** registeredTypeInfoGetTypeName
+    registeredTypeInfoGetTypeName           ,
+
+
+-- ** signalInfoGetClassClosure
+    signalInfoGetClassClosure               ,
+
+
+-- ** signalInfoGetFlags
+    signalInfoGetFlags                      ,
+
+
+-- ** signalInfoTrueStopsEmit
+    signalInfoTrueStopsEmit                 ,
+
+
+-- ** structInfoFindField
+    structInfoFindField                     ,
+
+
+-- ** structInfoFindMethod
+    structInfoFindMethod                    ,
+
+
+-- ** structInfoGetAlignment
+    structInfoGetAlignment                  ,
+
+
+-- ** structInfoGetField
+    structInfoGetField                      ,
+
+
+-- ** structInfoGetMethod
+    structInfoGetMethod                     ,
+
+
+-- ** structInfoGetNFields
+    structInfoGetNFields                    ,
+
+
+-- ** structInfoGetNMethods
+    structInfoGetNMethods                   ,
+
+
+-- ** structInfoGetSize
+    structInfoGetSize                       ,
+
+
+-- ** structInfoIsForeign
+    structInfoIsForeign                     ,
+
+
+-- ** structInfoIsGtypeStruct
+    structInfoIsGtypeStruct                 ,
+
+
+-- ** typeInfoGetArrayFixedSize
+    typeInfoGetArrayFixedSize               ,
+
+
+-- ** typeInfoGetArrayLength
+    typeInfoGetArrayLength                  ,
+
+
+-- ** typeInfoGetArrayType
+    typeInfoGetArrayType                    ,
+
+
+-- ** typeInfoGetInterface
+    typeInfoGetInterface                    ,
+
+
+-- ** typeInfoGetParamType
+    typeInfoGetParamType                    ,
+
+
+-- ** typeInfoGetTag
+    typeInfoGetTag                          ,
+
+
+-- ** typeInfoIsPointer
+    typeInfoIsPointer                       ,
+
+
+-- ** typeInfoIsZeroTerminated
+    typeInfoIsZeroTerminated                ,
+
+
+-- ** typeTagToString
+    typeTagToString                         ,
+
+
+-- ** unionInfoFindMethod
+    unionInfoFindMethod                     ,
+
+
+-- ** unionInfoGetAlignment
+    unionInfoGetAlignment                   ,
+
+
+-- ** unionInfoGetDiscriminator
+    unionInfoGetDiscriminator               ,
+
+
+-- ** unionInfoGetDiscriminatorOffset
+    unionInfoGetDiscriminatorOffset         ,
+
+
+-- ** unionInfoGetDiscriminatorType
+    unionInfoGetDiscriminatorType           ,
+
+
+-- ** unionInfoGetField
+    unionInfoGetField                       ,
+
+
+-- ** unionInfoGetMethod
+    unionInfoGetMethod                      ,
+
+
+-- ** unionInfoGetNFields
+    unionInfoGetNFields                     ,
+
+
+-- ** unionInfoGetNMethods
+    unionInfoGetNMethods                    ,
+
+
+-- ** unionInfoGetSize
+    unionInfoGetSize                        ,
+
+
+-- ** unionInfoIsDiscriminated
+    unionInfoIsDiscriminated                ,
+
+
+-- ** valueInfoGetValue
+    valueInfoGetValue                       ,
+
+
+-- ** vfuncInfoGetFlags
+    vfuncInfoGetFlags                       ,
+
+
+-- ** vfuncInfoGetInvoker
+    vfuncInfoGetInvoker                     ,
+
+
+-- ** vfuncInfoGetOffset
+    vfuncInfoGetOffset                      ,
+
+
+-- ** vfuncInfoGetSignal
+    vfuncInfoGetSignal                      ,
+
+
+
+
+    ) where
+
+import Prelude ()
+import Data.GI.Base.ShortPrelude
+
+import qualified Data.Text as T
+import qualified Data.ByteString.Char8 as B
+import qualified Data.Map as Map
+
+import GI.GIRepository.Types
+import GI.GIRepository.Callbacks
+import qualified GI.GObject as GObject
+
+-- function g_vfunc_info_get_signal
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_vfunc_info_get_signal" g_vfunc_info_get_signal :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+vfuncInfoGetSignal ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+vfuncInfoGetSignal info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_vfunc_info_get_signal info'
+    checkUnexpectedReturnNULL "g_vfunc_info_get_signal" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_vfunc_info_get_offset
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_vfunc_info_get_offset" g_vfunc_info_get_offset :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+vfuncInfoGetOffset ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+vfuncInfoGetOffset info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_vfunc_info_get_offset info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_vfunc_info_get_invoker
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_vfunc_info_get_invoker" g_vfunc_info_get_invoker :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+vfuncInfoGetInvoker ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+vfuncInfoGetInvoker info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_vfunc_info_get_invoker info'
+    checkUnexpectedReturnNULL "g_vfunc_info_get_invoker" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_vfunc_info_get_flags
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "VFuncInfoFlags"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_vfunc_info_get_flags" g_vfunc_info_get_flags :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+vfuncInfoGetFlags ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m [VFuncInfoFlags]                   -- result
+vfuncInfoGetFlags info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_vfunc_info_get_flags info'
+    let result' = wordToGFlags result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_value_info_get_value
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_value_info_get_value" g_value_info_get_value :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int64
+
+
+valueInfoGetValue ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int64                              -- result
+valueInfoGetValue info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_value_info_get_value info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_union_info_is_discriminated
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_is_discriminated" g_union_info_is_discriminated :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+unionInfoIsDiscriminated ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+unionInfoIsDiscriminated info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_is_discriminated info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_union_info_get_size
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_size" g_union_info_get_size :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Word64
+
+
+unionInfoGetSize ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Word64                             -- result
+unionInfoGetSize info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_size info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_union_info_get_n_methods
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_n_methods" g_union_info_get_n_methods :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+unionInfoGetNMethods ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+unionInfoGetNMethods info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_n_methods info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_union_info_get_n_fields
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_n_fields" g_union_info_get_n_fields :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+unionInfoGetNFields ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+unionInfoGetNFields info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_n_fields info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_union_info_get_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_method" g_union_info_get_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+unionInfoGetMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+unionInfoGetMethod info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_method info' n
+    checkUnexpectedReturnNULL "g_union_info_get_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_union_info_get_field
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_field" g_union_info_get_field :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+unionInfoGetField ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+unionInfoGetField info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_field info' n
+    checkUnexpectedReturnNULL "g_union_info_get_field" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_union_info_get_discriminator_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_discriminator_type" g_union_info_get_discriminator_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+unionInfoGetDiscriminatorType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+unionInfoGetDiscriminatorType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_discriminator_type info'
+    checkUnexpectedReturnNULL "g_union_info_get_discriminator_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_union_info_get_discriminator_offset
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_discriminator_offset" g_union_info_get_discriminator_offset :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+unionInfoGetDiscriminatorOffset ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+unionInfoGetDiscriminatorOffset info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_discriminator_offset info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_union_info_get_discriminator
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_discriminator" g_union_info_get_discriminator :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+unionInfoGetDiscriminator ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+unionInfoGetDiscriminator info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_discriminator info' n
+    checkUnexpectedReturnNULL "g_union_info_get_discriminator" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_union_info_get_alignment
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_get_alignment" g_union_info_get_alignment :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Word64
+
+
+unionInfoGetAlignment ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Word64                             -- result
+unionInfoGetAlignment info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_union_info_get_alignment info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_union_info_find_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_union_info_find_method" g_union_info_find_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+unionInfoFindMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+unionInfoFindMethod info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_union_info_find_method info' name'
+    checkUnexpectedReturnNULL "g_union_info_find_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_type_tag_to_string
+-- Args : [Arg {argCName = "type", argType = TInterface "GIRepository" "TypeTag", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_tag_to_string" g_type_tag_to_string :: 
+    CUInt ->                                -- type : TInterface "GIRepository" "TypeTag"
+    IO CString
+
+
+typeTagToString ::
+    (MonadIO m) =>
+    TypeTag                                 -- type_
+    -> m T.Text                             -- result
+typeTagToString type_ = liftIO $ do
+    let type_' = (fromIntegral . fromEnum) type_
+    result <- g_type_tag_to_string type_'
+    checkUnexpectedReturnNULL "g_type_tag_to_string" result
+    result' <- cstringToText result
+    return result'
+
+
+-- function g_type_info_is_zero_terminated
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_is_zero_terminated" g_type_info_is_zero_terminated :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+typeInfoIsZeroTerminated ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+typeInfoIsZeroTerminated info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_is_zero_terminated info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_type_info_is_pointer
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_is_pointer" g_type_info_is_pointer :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+typeInfoIsPointer ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+typeInfoIsPointer info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_is_pointer info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_type_info_get_tag
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "TypeTag"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_get_tag" g_type_info_get_tag :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+typeInfoGetTag ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m TypeTag                            -- result
+typeInfoGetTag info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_get_tag info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_type_info_get_param_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_get_param_type" g_type_info_get_param_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+typeInfoGetParamType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+typeInfoGetParamType info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_get_param_type info' n
+    checkUnexpectedReturnNULL "g_type_info_get_param_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_type_info_get_interface
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_get_interface" g_type_info_get_interface :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+typeInfoGetInterface ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+typeInfoGetInterface info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_get_interface info'
+    checkUnexpectedReturnNULL "g_type_info_get_interface" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_type_info_get_array_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "ArrayType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_get_array_type" g_type_info_get_array_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+typeInfoGetArrayType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m ArrayType                          -- result
+typeInfoGetArrayType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_get_array_type info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_type_info_get_array_length
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_get_array_length" g_type_info_get_array_length :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+typeInfoGetArrayLength ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+typeInfoGetArrayLength info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_get_array_length info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_type_info_get_array_fixed_size
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_type_info_get_array_fixed_size" g_type_info_get_array_fixed_size :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+typeInfoGetArrayFixedSize ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+typeInfoGetArrayFixedSize info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_type_info_get_array_fixed_size info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_struct_info_is_gtype_struct
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_is_gtype_struct" g_struct_info_is_gtype_struct :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+structInfoIsGtypeStruct ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+structInfoIsGtypeStruct info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_is_gtype_struct info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_struct_info_is_foreign
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_is_foreign" g_struct_info_is_foreign :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+structInfoIsForeign ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+structInfoIsForeign info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_is_foreign info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_struct_info_get_size
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_get_size" g_struct_info_get_size :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Word64
+
+
+structInfoGetSize ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Word64                             -- result
+structInfoGetSize info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_get_size info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_struct_info_get_n_methods
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_get_n_methods" g_struct_info_get_n_methods :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+structInfoGetNMethods ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+structInfoGetNMethods info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_get_n_methods info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_struct_info_get_n_fields
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_get_n_fields" g_struct_info_get_n_fields :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+structInfoGetNFields ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+structInfoGetNFields info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_get_n_fields info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_struct_info_get_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_get_method" g_struct_info_get_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+structInfoGetMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+structInfoGetMethod info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_get_method info' n
+    checkUnexpectedReturnNULL "g_struct_info_get_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_struct_info_get_field
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_get_field" g_struct_info_get_field :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+structInfoGetField ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+structInfoGetField info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_get_field info' n
+    checkUnexpectedReturnNULL "g_struct_info_get_field" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_struct_info_get_alignment
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUInt64
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_get_alignment" g_struct_info_get_alignment :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Word64
+
+
+structInfoGetAlignment ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Word64                             -- result
+structInfoGetAlignment info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_struct_info_get_alignment info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_struct_info_find_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_find_method" g_struct_info_find_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+structInfoFindMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+structInfoFindMethod info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_struct_info_find_method info' name'
+    checkUnexpectedReturnNULL "g_struct_info_find_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_struct_info_find_field
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_struct_info_find_field" g_struct_info_find_field :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+structInfoFindField ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+structInfoFindField info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_struct_info_find_field info' name'
+    checkUnexpectedReturnNULL "g_struct_info_find_field" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_signal_info_true_stops_emit
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_signal_info_true_stops_emit" g_signal_info_true_stops_emit :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+signalInfoTrueStopsEmit ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+signalInfoTrueStopsEmit info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_signal_info_true_stops_emit info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_signal_info_get_flags
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GObject" "SignalFlags"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_signal_info_get_flags" g_signal_info_get_flags :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+signalInfoGetFlags ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m [GObject.SignalFlags]              -- result
+signalInfoGetFlags info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_signal_info_get_flags info'
+    let result' = wordToGFlags result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_signal_info_get_class_closure
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_signal_info_get_class_closure" g_signal_info_get_class_closure :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+signalInfoGetClassClosure ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+signalInfoGetClassClosure info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_signal_info_get_class_closure info'
+    checkUnexpectedReturnNULL "g_signal_info_get_class_closure" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_registered_type_info_get_type_name
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_registered_type_info_get_type_name" g_registered_type_info_get_type_name :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+registeredTypeInfoGetTypeName ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+registeredTypeInfoGetTypeName info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_registered_type_info_get_type_name info'
+    checkUnexpectedReturnNULL "g_registered_type_info_get_type_name" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_registered_type_info_get_type_init
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_registered_type_info_get_type_init" g_registered_type_info_get_type_init :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+registeredTypeInfoGetTypeInit ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+registeredTypeInfoGetTypeInit info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_registered_type_info_get_type_init info'
+    checkUnexpectedReturnNULL "g_registered_type_info_get_type_init" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_registered_type_info_get_g_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TGType
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_registered_type_info_get_g_type" g_registered_type_info_get_g_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CGType
+
+
+registeredTypeInfoGetGType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m GType                              -- result
+registeredTypeInfoGetGType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_registered_type_info_get_g_type info'
+    let result' = GType result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_property_info_get_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_property_info_get_type" g_property_info_get_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+propertyInfoGetType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+propertyInfoGetType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_property_info_get_type info'
+    checkUnexpectedReturnNULL "g_property_info_get_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_property_info_get_ownership_transfer
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "Transfer"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_property_info_get_ownership_transfer" g_property_info_get_ownership_transfer :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+propertyInfoGetOwnershipTransfer ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Transfer                           -- result
+propertyInfoGetOwnershipTransfer info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_property_info_get_ownership_transfer info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_property_info_get_flags
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GObject" "ParamFlags"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_property_info_get_flags" g_property_info_get_flags :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+propertyInfoGetFlags ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m [GObject.ParamFlags]               -- result
+propertyInfoGetFlags info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_property_info_get_flags info'
+    let result' = wordToGFlags result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_vfunc
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_vfunc" g_object_info_get_vfunc :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetVfunc ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetVfunc info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_vfunc info' n
+    checkUnexpectedReturnNULL "g_object_info_get_vfunc" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_unref_function
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_unref_function" g_object_info_get_unref_function :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+objectInfoGetUnrefFunction ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+objectInfoGetUnrefFunction info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_unref_function info'
+    checkUnexpectedReturnNULL "g_object_info_get_unref_function" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_type_name
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_type_name" g_object_info_get_type_name :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+objectInfoGetTypeName ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+objectInfoGetTypeName info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_type_name info'
+    checkUnexpectedReturnNULL "g_object_info_get_type_name" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_type_init
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_type_init" g_object_info_get_type_init :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+objectInfoGetTypeInit ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+objectInfoGetTypeInit info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_type_init info'
+    checkUnexpectedReturnNULL "g_object_info_get_type_init" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_signal
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_signal" g_object_info_get_signal :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetSignal ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetSignal info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_signal info' n
+    checkUnexpectedReturnNULL "g_object_info_get_signal" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_set_value_function
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_set_value_function" g_object_info_get_set_value_function :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+objectInfoGetSetValueFunction ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+objectInfoGetSetValueFunction info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_set_value_function info'
+    checkUnexpectedReturnNULL "g_object_info_get_set_value_function" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_ref_function
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_ref_function" g_object_info_get_ref_function :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+objectInfoGetRefFunction ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+objectInfoGetRefFunction info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_ref_function info'
+    checkUnexpectedReturnNULL "g_object_info_get_ref_function" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_property
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_property" g_object_info_get_property :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetProperty ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetProperty info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_property info' n
+    checkUnexpectedReturnNULL "g_object_info_get_property" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_parent
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_parent" g_object_info_get_parent :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetParent ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+objectInfoGetParent info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_parent info'
+    checkUnexpectedReturnNULL "g_object_info_get_parent" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_n_vfuncs
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_vfuncs" g_object_info_get_n_vfuncs :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNVfuncs ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNVfuncs info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_vfuncs info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_n_signals
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_signals" g_object_info_get_n_signals :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNSignals ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNSignals info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_signals info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_n_properties
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_properties" g_object_info_get_n_properties :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNProperties ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNProperties info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_properties info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_n_methods
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_methods" g_object_info_get_n_methods :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNMethods ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNMethods info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_methods info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_n_interfaces
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_interfaces" g_object_info_get_n_interfaces :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNInterfaces ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNInterfaces info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_interfaces info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_n_fields
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_fields" g_object_info_get_n_fields :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNFields ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNFields info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_fields info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_n_constants
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_n_constants" g_object_info_get_n_constants :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+objectInfoGetNConstants ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+objectInfoGetNConstants info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_n_constants info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_object_info_get_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_method" g_object_info_get_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetMethod info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_method info' n
+    checkUnexpectedReturnNULL "g_object_info_get_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_interface
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_interface" g_object_info_get_interface :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetInterface ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetInterface info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_interface info' n
+    checkUnexpectedReturnNULL "g_object_info_get_interface" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_get_value_function
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_get_value_function" g_object_info_get_get_value_function :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+objectInfoGetGetValueFunction ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+objectInfoGetGetValueFunction info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_get_value_function info'
+    checkUnexpectedReturnNULL "g_object_info_get_get_value_function" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_fundamental
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_fundamental" g_object_info_get_fundamental :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+objectInfoGetFundamental ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+objectInfoGetFundamental info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_fundamental info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_field
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_field" g_object_info_get_field :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetField ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetField info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_field info' n
+    checkUnexpectedReturnNULL "g_object_info_get_field" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_constant
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_constant" g_object_info_get_constant :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetConstant ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+objectInfoGetConstant info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_constant info' n
+    checkUnexpectedReturnNULL "g_object_info_get_constant" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_class_struct
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_class_struct" g_object_info_get_class_struct :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+objectInfoGetClassStruct ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+objectInfoGetClassStruct info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_class_struct info'
+    checkUnexpectedReturnNULL "g_object_info_get_class_struct" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_get_abstract
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_get_abstract" g_object_info_get_abstract :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+objectInfoGetAbstract ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+objectInfoGetAbstract info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_object_info_get_abstract info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_object_info_find_vfunc_using_interfaces
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 = "implementor", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_find_vfunc_using_interfaces" g_object_info_find_vfunc_using_interfaces :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr BaseInfo ->                         -- implementor : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+objectInfoFindVfuncUsingInterfaces ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m (BaseInfo,BaseInfo)                -- result
+objectInfoFindVfuncUsingInterfaces info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    implementor <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
+    result <- g_object_info_find_vfunc_using_interfaces info' name' implementor
+    checkUnexpectedReturnNULL "g_object_info_find_vfunc_using_interfaces" result
+    result' <- (wrapBoxed BaseInfo) result
+    implementor' <- (wrapBoxed BaseInfo) implementor
+    touchManagedPtr info
+    freeMem name'
+    return (result', implementor')
+
+
+-- function g_object_info_find_vfunc
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_find_vfunc" g_object_info_find_vfunc :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+objectInfoFindVfunc ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+objectInfoFindVfunc info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_object_info_find_vfunc info' name'
+    checkUnexpectedReturnNULL "g_object_info_find_vfunc" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_object_info_find_signal
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_find_signal" g_object_info_find_signal :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+objectInfoFindSignal ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+objectInfoFindSignal info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_object_info_find_signal info' name'
+    checkUnexpectedReturnNULL "g_object_info_find_signal" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_object_info_find_method_using_interfaces
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 = "implementor", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_find_method_using_interfaces" g_object_info_find_method_using_interfaces :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    Ptr BaseInfo ->                         -- implementor : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+objectInfoFindMethodUsingInterfaces ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m (BaseInfo,BaseInfo)                -- result
+objectInfoFindMethodUsingInterfaces info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    implementor <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
+    result <- g_object_info_find_method_using_interfaces info' name' implementor
+    checkUnexpectedReturnNULL "g_object_info_find_method_using_interfaces" result
+    result' <- (wrapBoxed BaseInfo) result
+    implementor' <- (wrapBoxed BaseInfo) implementor
+    touchManagedPtr info
+    freeMem name'
+    return (result', implementor')
+
+
+-- function g_object_info_find_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_object_info_find_method" g_object_info_find_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+objectInfoFindMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+objectInfoFindMethod info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_object_info_find_method info' name'
+    checkUnexpectedReturnNULL "g_object_info_find_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_invoke_error_quark
+-- Args : []
+-- Lengths : []
+-- returnType : TBasicType TUInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_invoke_error_quark" g_invoke_error_quark :: 
+    IO Word32
+
+
+invokeErrorQuark ::
+    (MonadIO m) =>
+    m Word32                                -- result
+invokeErrorQuark  = liftIO $ do
+    result <- g_invoke_error_quark
+    return result
+
+
+-- function g_interface_info_get_vfunc
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_vfunc" g_interface_info_get_vfunc :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetVfunc ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+interfaceInfoGetVfunc info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_vfunc info' n
+    checkUnexpectedReturnNULL "g_interface_info_get_vfunc" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_get_signal
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_signal" g_interface_info_get_signal :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetSignal ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+interfaceInfoGetSignal info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_signal info' n
+    checkUnexpectedReturnNULL "g_interface_info_get_signal" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_get_property
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_property" g_interface_info_get_property :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetProperty ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+interfaceInfoGetProperty info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_property info' n
+    checkUnexpectedReturnNULL "g_interface_info_get_property" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_get_prerequisite
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_prerequisite" g_interface_info_get_prerequisite :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetPrerequisite ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+interfaceInfoGetPrerequisite info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_prerequisite info' n
+    checkUnexpectedReturnNULL "g_interface_info_get_prerequisite" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_get_n_vfuncs
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_n_vfuncs" g_interface_info_get_n_vfuncs :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+interfaceInfoGetNVfuncs ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+interfaceInfoGetNVfuncs info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_n_vfuncs info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_interface_info_get_n_signals
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_n_signals" g_interface_info_get_n_signals :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+interfaceInfoGetNSignals ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+interfaceInfoGetNSignals info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_n_signals info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_interface_info_get_n_properties
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_n_properties" g_interface_info_get_n_properties :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+interfaceInfoGetNProperties ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+interfaceInfoGetNProperties info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_n_properties info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_interface_info_get_n_prerequisites
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_n_prerequisites" g_interface_info_get_n_prerequisites :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+interfaceInfoGetNPrerequisites ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+interfaceInfoGetNPrerequisites info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_n_prerequisites info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_interface_info_get_n_methods
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_n_methods" g_interface_info_get_n_methods :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+interfaceInfoGetNMethods ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+interfaceInfoGetNMethods info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_n_methods info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_interface_info_get_n_constants
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_n_constants" g_interface_info_get_n_constants :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+interfaceInfoGetNConstants ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+interfaceInfoGetNConstants info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_n_constants info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_interface_info_get_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_method" g_interface_info_get_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+interfaceInfoGetMethod info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_method info' n
+    checkUnexpectedReturnNULL "g_interface_info_get_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_get_iface_struct
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_iface_struct" g_interface_info_get_iface_struct :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetIfaceStruct ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+interfaceInfoGetIfaceStruct info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_iface_struct info'
+    checkUnexpectedReturnNULL "g_interface_info_get_iface_struct" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_get_constant
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_get_constant" g_interface_info_get_constant :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoGetConstant ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+interfaceInfoGetConstant info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_interface_info_get_constant info' n
+    checkUnexpectedReturnNULL "g_interface_info_get_constant" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_interface_info_find_vfunc
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_find_vfunc" g_interface_info_find_vfunc :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoFindVfunc ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+interfaceInfoFindVfunc info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_interface_info_find_vfunc info' name'
+    checkUnexpectedReturnNULL "g_interface_info_find_vfunc" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_interface_info_find_signal
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_find_signal" g_interface_info_find_signal :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoFindSignal ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+interfaceInfoFindSignal info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_interface_info_find_signal info' name'
+    checkUnexpectedReturnNULL "g_interface_info_find_signal" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_interface_info_find_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_interface_info_find_method" g_interface_info_find_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO (Ptr BaseInfo)
+
+
+interfaceInfoFindMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+interfaceInfoFindMethod info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_interface_info_find_method info' name'
+    checkUnexpectedReturnNULL "g_interface_info_find_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_info_type_to_string
+-- Args : [Arg {argCName = "type", argType = TInterface "GIRepository" "InfoType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_info_type_to_string" g_info_type_to_string :: 
+    CUInt ->                                -- type : TInterface "GIRepository" "InfoType"
+    IO CString
+
+
+infoTypeToString ::
+    (MonadIO m) =>
+    InfoType                                -- type_
+    -> m T.Text                             -- result
+infoTypeToString type_ = liftIO $ do
+    let type_' = (fromIntegral . fromEnum) type_
+    result <- g_info_type_to_string type_'
+    checkUnexpectedReturnNULL "g_info_type_to_string" result
+    result' <- cstringToText result
+    return result'
+
+
+-- function g_info_new
+-- Args : [Arg {argCName = "type", argType = TInterface "GIRepository" "InfoType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "container", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_info_new" g_info_new :: 
+    CUInt ->                                -- type : TInterface "GIRepository" "InfoType"
+    Ptr BaseInfo ->                         -- container : TInterface "GIRepository" "BaseInfo"
+    Ptr Typelib ->                          -- typelib : TInterface "GIRepository" "Typelib"
+    Word32 ->                               -- offset : TBasicType TUInt32
+    IO (Ptr BaseInfo)
+
+
+infoNew ::
+    (MonadIO m) =>
+    InfoType                                -- type_
+    -> BaseInfo                             -- container
+    -> Typelib                              -- typelib
+    -> Word32                               -- offset
+    -> m BaseInfo                           -- result
+infoNew type_ container typelib offset = liftIO $ do
+    let type_' = (fromIntegral . fromEnum) type_
+    let container' = unsafeManagedPtrGetPtr container
+    let typelib' = unsafeManagedPtrGetPtr typelib
+    result <- g_info_new type_' container' typelib' offset
+    checkUnexpectedReturnNULL "g_info_new" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr container
+    touchManagedPtr typelib
+    return result'
+
+
+-- function g_function_info_get_vfunc
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_function_info_get_vfunc" g_function_info_get_vfunc :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+functionInfoGetVfunc ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+functionInfoGetVfunc info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_function_info_get_vfunc info'
+    checkUnexpectedReturnNULL "g_function_info_get_vfunc" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_function_info_get_symbol
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_function_info_get_symbol" g_function_info_get_symbol :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+functionInfoGetSymbol ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+functionInfoGetSymbol info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_function_info_get_symbol info'
+    checkUnexpectedReturnNULL "g_function_info_get_symbol" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_function_info_get_property
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_function_info_get_property" g_function_info_get_property :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+functionInfoGetProperty ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+functionInfoGetProperty info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_function_info_get_property info'
+    checkUnexpectedReturnNULL "g_function_info_get_property" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_function_info_get_flags
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "FunctionInfoFlags"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_function_info_get_flags" g_function_info_get_flags :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+functionInfoGetFlags ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m [FunctionInfoFlags]                -- result
+functionInfoGetFlags info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_function_info_get_flags info'
+    let result' = wordToGFlags result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_field_info_get_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_field_info_get_type" g_field_info_get_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+fieldInfoGetType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+fieldInfoGetType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_field_info_get_type info'
+    checkUnexpectedReturnNULL "g_field_info_get_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_field_info_get_size
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_field_info_get_size" g_field_info_get_size :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+fieldInfoGetSize ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+fieldInfoGetSize info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_field_info_get_size info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_field_info_get_offset
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_field_info_get_offset" g_field_info_get_offset :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+fieldInfoGetOffset ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+fieldInfoGetOffset info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_field_info_get_offset info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_field_info_get_flags
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "FieldInfoFlags"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_field_info_get_flags" g_field_info_get_flags :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+fieldInfoGetFlags ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m [FieldInfoFlags]                   -- result
+fieldInfoGetFlags info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_field_info_get_flags info'
+    let result' = wordToGFlags result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_enum_info_get_value
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_enum_info_get_value" g_enum_info_get_value :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+enumInfoGetValue ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+enumInfoGetValue info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_enum_info_get_value info' n
+    checkUnexpectedReturnNULL "g_enum_info_get_value" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_enum_info_get_storage_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "TypeTag"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_enum_info_get_storage_type" g_enum_info_get_storage_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+enumInfoGetStorageType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m TypeTag                            -- result
+enumInfoGetStorageType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_enum_info_get_storage_type info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_enum_info_get_n_values
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_enum_info_get_n_values" g_enum_info_get_n_values :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+enumInfoGetNValues ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+enumInfoGetNValues info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_enum_info_get_n_values info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_enum_info_get_n_methods
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_enum_info_get_n_methods" g_enum_info_get_n_methods :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+enumInfoGetNMethods ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+enumInfoGetNMethods info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_enum_info_get_n_methods info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_enum_info_get_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_enum_info_get_method" g_enum_info_get_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+enumInfoGetMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+enumInfoGetMethod info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_enum_info_get_method info' n
+    checkUnexpectedReturnNULL "g_enum_info_get_method" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_enum_info_get_error_domain
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_enum_info_get_error_domain" g_enum_info_get_error_domain :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CString
+
+
+enumInfoGetErrorDomain ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m T.Text                             -- result
+enumInfoGetErrorDomain info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_enum_info_get_error_domain info'
+    checkUnexpectedReturnNULL "g_enum_info_get_error_domain" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_constant_info_get_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_constant_info_get_type" g_constant_info_get_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+constantInfoGetType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+constantInfoGetType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_constant_info_get_type info'
+    checkUnexpectedReturnNULL "g_constant_info_get_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_skip_return
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_skip_return" g_callable_info_skip_return :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+callableInfoSkipReturn ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+callableInfoSkipReturn info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_skip_return info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_may_return_null
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_may_return_null" g_callable_info_may_return_null :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+callableInfoMayReturnNull ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+callableInfoMayReturnNull info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_may_return_null info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_load_return_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_load_return_type" g_callable_info_load_return_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Ptr BaseInfo ->                         -- type : TInterface "GIRepository" "BaseInfo"
+    IO ()
+
+
+callableInfoLoadReturnType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m (BaseInfo)                         -- result
+callableInfoLoadReturnType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    type_ <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
+    g_callable_info_load_return_type info' type_
+    type_' <- (wrapBoxed BaseInfo) type_
+    touchManagedPtr info
+    return type_'
+
+
+-- function g_callable_info_load_arg
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "arg", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_load_arg" g_callable_info_load_arg :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    Ptr BaseInfo ->                         -- arg : TInterface "GIRepository" "BaseInfo"
+    IO ()
+
+
+callableInfoLoadArg ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m (BaseInfo)                         -- result
+callableInfoLoadArg info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    arg <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
+    g_callable_info_load_arg info' n arg
+    arg' <- (wrapBoxed BaseInfo) arg
+    touchManagedPtr info
+    return arg'
+
+
+-- function g_callable_info_iterate_return_attributes
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iterator", argType = TInterface "GIRepository" "AttributeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_iterate_return_attributes" g_callable_info_iterate_return_attributes :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Ptr AttributeIter ->                    -- iterator : TInterface "GIRepository" "AttributeIter"
+    Ptr CString ->                          -- name : TBasicType TUTF8
+    Ptr CString ->                          -- value : TBasicType TUTF8
+    IO CInt
+
+
+callableInfoIterateReturnAttributes ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> AttributeIter                        -- iterator
+    -> m (Bool,T.Text,T.Text)               -- result
+callableInfoIterateReturnAttributes info iterator = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    let iterator' = unsafeManagedPtrGetPtr iterator
+    name <- allocMem :: IO (Ptr CString)
+    value <- allocMem :: IO (Ptr CString)
+    result <- g_callable_info_iterate_return_attributes info' iterator' name value
+    let result' = (/= 0) result
+    name' <- peek name
+    name'' <- cstringToText name'
+    value' <- peek value
+    value'' <- cstringToText value'
+    touchManagedPtr info
+    touchManagedPtr iterator
+    freeMem name
+    freeMem value
+    return (result', name'', value'')
+
+
+-- function g_callable_info_is_method
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_is_method" g_callable_info_is_method :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+callableInfoIsMethod ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+callableInfoIsMethod info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_is_method info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_invoke
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "in_args", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_in_args", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_args", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_out_args", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface "GIRepository" "Argument", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_method", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "throws", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : True
+-- Skip return : False
+
+foreign import ccall "g_callable_info_invoke" g_callable_info_invoke :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Ptr () ->                               -- function : TBasicType TVoid
+    Ptr Argument ->                         -- in_args : TInterface "GIRepository" "Argument"
+    Int32 ->                                -- n_in_args : TBasicType TInt32
+    Ptr Argument ->                         -- out_args : TInterface "GIRepository" "Argument"
+    Int32 ->                                -- n_out_args : TBasicType TInt32
+    Ptr Argument ->                         -- return_value : TInterface "GIRepository" "Argument"
+    CInt ->                                 -- is_method : TBasicType TBoolean
+    CInt ->                                 -- throws : TBasicType TBoolean
+    Ptr (Ptr GError) ->                     -- error
+    IO CInt
+
+
+callableInfoInvoke ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Ptr ()                               -- function
+    -> Argument                             -- inArgs
+    -> Int32                                -- nInArgs
+    -> Argument                             -- outArgs
+    -> Int32                                -- nOutArgs
+    -> Argument                             -- returnValue
+    -> Bool                                 -- isMethod
+    -> Bool                                 -- throws
+    -> m ()                                 -- result
+callableInfoInvoke info function inArgs nInArgs outArgs nOutArgs returnValue isMethod throws = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    let inArgs' = unsafeManagedPtrGetPtr inArgs
+    let outArgs' = unsafeManagedPtrGetPtr outArgs
+    let returnValue' = unsafeManagedPtrGetPtr returnValue
+    let isMethod' = (fromIntegral . fromEnum) isMethod
+    let throws' = (fromIntegral . fromEnum) throws
+    onException (do
+        _ <- propagateGError $ g_callable_info_invoke info' function inArgs' nInArgs outArgs' nOutArgs returnValue' isMethod' throws'
+        touchManagedPtr info
+        touchManagedPtr inArgs
+        touchManagedPtr outArgs
+        touchManagedPtr returnValue
+        return ()
+     ) (do
+        return ()
+     )
+
+
+-- function g_callable_info_get_return_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_get_return_type" g_callable_info_get_return_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+callableInfoGetReturnType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+callableInfoGetReturnType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_get_return_type info'
+    checkUnexpectedReturnNULL "g_callable_info_get_return_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_get_return_attribute
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", 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 : TBasicType TUTF8
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_get_return_attribute" g_callable_info_get_return_attribute :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    CString ->                              -- name : TBasicType TUTF8
+    IO CString
+
+
+callableInfoGetReturnAttribute ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> T.Text                               -- name
+    -> m T.Text                             -- result
+callableInfoGetReturnAttribute info name = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    name' <- textToCString name
+    result <- g_callable_info_get_return_attribute info' name'
+    checkUnexpectedReturnNULL "g_callable_info_get_return_attribute" result
+    result' <- cstringToText result
+    touchManagedPtr info
+    freeMem name'
+    return result'
+
+
+-- function g_callable_info_get_n_args
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_get_n_args" g_callable_info_get_n_args :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+callableInfoGetNArgs ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+callableInfoGetNArgs info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_get_n_args info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_callable_info_get_instance_ownership_transfer
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "Transfer"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_get_instance_ownership_transfer" g_callable_info_get_instance_ownership_transfer :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+callableInfoGetInstanceOwnershipTransfer ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Transfer                           -- result
+callableInfoGetInstanceOwnershipTransfer info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_get_instance_ownership_transfer info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_get_caller_owns
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "Transfer"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_get_caller_owns" g_callable_info_get_caller_owns :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+callableInfoGetCallerOwns ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Transfer                           -- result
+callableInfoGetCallerOwns info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_get_caller_owns info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_get_arg
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_get_arg" g_callable_info_get_arg :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Int32 ->                                -- n : TBasicType TInt32
+    IO (Ptr BaseInfo)
+
+
+callableInfoGetArg ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> Int32                                -- n
+    -> m BaseInfo                           -- result
+callableInfoGetArg info n = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_get_arg info' n
+    checkUnexpectedReturnNULL "g_callable_info_get_arg" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_callable_info_can_throw_gerror
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_callable_info_can_throw_gerror" g_callable_info_can_throw_gerror :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+callableInfoCanThrowGerror ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+callableInfoCanThrowGerror info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_callable_info_can_throw_gerror info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_may_be_null
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_may_be_null" g_arg_info_may_be_null :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+argInfoMayBeNull ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+argInfoMayBeNull info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_may_be_null info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_load_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_load_type" g_arg_info_load_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    Ptr BaseInfo ->                         -- type : TInterface "GIRepository" "BaseInfo"
+    IO ()
+
+
+argInfoLoadType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m (BaseInfo)                         -- result
+argInfoLoadType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    type_ <- callocBoxedBytes 72 :: IO (Ptr BaseInfo)
+    g_arg_info_load_type info' type_
+    type_' <- (wrapBoxed BaseInfo) type_
+    touchManagedPtr info
+    return type_'
+
+
+-- function g_arg_info_is_skip
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_is_skip" g_arg_info_is_skip :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+argInfoIsSkip ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+argInfoIsSkip info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_is_skip info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_is_return_value
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_is_return_value" g_arg_info_is_return_value :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+argInfoIsReturnValue ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+argInfoIsReturnValue info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_is_return_value info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_is_optional
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_is_optional" g_arg_info_is_optional :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+argInfoIsOptional ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+argInfoIsOptional info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_is_optional info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_is_caller_allocates
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TBoolean
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_is_caller_allocates" g_arg_info_is_caller_allocates :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CInt
+
+
+argInfoIsCallerAllocates ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Bool                               -- result
+argInfoIsCallerAllocates info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_is_caller_allocates info'
+    let result' = (/= 0) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_get_type
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "BaseInfo"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_get_type" g_arg_info_get_type :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO (Ptr BaseInfo)
+
+
+argInfoGetType ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m BaseInfo                           -- result
+argInfoGetType info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_get_type info'
+    checkUnexpectedReturnNULL "g_arg_info_get_type" result
+    result' <- (wrapBoxed BaseInfo) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_get_scope
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "ScopeType"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_get_scope" g_arg_info_get_scope :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+argInfoGetScope ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m ScopeType                          -- result
+argInfoGetScope info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_get_scope info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_get_ownership_transfer
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "Transfer"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_get_ownership_transfer" g_arg_info_get_ownership_transfer :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+argInfoGetOwnershipTransfer ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Transfer                           -- result
+argInfoGetOwnershipTransfer info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_get_ownership_transfer info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_get_direction
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "GIRepository" "Direction"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_get_direction" g_arg_info_get_direction :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO CUInt
+
+
+argInfoGetDirection ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Direction                          -- result
+argInfoGetDirection info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_get_direction info'
+    let result' = (toEnum . fromIntegral) result
+    touchManagedPtr info
+    return result'
+
+
+-- function g_arg_info_get_destroy
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_get_destroy" g_arg_info_get_destroy :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+argInfoGetDestroy ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
+argInfoGetDestroy info = liftIO $ do
+    let info' = unsafeManagedPtrGetPtr info
+    result <- g_arg_info_get_destroy info'
+    touchManagedPtr info
+    return result
+
+
+-- function g_arg_info_get_closure
+-- Args : [Arg {argCName = "info", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TInt32
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "g_arg_info_get_closure" g_arg_info_get_closure :: 
+    Ptr BaseInfo ->                         -- info : TInterface "GIRepository" "BaseInfo"
+    IO Int32
+
+
+argInfoGetClosure ::
+    (MonadIO m) =>
+    BaseInfo                                -- info
+    -> m Int32                              -- result
 argInfoGetClosure info = liftIO $ do
     let info' = unsafeManagedPtrGetPtr info
     result <- g_arg_info_get_closure info'
diff --git a/GI/GIRepository/Objects.hs b/GI/GIRepository/Objects.hs
--- a/GI/GIRepository/Objects.hs
+++ b/GI/GIRepository/Objects.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/GIRepository/Objects/Repository.hs b/GI/GIRepository/Objects/Repository.hs
--- a/GI/GIRepository/Objects/Repository.hs
+++ b/GI/GIRepository/Objects/Repository.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -21,6 +22,7 @@
 
 
 -- ** repositoryEnumerateVersions
+    RepositoryEnumerateVersionsMethodInfo   ,
     repositoryEnumerateVersions             ,
 
 
@@ -29,18 +31,22 @@
 
 
 -- ** repositoryFindByErrorDomain
+    RepositoryFindByErrorDomainMethodInfo   ,
     repositoryFindByErrorDomain             ,
 
 
 -- ** repositoryFindByGtype
+    RepositoryFindByGtypeMethodInfo         ,
     repositoryFindByGtype                   ,
 
 
 -- ** repositoryFindByName
+    RepositoryFindByNameMethodInfo          ,
     repositoryFindByName                    ,
 
 
 -- ** repositoryGetCPrefix
+    RepositoryGetCPrefixMethodInfo          ,
     repositoryGetCPrefix                    ,
 
 
@@ -49,22 +55,27 @@
 
 
 -- ** repositoryGetDependencies
+    RepositoryGetDependenciesMethodInfo     ,
     repositoryGetDependencies               ,
 
 
 -- ** repositoryGetImmediateDependencies
+    RepositoryGetImmediateDependenciesMethodInfo,
     repositoryGetImmediateDependencies      ,
 
 
 -- ** repositoryGetInfo
+    RepositoryGetInfoMethodInfo             ,
     repositoryGetInfo                       ,
 
 
 -- ** repositoryGetLoadedNamespaces
+    RepositoryGetLoadedNamespacesMethodInfo ,
     repositoryGetLoadedNamespaces           ,
 
 
 -- ** repositoryGetNInfos
+    RepositoryGetNInfosMethodInfo           ,
     repositoryGetNInfos                     ,
 
 
@@ -73,22 +84,27 @@
 
 
 -- ** repositoryGetSharedLibrary
+    RepositoryGetSharedLibraryMethodInfo    ,
     repositoryGetSharedLibrary              ,
 
 
 -- ** repositoryGetTypelibPath
+    RepositoryGetTypelibPathMethodInfo      ,
     repositoryGetTypelibPath                ,
 
 
 -- ** repositoryGetVersion
+    RepositoryGetVersionMethodInfo          ,
     repositoryGetVersion                    ,
 
 
 -- ** repositoryIsRegistered
+    RepositoryIsRegisteredMethodInfo        ,
     repositoryIsRegistered                  ,
 
 
 -- ** repositoryLoadTypelib
+    RepositoryLoadTypelibMethodInfo         ,
     repositoryLoadTypelib                   ,
 
 
@@ -101,10 +117,12 @@
 
 
 -- ** repositoryRequire
+    RepositoryRequireMethodInfo             ,
     repositoryRequire                       ,
 
 
 -- ** repositoryRequirePrivate
+    RepositoryRequirePrivateMethodInfo      ,
     repositoryRequirePrivate                ,
 
 
@@ -144,17 +162,66 @@
 noRepository :: Maybe Repository
 noRepository = Nothing
 
+type family ResolveRepositoryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRepositoryMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRepositoryMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRepositoryMethod "enumerateVersions" o = RepositoryEnumerateVersionsMethodInfo
+    ResolveRepositoryMethod "findByErrorDomain" o = RepositoryFindByErrorDomainMethodInfo
+    ResolveRepositoryMethod "findByGtype" o = RepositoryFindByGtypeMethodInfo
+    ResolveRepositoryMethod "findByName" o = RepositoryFindByNameMethodInfo
+    ResolveRepositoryMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRepositoryMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRepositoryMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRepositoryMethod "isRegistered" o = RepositoryIsRegisteredMethodInfo
+    ResolveRepositoryMethod "loadTypelib" o = RepositoryLoadTypelibMethodInfo
+    ResolveRepositoryMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRepositoryMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRepositoryMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRepositoryMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRepositoryMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRepositoryMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRepositoryMethod "require" o = RepositoryRequireMethodInfo
+    ResolveRepositoryMethod "requirePrivate" o = RepositoryRequirePrivateMethodInfo
+    ResolveRepositoryMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRepositoryMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRepositoryMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRepositoryMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRepositoryMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRepositoryMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRepositoryMethod "getCPrefix" o = RepositoryGetCPrefixMethodInfo
+    ResolveRepositoryMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRepositoryMethod "getDependencies" o = RepositoryGetDependenciesMethodInfo
+    ResolveRepositoryMethod "getImmediateDependencies" o = RepositoryGetImmediateDependenciesMethodInfo
+    ResolveRepositoryMethod "getInfo" o = RepositoryGetInfoMethodInfo
+    ResolveRepositoryMethod "getLoadedNamespaces" o = RepositoryGetLoadedNamespacesMethodInfo
+    ResolveRepositoryMethod "getNInfos" o = RepositoryGetNInfosMethodInfo
+    ResolveRepositoryMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRepositoryMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRepositoryMethod "getSharedLibrary" o = RepositoryGetSharedLibraryMethodInfo
+    ResolveRepositoryMethod "getTypelibPath" o = RepositoryGetTypelibPathMethodInfo
+    ResolveRepositoryMethod "getVersion" o = RepositoryGetVersionMethodInfo
+    ResolveRepositoryMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRepositoryMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRepositoryMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRepositoryMethod t Repository, MethodInfo info Repository p) => IsLabelProxy t (Repository -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRepositoryMethod t Repository, MethodInfo info Repository p) => IsLabel t (Repository -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Repository = RepositoryAttributeList
 type RepositoryAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Repository = RepositorySignalList
-type RepositorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RepositorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Repository::enumerate_versions
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGList (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -167,27 +234,30 @@
 
 repositoryEnumerateVersions ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m [T.Text]
-repositoryEnumerateVersions _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m [T.Text]                           -- result
+repositoryEnumerateVersions _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_enumerate_versions _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_enumerate_versions _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_enumerate_versions" result
     result' <- unpackGList result
     result'' <- mapM cstringToText result'
     mapGList freeMem result
     g_list_free result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result''
 
+data RepositoryEnumerateVersionsMethodInfo
+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryEnumerateVersionsMethodInfo a signature where
+    overloadedMethod _ = repositoryEnumerateVersions
+
 -- method Repository::find_by_error_domain
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "BaseInfo"
 -- throws : False
 -- Skip return : False
@@ -200,9 +270,9 @@
 
 repositoryFindByErrorDomain ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- domain
-    m BaseInfo
+    a                                       -- _obj
+    -> Word32                               -- domain
+    -> m BaseInfo                           -- result
 repositoryFindByErrorDomain _obj domain = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- g_irepository_find_by_error_domain _obj' domain
@@ -211,11 +281,14 @@
     touchManagedPtr _obj
     return result'
 
+data RepositoryFindByErrorDomainMethodInfo
+instance (signature ~ (Word32 -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryFindByErrorDomainMethodInfo a signature where
+    overloadedMethod _ = repositoryFindByErrorDomain
+
 -- method Repository::find_by_gtype
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "BaseInfo"
 -- throws : False
 -- Skip return : False
@@ -228,9 +301,9 @@
 
 repositoryFindByGtype ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- gtype
-    m BaseInfo
+    a                                       -- _obj
+    -> GType                                -- gtype
+    -> m BaseInfo                           -- result
 repositoryFindByGtype _obj gtype = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let gtype' = gtypeToCGType gtype
@@ -240,11 +313,14 @@
     touchManagedPtr _obj
     return result'
 
+data RepositoryFindByGtypeMethodInfo
+instance (signature ~ (GType -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryFindByGtypeMethodInfo a signature where
+    overloadedMethod _ = repositoryFindByGtype
+
 -- method Repository::find_by_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, 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 : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "BaseInfo"
 -- throws : False
 -- Skip return : False
@@ -258,27 +334,30 @@
 
 repositoryFindByName ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    T.Text ->                               -- name
-    m BaseInfo
-repositoryFindByName _obj namespace_ name = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> T.Text                               -- name
+    -> m BaseInfo                           -- result
+repositoryFindByName _obj namespace name = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
+    namespace' <- textToCString namespace
     name' <- textToCString name
-    result <- g_irepository_find_by_name _obj' namespace_' name'
+    result <- g_irepository_find_by_name _obj' namespace' name'
     checkUnexpectedReturnNULL "g_irepository_find_by_name" result
     result' <- (wrapBoxed BaseInfo) result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     freeMem name'
     return result'
 
+data RepositoryFindByNameMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryFindByNameMethodInfo a signature where
+    overloadedMethod _ = repositoryFindByName
+
 -- method Repository::get_c_prefix
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -291,24 +370,27 @@
 
 repositoryGetCPrefix ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m T.Text
-repositoryGetCPrefix _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m T.Text                             -- result
+repositoryGetCPrefix _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_c_prefix _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_c_prefix _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_get_c_prefix" result
     result' <- cstringToText result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetCPrefixMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetCPrefixMethodInfo a signature where
+    overloadedMethod _ = repositoryGetCPrefix
+
 -- method Repository::get_dependencies
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -321,26 +403,29 @@
 
 repositoryGetDependencies ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m [T.Text]
-repositoryGetDependencies _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m [T.Text]                           -- result
+repositoryGetDependencies _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_dependencies _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_dependencies _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_get_dependencies" result
     result' <- unpackZeroTerminatedUTF8CArray result
     mapZeroTerminatedCArray freeMem result
     freeMem result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetDependenciesMethodInfo
+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetDependenciesMethodInfo a signature where
+    overloadedMethod _ = repositoryGetDependencies
+
 -- method Repository::get_immediate_dependencies
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -353,26 +438,29 @@
 
 repositoryGetImmediateDependencies ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m [T.Text]
-repositoryGetImmediateDependencies _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m [T.Text]                           -- result
+repositoryGetImmediateDependencies _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_immediate_dependencies _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_immediate_dependencies _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_get_immediate_dependencies" result
     result' <- unpackZeroTerminatedUTF8CArray result
     mapZeroTerminatedCArray freeMem result
     freeMem result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetImmediateDependenciesMethodInfo
+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetImmediateDependenciesMethodInfo a signature where
+    overloadedMethod _ = repositoryGetImmediateDependencies
+
 -- method Repository::get_info
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "BaseInfo"
 -- throws : False
 -- Skip return : False
@@ -386,25 +474,28 @@
 
 repositoryGetInfo ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    Int32 ->                                -- index
-    m BaseInfo
-repositoryGetInfo _obj namespace_ index = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> Int32                                -- index
+    -> m BaseInfo                           -- result
+repositoryGetInfo _obj namespace index = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_info _obj' namespace_' index
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_info _obj' namespace' index
     checkUnexpectedReturnNULL "g_irepository_get_info" result
     result' <- (wrapBoxed BaseInfo) result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetInfoMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m BaseInfo), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetInfoMethodInfo a signature where
+    overloadedMethod _ = repositoryGetInfo
+
 -- method Repository::get_loaded_namespaces
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -416,8 +507,8 @@
 
 repositoryGetLoadedNamespaces ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    m [T.Text]
+    a                                       -- _obj
+    -> m [T.Text]                           -- result
 repositoryGetLoadedNamespaces _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- g_irepository_get_loaded_namespaces _obj'
@@ -428,11 +519,14 @@
     touchManagedPtr _obj
     return result'
 
+data RepositoryGetLoadedNamespacesMethodInfo
+instance (signature ~ (m [T.Text]), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetLoadedNamespacesMethodInfo a signature where
+    overloadedMethod _ = repositoryGetLoadedNamespaces
+
 -- method Repository::get_n_infos
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -445,22 +539,25 @@
 
 repositoryGetNInfos ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m Int32
-repositoryGetNInfos _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m Int32                              -- result
+repositoryGetNInfos _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_n_infos _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_n_infos _obj' namespace'
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result
 
+data RepositoryGetNInfosMethodInfo
+instance (signature ~ (T.Text -> m Int32), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetNInfosMethodInfo a signature where
+    overloadedMethod _ = repositoryGetNInfos
+
 -- method Repository::get_shared_library
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -473,24 +570,27 @@
 
 repositoryGetSharedLibrary ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m T.Text
-repositoryGetSharedLibrary _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m T.Text                             -- result
+repositoryGetSharedLibrary _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_shared_library _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_shared_library _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_get_shared_library" result
     result' <- cstringToText result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetSharedLibraryMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetSharedLibraryMethodInfo a signature where
+    overloadedMethod _ = repositoryGetSharedLibrary
+
 -- method Repository::get_typelib_path
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -503,24 +603,27 @@
 
 repositoryGetTypelibPath ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m T.Text
-repositoryGetTypelibPath _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m T.Text                             -- result
+repositoryGetTypelibPath _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_typelib_path _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_typelib_path _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_get_typelib_path" result
     result' <- cstringToText result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetTypelibPathMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetTypelibPathMethodInfo a signature where
+    overloadedMethod _ = repositoryGetTypelibPath
+
 -- method Repository::get_version
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -533,24 +636,27 @@
 
 repositoryGetVersion ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    m T.Text
-repositoryGetVersion _obj namespace_ = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> m T.Text                             -- result
+repositoryGetVersion _obj namespace = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    result <- g_irepository_get_version _obj' namespace_'
+    namespace' <- textToCString namespace
+    result <- g_irepository_get_version _obj' namespace'
     checkUnexpectedReturnNULL "g_irepository_get_version" result
     result' <- cstringToText result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     return result'
 
+data RepositoryGetVersionMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryGetVersionMethodInfo a signature where
+    overloadedMethod _ = repositoryGetVersion
+
 -- method Repository::is_registered
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -564,30 +670,33 @@
 
 repositoryIsRegistered ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    Maybe (T.Text) ->                       -- version
-    m Bool
-repositoryIsRegistered _obj namespace_ version = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> Maybe (T.Text)                       -- version
+    -> m Bool                               -- result
+repositoryIsRegistered _obj namespace version = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
+    namespace' <- textToCString namespace
     maybeVersion <- case version of
         Nothing -> return nullPtr
         Just jVersion -> do
             jVersion' <- textToCString jVersion
             return jVersion'
-    result <- g_irepository_is_registered _obj' namespace_' maybeVersion
+    result <- g_irepository_is_registered _obj' namespace' maybeVersion
     let result' = (/= 0) result
     touchManagedPtr _obj
-    freeMem namespace_'
+    freeMem namespace'
     freeMem maybeVersion
     return result'
 
+data RepositoryIsRegisteredMethodInfo
+instance (signature ~ (T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, RepositoryK a) => MethodInfo RepositoryIsRegisteredMethodInfo a signature where
+    overloadedMethod _ = repositoryIsRegistered
+
 -- method Repository::load_typelib
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : True
 -- Skip return : False
@@ -602,10 +711,10 @@
 
 repositoryLoadTypelib ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    Typelib ->                              -- typelib
-    [RepositoryLoadFlags] ->                -- flags
-    m T.Text
+    a                                       -- _obj
+    -> Typelib                              -- typelib
+    -> [RepositoryLoadFlags]                -- flags
+    -> m T.Text                             -- result
 repositoryLoadTypelib _obj typelib flags = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let typelib' = unsafeManagedPtrGetPtr typelib
@@ -621,11 +730,14 @@
         return ()
      )
 
+data RepositoryLoadTypelibMethodInfo
+instance (signature ~ (Typelib -> [RepositoryLoadFlags] -> m T.Text), MonadIO m, RepositoryK a) => MethodInfo RepositoryLoadTypelibMethodInfo a signature where
+    overloadedMethod _ = repositoryLoadTypelib
+
 -- method Repository::require
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "Typelib"
 -- throws : True
 -- Skip return : False
@@ -641,14 +753,14 @@
 
 repositoryRequire ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- namespace_
-    Maybe (T.Text) ->                       -- version
-    [RepositoryLoadFlags] ->                -- flags
-    m Typelib
-repositoryRequire _obj namespace_ version flags = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- namespace
+    -> Maybe (T.Text)                       -- version
+    -> [RepositoryLoadFlags]                -- flags
+    -> m Typelib                            -- result
+repositoryRequire _obj namespace version flags = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
+    namespace' <- textToCString namespace
     maybeVersion <- case version of
         Nothing -> return nullPtr
         Just jVersion -> do
@@ -656,24 +768,27 @@
             return jVersion'
     let flags' = gflagsToWord flags
     onException (do
-        result <- propagateGError $ g_irepository_require _obj' namespace_' maybeVersion flags'
+        result <- propagateGError $ g_irepository_require _obj' namespace' maybeVersion flags'
         checkUnexpectedReturnNULL "g_irepository_require" result
         -- XXX Wrapping a foreign struct/union with no known destructor, leak?
         result' <- (\x -> Typelib <$> newForeignPtr_ x) result
         touchManagedPtr _obj
-        freeMem namespace_'
+        freeMem namespace'
         freeMem maybeVersion
         return result'
      ) (do
-        freeMem namespace_'
+        freeMem namespace'
         freeMem maybeVersion
      )
 
+data RepositoryRequireMethodInfo
+instance (signature ~ (T.Text -> Maybe (T.Text) -> [RepositoryLoadFlags] -> m Typelib), MonadIO m, RepositoryK a) => MethodInfo RepositoryRequireMethodInfo a signature where
+    overloadedMethod _ = repositoryRequire
+
 -- method Repository::require_private
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TInterface "GIRepository" "RepositoryLoadFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "Typelib"
 -- throws : True
 -- Skip return : False
@@ -690,16 +805,16 @@
 
 repositoryRequirePrivate ::
     (MonadIO m, RepositoryK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- typelib_dir
-    T.Text ->                               -- namespace_
-    Maybe (T.Text) ->                       -- version
-    [RepositoryLoadFlags] ->                -- flags
-    m Typelib
-repositoryRequirePrivate _obj typelib_dir namespace_ version flags = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- typelibDir
+    -> T.Text                               -- namespace
+    -> Maybe (T.Text)                       -- version
+    -> [RepositoryLoadFlags]                -- flags
+    -> m Typelib                            -- result
+repositoryRequirePrivate _obj typelibDir namespace version flags = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    typelib_dir' <- textToCString typelib_dir
-    namespace_' <- textToCString namespace_
+    typelibDir' <- textToCString typelibDir
+    namespace' <- textToCString namespace
     maybeVersion <- case version of
         Nothing -> return nullPtr
         Just jVersion -> do
@@ -707,26 +822,29 @@
             return jVersion'
     let flags' = gflagsToWord flags
     onException (do
-        result <- propagateGError $ g_irepository_require_private _obj' typelib_dir' namespace_' maybeVersion flags'
+        result <- propagateGError $ g_irepository_require_private _obj' typelibDir' namespace' maybeVersion flags'
         checkUnexpectedReturnNULL "g_irepository_require_private" result
         -- XXX Wrapping a foreign struct/union with no known destructor, leak?
         result' <- (\x -> Typelib <$> newForeignPtr_ x) result
         touchManagedPtr _obj
-        freeMem typelib_dir'
-        freeMem namespace_'
+        freeMem typelibDir'
+        freeMem namespace'
         freeMem maybeVersion
         return result'
      ) (do
-        freeMem typelib_dir'
-        freeMem namespace_'
+        freeMem typelibDir'
+        freeMem namespace'
         freeMem maybeVersion
      )
 
+data RepositoryRequirePrivateMethodInfo
+instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> [RepositoryLoadFlags] -> m Typelib), MonadIO m, RepositoryK a) => MethodInfo RepositoryRequirePrivateMethodInfo a signature where
+    overloadedMethod _ = repositoryRequirePrivate
+
 -- method Repository::dump
 -- method type : MemberFunction
--- Args : [Arg {argName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -739,8 +857,8 @@
 
 repositoryDump ::
     (MonadIO m) =>
-    T.Text ->                               -- arg
-    m ()
+    T.Text                                  -- arg
+    -> m ()                                 -- result
 repositoryDump arg = liftIO $ do
     arg' <- textToCString arg
     onException (do
@@ -755,7 +873,6 @@
 -- method type : MemberFunction
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -766,7 +883,7 @@
 
 repositoryErrorQuark ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 repositoryErrorQuark  = liftIO $ do
     result <- g_irepository_error_quark
     return result
@@ -775,7 +892,6 @@
 -- method type : MemberFunction
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "GIRepository" "Repository"
 -- throws : False
 -- Skip return : False
@@ -786,7 +902,7 @@
 
 repositoryGetDefault ::
     (MonadIO m) =>
-    m Repository
+    m Repository                            -- result
 repositoryGetDefault  = liftIO $ do
     result <- g_irepository_get_default
     checkUnexpectedReturnNULL "g_irepository_get_default" result
@@ -797,7 +913,6 @@
 -- method type : MemberFunction
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TGSList (TBasicType TFileName)
 -- throws : False
 -- Skip return : False
@@ -808,7 +923,7 @@
 
 repositoryGetSearchPath ::
     (MonadIO m) =>
-    m [[Char]]
+    m [[Char]]                              -- result
 repositoryGetSearchPath  = liftIO $ do
     result <- g_irepository_get_search_path
     checkUnexpectedReturnNULL "g_irepository_get_search_path" result
@@ -818,9 +933,8 @@
 
 -- method Repository::prepend_library_path
 -- method type : MemberFunction
--- Args : [Arg {argName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -832,8 +946,8 @@
 
 repositoryPrependLibraryPath ::
     (MonadIO m) =>
-    T.Text ->                               -- directory
-    m ()
+    T.Text                                  -- directory
+    -> m ()                                 -- result
 repositoryPrependLibraryPath directory = liftIO $ do
     directory' <- textToCString directory
     g_irepository_prepend_library_path directory'
@@ -842,9 +956,8 @@
 
 -- method Repository::prepend_search_path
 -- method type : MemberFunction
--- Args : [Arg {argName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -856,8 +969,8 @@
 
 repositoryPrependSearchPath ::
     (MonadIO m) =>
-    [Char] ->                               -- directory
-    m ()
+    [Char]                                  -- directory
+    -> m ()                                 -- result
 repositoryPrependSearchPath directory = liftIO $ do
     directory' <- stringToCString directory
     g_irepository_prepend_search_path directory'
diff --git a/GI/GIRepository/Objects/Repository.hs-boot b/GI/GIRepository/Objects/Repository.hs-boot
--- a/GI/GIRepository/Objects/Repository.hs-boot
+++ b/GI/GIRepository/Objects/Repository.hs-boot
@@ -11,3 +11,20 @@
 instance GObject Repository where
 class GObject o => RepositoryK o
 instance (GObject o, IsDescendantOf Repository o) => RepositoryK o
+data RepositoryEnumerateVersionsMethodInfo
+data RepositoryFindByErrorDomainMethodInfo
+data RepositoryFindByGtypeMethodInfo
+data RepositoryFindByNameMethodInfo
+data RepositoryGetCPrefixMethodInfo
+data RepositoryGetDependenciesMethodInfo
+data RepositoryGetImmediateDependenciesMethodInfo
+data RepositoryGetInfoMethodInfo
+data RepositoryGetLoadedNamespacesMethodInfo
+data RepositoryGetNInfosMethodInfo
+data RepositoryGetSharedLibraryMethodInfo
+data RepositoryGetTypelibPathMethodInfo
+data RepositoryGetVersionMethodInfo
+data RepositoryIsRegisteredMethodInfo
+data RepositoryLoadTypelibMethodInfo
+data RepositoryRequireMethodInfo
+data RepositoryRequirePrivateMethodInfo
diff --git a/GI/GIRepository/Structs.hs b/GI/GIRepository/Structs.hs
--- a/GI/GIRepository/Structs.hs
+++ b/GI/GIRepository/Structs.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/GIRepository/Structs/AttributeIter.hs b/GI/GIRepository/Structs/AttributeIter.hs
--- a/GI/GIRepository/Structs/AttributeIter.hs
+++ b/GI/GIRepository/Structs/AttributeIter.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -13,6 +14,7 @@
 
 -- * Exported types
     AttributeIter(..)                       ,
+    newZeroAttributeIter                    ,
     noAttributeIter                         ,
 
 
@@ -29,7 +31,22 @@
 import GI.GIRepository.Callbacks
 
 newtype AttributeIter = AttributeIter (ForeignPtr AttributeIter)
+-- | Construct a `AttributeIter` struct initialized to zero.
+newZeroAttributeIter :: MonadIO m => m AttributeIter
+newZeroAttributeIter = liftIO $ callocBytes 32 >>= wrapPtr AttributeIter
+
 noAttributeIter :: Maybe AttributeIter
 noAttributeIter = Nothing
+
+type family ResolveAttributeIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttributeIterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttributeIterMethod t AttributeIter, MethodInfo info AttributeIter p) => IsLabelProxy t (AttributeIter -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttributeIterMethod t AttributeIter, MethodInfo info AttributeIter p) => IsLabel t (AttributeIter -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/GIRepository/Structs/BaseInfo.hs b/GI/GIRepository/Structs/BaseInfo.hs
--- a/GI/GIRepository/Structs/BaseInfo.hs
+++ b/GI/GIRepository/Structs/BaseInfo.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -48,43 +49,53 @@
 
 -- * Exported types
     BaseInfo(..)                            ,
+    newZeroBaseInfo                         ,
     noBaseInfo                              ,
 
 
  -- * Methods
 -- ** baseInfoEqual
+    BaseInfoEqualMethodInfo                 ,
     baseInfoEqual                           ,
 
 
 -- ** baseInfoGetAttribute
+    BaseInfoGetAttributeMethodInfo          ,
     baseInfoGetAttribute                    ,
 
 
 -- ** baseInfoGetContainer
+    BaseInfoGetContainerMethodInfo          ,
     baseInfoGetContainer                    ,
 
 
 -- ** baseInfoGetName
+    BaseInfoGetNameMethodInfo               ,
     baseInfoGetName                         ,
 
 
 -- ** baseInfoGetNamespace
+    BaseInfoGetNamespaceMethodInfo          ,
     baseInfoGetNamespace                    ,
 
 
 -- ** baseInfoGetType
+    BaseInfoGetTypeMethodInfo               ,
     baseInfoGetType                         ,
 
 
 -- ** baseInfoGetTypelib
+    BaseInfoGetTypelibMethodInfo            ,
     baseInfoGetTypelib                      ,
 
 
 -- ** baseInfoIsDeprecated
+    BaseInfoIsDeprecatedMethodInfo          ,
     baseInfoIsDeprecated                    ,
 
 
 -- ** baseInfoIterateAttributes
+    BaseInfoIterateAttributesMethodInfo     ,
     baseInfoIterateAttributes               ,
 
 
@@ -109,14 +120,17 @@
 instance BoxedObject BaseInfo where
     boxedType _ = c_g_base_info_gtype_get_type
 
+-- | Construct a `BaseInfo` struct initialized to zero.
+newZeroBaseInfo :: MonadIO m => m BaseInfo
+newZeroBaseInfo = liftIO $ callocBoxedBytes 72 >>= wrapBoxed BaseInfo
+
 noBaseInfo :: Maybe BaseInfo
 noBaseInfo = Nothing
 
 -- method BaseInfo::equal
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info2", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info2", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "info2", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -129,9 +143,9 @@
 
 baseInfoEqual ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    BaseInfo ->                             -- info2
-    m Bool
+    BaseInfo                                -- _obj
+    -> BaseInfo                             -- info2
+    -> m Bool                               -- result
 baseInfoEqual _obj info2 = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let info2' = unsafeManagedPtrGetPtr info2
@@ -141,11 +155,14 @@
     touchManagedPtr info2
     return result'
 
+data BaseInfoEqualMethodInfo
+instance (signature ~ (BaseInfo -> m Bool), MonadIO m) => MethodInfo BaseInfoEqualMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoEqual
+
 -- method BaseInfo::get_attribute
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", 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 : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -158,9 +175,9 @@
 
 baseInfoGetAttribute ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    T.Text ->                               -- name
-    m T.Text
+    BaseInfo                                -- _obj
+    -> T.Text                               -- name
+    -> m T.Text                             -- result
 baseInfoGetAttribute _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     name' <- textToCString name
@@ -171,11 +188,14 @@
     freeMem name'
     return result'
 
+data BaseInfoGetAttributeMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m) => MethodInfo BaseInfoGetAttributeMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoGetAttribute
+
 -- method BaseInfo::get_container
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "BaseInfo"
 -- throws : False
 -- Skip return : False
@@ -187,8 +207,8 @@
 
 baseInfoGetContainer ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    m BaseInfo
+    BaseInfo                                -- _obj
+    -> m BaseInfo                           -- result
 baseInfoGetContainer _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_base_info_get_container _obj'
@@ -197,11 +217,14 @@
     touchManagedPtr _obj
     return result'
 
+data BaseInfoGetContainerMethodInfo
+instance (signature ~ (m BaseInfo), MonadIO m) => MethodInfo BaseInfoGetContainerMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoGetContainer
+
 -- method BaseInfo::get_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -213,8 +236,8 @@
 
 baseInfoGetName ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    m T.Text
+    BaseInfo                                -- _obj
+    -> m T.Text                             -- result
 baseInfoGetName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_base_info_get_name _obj'
@@ -223,11 +246,14 @@
     touchManagedPtr _obj
     return result'
 
+data BaseInfoGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo BaseInfoGetNameMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoGetName
+
 -- method BaseInfo::get_namespace
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -239,8 +265,8 @@
 
 baseInfoGetNamespace ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    m T.Text
+    BaseInfo                                -- _obj
+    -> m T.Text                             -- result
 baseInfoGetNamespace _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_base_info_get_namespace _obj'
@@ -249,11 +275,14 @@
     touchManagedPtr _obj
     return result'
 
+data BaseInfoGetNamespaceMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo BaseInfoGetNamespaceMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoGetNamespace
+
 -- method BaseInfo::get_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "InfoType"
 -- throws : False
 -- Skip return : False
@@ -265,8 +294,8 @@
 
 baseInfoGetType ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    m InfoType
+    BaseInfo                                -- _obj
+    -> m InfoType                           -- result
 baseInfoGetType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_base_info_get_type _obj'
@@ -274,11 +303,14 @@
     touchManagedPtr _obj
     return result'
 
+data BaseInfoGetTypeMethodInfo
+instance (signature ~ (m InfoType), MonadIO m) => MethodInfo BaseInfoGetTypeMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoGetType
+
 -- method BaseInfo::get_typelib
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GIRepository" "Typelib"
 -- throws : False
 -- Skip return : False
@@ -290,8 +322,8 @@
 
 baseInfoGetTypelib ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    m Typelib
+    BaseInfo                                -- _obj
+    -> m Typelib                            -- result
 baseInfoGetTypelib _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_base_info_get_typelib _obj'
@@ -301,11 +333,14 @@
     touchManagedPtr _obj
     return result'
 
+data BaseInfoGetTypelibMethodInfo
+instance (signature ~ (m Typelib), MonadIO m) => MethodInfo BaseInfoGetTypelibMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoGetTypelib
+
 -- method BaseInfo::is_deprecated
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -317,8 +352,8 @@
 
 baseInfoIsDeprecated ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    m Bool
+    BaseInfo                                -- _obj
+    -> m Bool                               -- result
 baseInfoIsDeprecated _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_base_info_is_deprecated _obj'
@@ -326,11 +361,14 @@
     touchManagedPtr _obj
     return result'
 
+data BaseInfoIsDeprecatedMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo BaseInfoIsDeprecatedMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoIsDeprecated
+
 -- method BaseInfo::iterate_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iterator", argType = TInterface "GIRepository" "AttributeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iterator", argType = TInterface "GIRepository" "AttributeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iterator", argType = TInterface "GIRepository" "AttributeIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -345,9 +383,9 @@
 
 baseInfoIterateAttributes ::
     (MonadIO m) =>
-    BaseInfo ->                             -- _obj
-    AttributeIter ->                        -- iterator
-    m (Bool,T.Text,T.Text)
+    BaseInfo                                -- _obj
+    -> AttributeIter                        -- iterator
+    -> m (Bool,T.Text,T.Text)               -- result
 baseInfoIterateAttributes _obj iterator = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let iterator' = unsafeManagedPtrGetPtr iterator
@@ -364,5 +402,29 @@
     freeMem name
     freeMem value
     return (result', name'', value'')
+
+data BaseInfoIterateAttributesMethodInfo
+instance (signature ~ (AttributeIter -> m (Bool,T.Text,T.Text)), MonadIO m) => MethodInfo BaseInfoIterateAttributesMethodInfo BaseInfo signature where
+    overloadedMethod _ = baseInfoIterateAttributes
+
+type family ResolveBaseInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveBaseInfoMethod "equal" o = BaseInfoEqualMethodInfo
+    ResolveBaseInfoMethod "isDeprecated" o = BaseInfoIsDeprecatedMethodInfo
+    ResolveBaseInfoMethod "iterateAttributes" o = BaseInfoIterateAttributesMethodInfo
+    ResolveBaseInfoMethod "getAttribute" o = BaseInfoGetAttributeMethodInfo
+    ResolveBaseInfoMethod "getContainer" o = BaseInfoGetContainerMethodInfo
+    ResolveBaseInfoMethod "getName" o = BaseInfoGetNameMethodInfo
+    ResolveBaseInfoMethod "getNamespace" o = BaseInfoGetNamespaceMethodInfo
+    ResolveBaseInfoMethod "getType" o = BaseInfoGetTypeMethodInfo
+    ResolveBaseInfoMethod "getTypelib" o = BaseInfoGetTypelibMethodInfo
+    ResolveBaseInfoMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveBaseInfoMethod t BaseInfo, MethodInfo info BaseInfo p) => IsLabelProxy t (BaseInfo -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveBaseInfoMethod t BaseInfo, MethodInfo info BaseInfo p) => IsLabel t (BaseInfo -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/GIRepository/Structs/BaseInfo.hs-boot b/GI/GIRepository/Structs/BaseInfo.hs-boot
--- a/GI/GIRepository/Structs/BaseInfo.hs-boot
+++ b/GI/GIRepository/Structs/BaseInfo.hs-boot
@@ -9,3 +9,12 @@
 
 newtype BaseInfo = BaseInfo (ForeignPtr BaseInfo)
 instance BoxedObject BaseInfo where
+data BaseInfoEqualMethodInfo
+data BaseInfoGetAttributeMethodInfo
+data BaseInfoGetContainerMethodInfo
+data BaseInfoGetNameMethodInfo
+data BaseInfoGetNamespaceMethodInfo
+data BaseInfoGetTypeMethodInfo
+data BaseInfoGetTypelibMethodInfo
+data BaseInfoIsDeprecatedMethodInfo
+data BaseInfoIterateAttributesMethodInfo
diff --git a/GI/GIRepository/Structs/Typelib.hs b/GI/GIRepository/Structs/Typelib.hs
--- a/GI/GIRepository/Structs/Typelib.hs
+++ b/GI/GIRepository/Structs/Typelib.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,14 +18,17 @@
 
  -- * Methods
 -- ** typelibFree
+    TypelibFreeMethodInfo                   ,
     typelibFree                             ,
 
 
 -- ** typelibGetNamespace
+    TypelibGetNamespaceMethodInfo           ,
     typelibGetNamespace                     ,
 
 
 -- ** typelibSymbol
+    TypelibSymbolMethodInfo                 ,
     typelibSymbol                           ,
 
 
@@ -48,9 +52,8 @@
 
 -- method Typelib::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -62,19 +65,22 @@
 
 typelibFree ::
     (MonadIO m) =>
-    Typelib ->                              -- _obj
-    m ()
+    Typelib                                 -- _obj
+    -> m ()                                 -- result
 typelibFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     g_typelib_free _obj'
     touchManagedPtr _obj
     return ()
 
+data TypelibFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo TypelibFreeMethodInfo Typelib signature where
+    overloadedMethod _ = typelibFree
+
 -- method Typelib::get_namespace
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -86,8 +92,8 @@
 
 typelibGetNamespace ::
     (MonadIO m) =>
-    Typelib ->                              -- _obj
-    m T.Text
+    Typelib                                 -- _obj
+    -> m T.Text                             -- result
 typelibGetNamespace _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- g_typelib_get_namespace _obj'
@@ -96,11 +102,14 @@
     touchManagedPtr _obj
     return result'
 
+data TypelibGetNamespaceMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo TypelibGetNamespaceMethodInfo Typelib signature where
+    overloadedMethod _ = typelibGetNamespace
+
 -- method Typelib::symbol
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "symbol_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "symbol", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "symbol_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "symbol", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -114,17 +123,35 @@
 
 typelibSymbol ::
     (MonadIO m) =>
-    Typelib ->                              -- _obj
-    T.Text ->                               -- symbol_name
-    Ptr () ->                               -- symbol
-    m Bool
-typelibSymbol _obj symbol_name symbol = liftIO $ do
+    Typelib                                 -- _obj
+    -> T.Text                               -- symbolName
+    -> Ptr ()                               -- symbol
+    -> m Bool                               -- result
+typelibSymbol _obj symbolName symbol = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    symbol_name' <- textToCString symbol_name
-    result <- g_typelib_symbol _obj' symbol_name' symbol
+    symbolName' <- textToCString symbolName
+    result <- g_typelib_symbol _obj' symbolName' symbol
     let result' = (/= 0) result
     touchManagedPtr _obj
-    freeMem symbol_name'
+    freeMem symbolName'
     return result'
+
+data TypelibSymbolMethodInfo
+instance (signature ~ (T.Text -> Ptr () -> m Bool), MonadIO m) => MethodInfo TypelibSymbolMethodInfo Typelib signature where
+    overloadedMethod _ = typelibSymbol
+
+type family ResolveTypelibMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTypelibMethod "free" o = TypelibFreeMethodInfo
+    ResolveTypelibMethod "symbol" o = TypelibSymbolMethodInfo
+    ResolveTypelibMethod "getNamespace" o = TypelibGetNamespaceMethodInfo
+    ResolveTypelibMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTypelibMethod t Typelib, MethodInfo info Typelib p) => IsLabelProxy t (Typelib -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTypelibMethod t Typelib, MethodInfo info Typelib p) => IsLabel t (Typelib -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/GIRepository/Structs/Typelib.hs-boot b/GI/GIRepository/Structs/Typelib.hs-boot
--- a/GI/GIRepository/Structs/Typelib.hs-boot
+++ b/GI/GIRepository/Structs/Typelib.hs-boot
@@ -8,3 +8,6 @@
 import qualified Data.Map as Map
 
 newtype Typelib = Typelib (ForeignPtr Typelib)
+data TypelibFreeMethodInfo
+data TypelibGetNamespaceMethodInfo
+data TypelibSymbolMethodInfo
diff --git a/GI/GIRepository/Structs/UnresolvedInfo.hs b/GI/GIRepository/Structs/UnresolvedInfo.hs
--- a/GI/GIRepository/Structs/UnresolvedInfo.hs
+++ b/GI/GIRepository/Structs/UnresolvedInfo.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -30,5 +31,16 @@
 newtype UnresolvedInfo = UnresolvedInfo (ForeignPtr UnresolvedInfo)
 noUnresolvedInfo :: Maybe UnresolvedInfo
 noUnresolvedInfo = Nothing
+
+type family ResolveUnresolvedInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveUnresolvedInfoMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveUnresolvedInfoMethod t UnresolvedInfo, MethodInfo info UnresolvedInfo p) => IsLabelProxy t (UnresolvedInfo -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveUnresolvedInfoMethod t UnresolvedInfo, MethodInfo info UnresolvedInfo p) => IsLabel t (UnresolvedInfo -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/GIRepository/Unions.hs b/GI/GIRepository/Unions.hs
--- a/GI/GIRepository/Unions.hs
+++ b/GI/GIRepository/Unions.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/GIRepository/Unions/Argument.hs b/GI/GIRepository/Unions/Argument.hs
--- a/GI/GIRepository/Unions/Argument.hs
+++ b/GI/GIRepository/Unions/Argument.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -10,6 +11,7 @@
 
 -- * Exported types
     Argument(..)                            ,
+    newZeroArgument                         ,
     noArgument                              ,
 
 
@@ -113,6 +115,10 @@
 import GI.GIRepository.Callbacks
 
 newtype Argument = Argument (ForeignPtr Argument)
+-- | Construct a `Argument` struct initialized to zero.
+newZeroArgument :: MonadIO m => m Argument
+newZeroArgument = liftIO $ callocBytes 8 >>= wrapPtr Argument
+
 noArgument :: Maybe Argument
 noArgument = Nothing
 
@@ -224,5 +230,16 @@
 argumentReadVPointer s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
     return val
+
+type family ResolveArgumentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveArgumentMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveArgumentMethod t Argument, MethodInfo info Argument p) => IsLabelProxy t (Argument -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveArgumentMethod t Argument, MethodInfo info Argument p) => IsLabel t (Argument -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/gi-girepository.cabal b/gi-girepository.cabal
--- a/gi-girepository.cabal
+++ b/gi-girepository.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-girepository
-version:            0.1.44.12
+version:            0.1.46.13
 synopsis:           GIRepository bindings
 description:        Bindings for GIRepository, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -14,8 +14,8 @@
 
 library
     default-language:   Haskell2010
-    default-extensions: OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
-    other-extensions:   PatternSynonyms ScopedTypeVariables, ViewPatterns
+    default-extensions: 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.GIRepository.Types
                         GI.GIRepository
@@ -32,10 +32,10 @@
                         GI.GIRepository.Structs.UnresolvedInfo
                         GI.GIRepository.Unions
                         GI.GIRepository.Unions.Argument
-    pkgconfig-depends:  gobject-introspection-1.0 >= 1.44
+    pkgconfig-depends:  gobject-introspection-1.0 >= 1.46
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.12 && < 1,
-        gi-gobject >= 0.2.44.12 && < 0.2.45,
+        haskell-gi-base >= 0.13 && < 1,
+        gi-gobject >= 0.2.46.13 && < 0.2.47,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
