diff --git a/GI/GIRepository.hs b/GI/GIRepository.hs
deleted file mode 100644
--- a/GI/GIRepository.hs
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository
-    (     module GI.GIRepository.Callbacks        ,
-    module GI.GIRepository.Enums            ,
-    module GI.GIRepository.Flags            ,
-    module GI.GIRepository.Functions        ,
-    module GI.GIRepository.Objects          ,
-    module GI.GIRepository.Structs          ,
-    module GI.GIRepository.Unions           ,
-
-
-
-    module Data.GI.Base                     ,
-
-
-    ) where
-
-import GI.GIRepository.Callbacks
-import GI.GIRepository.Enums
-import GI.GIRepository.Flags
-import GI.GIRepository.Functions
-import GI.GIRepository.Objects
-import GI.GIRepository.Structs
-import GI.GIRepository.Unions
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-import Data.GI.Base
-
diff --git a/GI/GIRepository/Callbacks.hs b/GI/GIRepository/Callbacks.hs
deleted file mode 100644
--- a/GI/GIRepository/Callbacks.hs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Callbacks () where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-
-
-
diff --git a/GI/GIRepository/Enums.hs b/GI/GIRepository/Enums.hs
deleted file mode 100644
--- a/GI/GIRepository/Enums.hs
+++ /dev/null
@@ -1,312 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Enums
-    ( 
-
--- * Exported types
-    NvokeError(..)                          ,
-    TypeTag(..)                             ,
-    Transfer(..)                            ,
-    ScopeType(..)                           ,
-    RepositoryError(..)                     ,
-    InfoType(..)                            ,
-    Direction(..)                           ,
-    ArrayType(..)                           ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-
-
-
--- Enum nvokeError
-
-data NvokeError = 
-      NvokeErrorFailed
-    | NvokeErrorSymbolNotFound
-    | NvokeErrorArgumentMismatch
-    | AnotherNvokeError Int
-    deriving (Show, Eq)
-
-instance Enum NvokeError where
-    fromEnum NvokeErrorFailed = 0
-    fromEnum NvokeErrorSymbolNotFound = 1
-    fromEnum NvokeErrorArgumentMismatch = 2
-    fromEnum (AnotherNvokeError k) = k
-
-    toEnum 0 = NvokeErrorFailed
-    toEnum 1 = NvokeErrorSymbolNotFound
-    toEnum 2 = NvokeErrorArgumentMismatch
-    toEnum k = AnotherNvokeError k
-
--- Enum TypeTag
-
-data TypeTag = 
-      TypeTagVoid
-    | TypeTagBoolean
-    | TypeTagInt8
-    | TypeTagUint8
-    | TypeTagInt16
-    | TypeTagUint16
-    | TypeTagInt32
-    | TypeTagUint32
-    | TypeTagInt64
-    | TypeTagUint64
-    | TypeTagFloat
-    | TypeTagDouble
-    | TypeTagGtype
-    | TypeTagUtf8
-    | TypeTagFilename
-    | TypeTagArray
-    | TypeTagInterface
-    | TypeTagGlist
-    | TypeTagGslist
-    | TypeTagGhash
-    | TypeTagError
-    | TypeTagUnichar
-    | AnotherTypeTag Int
-    deriving (Show, Eq)
-
-instance Enum TypeTag where
-    fromEnum TypeTagVoid = 0
-    fromEnum TypeTagBoolean = 1
-    fromEnum TypeTagInt8 = 2
-    fromEnum TypeTagUint8 = 3
-    fromEnum TypeTagInt16 = 4
-    fromEnum TypeTagUint16 = 5
-    fromEnum TypeTagInt32 = 6
-    fromEnum TypeTagUint32 = 7
-    fromEnum TypeTagInt64 = 8
-    fromEnum TypeTagUint64 = 9
-    fromEnum TypeTagFloat = 10
-    fromEnum TypeTagDouble = 11
-    fromEnum TypeTagGtype = 12
-    fromEnum TypeTagUtf8 = 13
-    fromEnum TypeTagFilename = 14
-    fromEnum TypeTagArray = 15
-    fromEnum TypeTagInterface = 16
-    fromEnum TypeTagGlist = 17
-    fromEnum TypeTagGslist = 18
-    fromEnum TypeTagGhash = 19
-    fromEnum TypeTagError = 20
-    fromEnum TypeTagUnichar = 21
-    fromEnum (AnotherTypeTag k) = k
-
-    toEnum 0 = TypeTagVoid
-    toEnum 1 = TypeTagBoolean
-    toEnum 2 = TypeTagInt8
-    toEnum 3 = TypeTagUint8
-    toEnum 4 = TypeTagInt16
-    toEnum 5 = TypeTagUint16
-    toEnum 6 = TypeTagInt32
-    toEnum 7 = TypeTagUint32
-    toEnum 8 = TypeTagInt64
-    toEnum 9 = TypeTagUint64
-    toEnum 10 = TypeTagFloat
-    toEnum 11 = TypeTagDouble
-    toEnum 12 = TypeTagGtype
-    toEnum 13 = TypeTagUtf8
-    toEnum 14 = TypeTagFilename
-    toEnum 15 = TypeTagArray
-    toEnum 16 = TypeTagInterface
-    toEnum 17 = TypeTagGlist
-    toEnum 18 = TypeTagGslist
-    toEnum 19 = TypeTagGhash
-    toEnum 20 = TypeTagError
-    toEnum 21 = TypeTagUnichar
-    toEnum k = AnotherTypeTag k
-
--- Enum Transfer
-
-data Transfer = 
-      TransferNothing
-    | TransferContainer
-    | TransferEverything
-    | AnotherTransfer Int
-    deriving (Show, Eq)
-
-instance Enum Transfer where
-    fromEnum TransferNothing = 0
-    fromEnum TransferContainer = 1
-    fromEnum TransferEverything = 2
-    fromEnum (AnotherTransfer k) = k
-
-    toEnum 0 = TransferNothing
-    toEnum 1 = TransferContainer
-    toEnum 2 = TransferEverything
-    toEnum k = AnotherTransfer k
-
--- Enum ScopeType
-
-data ScopeType = 
-      ScopeTypeInvalid
-    | ScopeTypeCall
-    | ScopeTypeAsync
-    | ScopeTypeNotified
-    | AnotherScopeType Int
-    deriving (Show, Eq)
-
-instance Enum ScopeType where
-    fromEnum ScopeTypeInvalid = 0
-    fromEnum ScopeTypeCall = 1
-    fromEnum ScopeTypeAsync = 2
-    fromEnum ScopeTypeNotified = 3
-    fromEnum (AnotherScopeType k) = k
-
-    toEnum 0 = ScopeTypeInvalid
-    toEnum 1 = ScopeTypeCall
-    toEnum 2 = ScopeTypeAsync
-    toEnum 3 = ScopeTypeNotified
-    toEnum k = AnotherScopeType k
-
--- Enum RepositoryError
-
-data RepositoryError = 
-      RepositoryErrorTypelibNotFound
-    | RepositoryErrorNamespaceMismatch
-    | RepositoryErrorNamespaceVersionConflict
-    | RepositoryErrorLibraryNotFound
-    | AnotherRepositoryError Int
-    deriving (Show, Eq)
-
-instance Enum RepositoryError where
-    fromEnum RepositoryErrorTypelibNotFound = 0
-    fromEnum RepositoryErrorNamespaceMismatch = 1
-    fromEnum RepositoryErrorNamespaceVersionConflict = 2
-    fromEnum RepositoryErrorLibraryNotFound = 3
-    fromEnum (AnotherRepositoryError k) = k
-
-    toEnum 0 = RepositoryErrorTypelibNotFound
-    toEnum 1 = RepositoryErrorNamespaceMismatch
-    toEnum 2 = RepositoryErrorNamespaceVersionConflict
-    toEnum 3 = RepositoryErrorLibraryNotFound
-    toEnum k = AnotherRepositoryError k
-
--- Enum InfoType
-
-data InfoType = 
-      InfoTypeInvalid
-    | InfoTypeFunction
-    | InfoTypeCallback
-    | InfoTypeStruct
-    | InfoTypeBoxed
-    | InfoTypeEnum
-    | InfoTypeFlags
-    | InfoTypeObject
-    | InfoTypeInterface
-    | InfoTypeConstant
-    | InfoTypeInvalid0
-    | InfoTypeUnion
-    | InfoTypeValue
-    | InfoTypeSignal
-    | InfoTypeVfunc
-    | InfoTypeProperty
-    | InfoTypeField
-    | InfoTypeArg
-    | InfoTypeType
-    | InfoTypeUnresolved
-    | AnotherInfoType Int
-    deriving (Show, Eq)
-
-instance Enum InfoType where
-    fromEnum InfoTypeInvalid = 0
-    fromEnum InfoTypeFunction = 1
-    fromEnum InfoTypeCallback = 2
-    fromEnum InfoTypeStruct = 3
-    fromEnum InfoTypeBoxed = 4
-    fromEnum InfoTypeEnum = 5
-    fromEnum InfoTypeFlags = 6
-    fromEnum InfoTypeObject = 7
-    fromEnum InfoTypeInterface = 8
-    fromEnum InfoTypeConstant = 9
-    fromEnum InfoTypeInvalid0 = 10
-    fromEnum InfoTypeUnion = 11
-    fromEnum InfoTypeValue = 12
-    fromEnum InfoTypeSignal = 13
-    fromEnum InfoTypeVfunc = 14
-    fromEnum InfoTypeProperty = 15
-    fromEnum InfoTypeField = 16
-    fromEnum InfoTypeArg = 17
-    fromEnum InfoTypeType = 18
-    fromEnum InfoTypeUnresolved = 19
-    fromEnum (AnotherInfoType k) = k
-
-    toEnum 0 = InfoTypeInvalid
-    toEnum 1 = InfoTypeFunction
-    toEnum 2 = InfoTypeCallback
-    toEnum 3 = InfoTypeStruct
-    toEnum 4 = InfoTypeBoxed
-    toEnum 5 = InfoTypeEnum
-    toEnum 6 = InfoTypeFlags
-    toEnum 7 = InfoTypeObject
-    toEnum 8 = InfoTypeInterface
-    toEnum 9 = InfoTypeConstant
-    toEnum 10 = InfoTypeInvalid0
-    toEnum 11 = InfoTypeUnion
-    toEnum 12 = InfoTypeValue
-    toEnum 13 = InfoTypeSignal
-    toEnum 14 = InfoTypeVfunc
-    toEnum 15 = InfoTypeProperty
-    toEnum 16 = InfoTypeField
-    toEnum 17 = InfoTypeArg
-    toEnum 18 = InfoTypeType
-    toEnum 19 = InfoTypeUnresolved
-    toEnum k = AnotherInfoType k
-
--- Enum Direction
-
-data Direction = 
-      DirectionIn
-    | DirectionOut
-    | DirectionInout
-    | AnotherDirection Int
-    deriving (Show, Eq)
-
-instance Enum Direction where
-    fromEnum DirectionIn = 0
-    fromEnum DirectionOut = 1
-    fromEnum DirectionInout = 2
-    fromEnum (AnotherDirection k) = k
-
-    toEnum 0 = DirectionIn
-    toEnum 1 = DirectionOut
-    toEnum 2 = DirectionInout
-    toEnum k = AnotherDirection k
-
--- Enum ArrayType
-
-data ArrayType = 
-      ArrayTypeC
-    | ArrayTypeArray
-    | ArrayTypePtrArray
-    | ArrayTypeByteArray
-    | AnotherArrayType Int
-    deriving (Show, Eq)
-
-instance Enum ArrayType where
-    fromEnum ArrayTypeC = 0
-    fromEnum ArrayTypeArray = 1
-    fromEnum ArrayTypePtrArray = 2
-    fromEnum ArrayTypeByteArray = 3
-    fromEnum (AnotherArrayType k) = k
-
-    toEnum 0 = ArrayTypeC
-    toEnum 1 = ArrayTypeArray
-    toEnum 2 = ArrayTypePtrArray
-    toEnum 3 = ArrayTypeByteArray
-    toEnum k = AnotherArrayType k
-
-
diff --git a/GI/GIRepository/Flags.hs b/GI/GIRepository/Flags.hs
deleted file mode 100644
--- a/GI/GIRepository/Flags.hs
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Flags
-    ( 
-
--- * Exported types
-    VFuncInfoFlags(..)                      ,
-    RepositoryLoadFlags(..)                 ,
-    FunctionInfoFlags(..)                   ,
-    FieldInfoFlags(..)                      ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-
-
-
--- Flags VFuncInfoFlags
-
-data VFuncInfoFlags = 
-      VFuncInfoFlagsMustChainUp
-    | VFuncInfoFlagsMustOverride
-    | VFuncInfoFlagsMustNotOverride
-    | VFuncInfoFlagsThrows
-    | AnotherVFuncInfoFlags Int
-    deriving (Show, Eq)
-
-instance Enum VFuncInfoFlags where
-    fromEnum VFuncInfoFlagsMustChainUp = 1
-    fromEnum VFuncInfoFlagsMustOverride = 2
-    fromEnum VFuncInfoFlagsMustNotOverride = 4
-    fromEnum VFuncInfoFlagsThrows = 8
-    fromEnum (AnotherVFuncInfoFlags k) = k
-
-    toEnum 1 = VFuncInfoFlagsMustChainUp
-    toEnum 2 = VFuncInfoFlagsMustOverride
-    toEnum 4 = VFuncInfoFlagsMustNotOverride
-    toEnum 8 = VFuncInfoFlagsThrows
-    toEnum k = AnotherVFuncInfoFlags k
-
-instance IsGFlag VFuncInfoFlags
-
--- Flags RepositoryLoadFlags
-
-data RepositoryLoadFlags = 
-      RepositoryLoadFlagsIrepositoryLoadFlagLazy
-    | AnotherRepositoryLoadFlags Int
-    deriving (Show, Eq)
-
-instance Enum RepositoryLoadFlags where
-    fromEnum RepositoryLoadFlagsIrepositoryLoadFlagLazy = 1
-    fromEnum (AnotherRepositoryLoadFlags k) = k
-
-    toEnum 1 = RepositoryLoadFlagsIrepositoryLoadFlagLazy
-    toEnum k = AnotherRepositoryLoadFlags k
-
-instance IsGFlag RepositoryLoadFlags
-
--- Flags FunctionInfoFlags
-
-data FunctionInfoFlags = 
-      FunctionInfoFlagsIsMethod
-    | FunctionInfoFlagsIsConstructor
-    | FunctionInfoFlagsIsGetter
-    | FunctionInfoFlagsIsSetter
-    | FunctionInfoFlagsWrapsVfunc
-    | FunctionInfoFlagsThrows
-    | AnotherFunctionInfoFlags Int
-    deriving (Show, Eq)
-
-instance Enum FunctionInfoFlags where
-    fromEnum FunctionInfoFlagsIsMethod = 1
-    fromEnum FunctionInfoFlagsIsConstructor = 2
-    fromEnum FunctionInfoFlagsIsGetter = 4
-    fromEnum FunctionInfoFlagsIsSetter = 8
-    fromEnum FunctionInfoFlagsWrapsVfunc = 16
-    fromEnum FunctionInfoFlagsThrows = 32
-    fromEnum (AnotherFunctionInfoFlags k) = k
-
-    toEnum 1 = FunctionInfoFlagsIsMethod
-    toEnum 2 = FunctionInfoFlagsIsConstructor
-    toEnum 4 = FunctionInfoFlagsIsGetter
-    toEnum 8 = FunctionInfoFlagsIsSetter
-    toEnum 16 = FunctionInfoFlagsWrapsVfunc
-    toEnum 32 = FunctionInfoFlagsThrows
-    toEnum k = AnotherFunctionInfoFlags k
-
-instance IsGFlag FunctionInfoFlags
-
--- Flags FieldInfoFlags
-
-data FieldInfoFlags = 
-      FieldInfoFlagsReadable
-    | FieldInfoFlagsWritable
-    | AnotherFieldInfoFlags Int
-    deriving (Show, Eq)
-
-instance Enum FieldInfoFlags where
-    fromEnum FieldInfoFlagsReadable = 1
-    fromEnum FieldInfoFlagsWritable = 2
-    fromEnum (AnotherFieldInfoFlags k) = k
-
-    toEnum 1 = FieldInfoFlagsReadable
-    toEnum 2 = FieldInfoFlagsWritable
-    toEnum k = AnotherFieldInfoFlags k
-
-instance IsGFlag FieldInfoFlags
-
-
diff --git a/GI/GIRepository/Functions.hs b/GI/GIRepository/Functions.hs
deleted file mode 100644
--- a/GI/GIRepository/Functions.hs
+++ /dev/null
@@ -1,3931 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.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 Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (TBasicType TInt)
--- 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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (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 : Just (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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Just (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 : Just (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 : Nothing
--- 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 TInt, 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 : Nothing
--- 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 TInt
-    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 : Just (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 : Just (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 TPtr, 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 TInt, 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 TInt, 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 : Just (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 TPtr
-    Ptr Argument ->                         -- in_args : TInterface "GIRepository" "Argument"
-    Int32 ->                                -- n_in_args : TBasicType TInt
-    Ptr Argument ->                         -- out_args : TInterface "GIRepository" "Argument"
-    Int32 ->                                -- n_out_args : TBasicType TInt
-    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 : Just (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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (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 : Just (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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (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 TInt
-    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 : Just (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 : Just (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 : Nothing
--- 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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (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 : Just (TBasicType TInt)
--- 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 : Just (TBasicType TInt)
--- 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'
-    touchManagedPtr info
-    return result
-
-
-
diff --git a/GI/GIRepository/Objects.hs b/GI/GIRepository/Objects.hs
deleted file mode 100644
--- a/GI/GIRepository/Objects.hs
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Objects
-    (     module GI.GIRepository.Objects.Repository,
-
-
-    ) where
-
-import GI.GIRepository.Objects.Repository
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-
diff --git a/GI/GIRepository/Objects/Repository.hs b/GI/GIRepository/Objects/Repository.hs
deleted file mode 100644
--- a/GI/GIRepository/Objects/Repository.hs
+++ /dev/null
@@ -1,976 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Objects.Repository
-    ( 
-
--- * Exported types
-    Repository(..)                          ,
-    RepositoryK                             ,
-    toRepository                            ,
-    noRepository                            ,
-
-
- -- * Methods
--- ** repositoryDump
-    repositoryDump                          ,
-
-
--- ** repositoryEnumerateVersions
-    RepositoryEnumerateVersionsMethodInfo   ,
-    repositoryEnumerateVersions             ,
-
-
--- ** repositoryErrorQuark
-    repositoryErrorQuark                    ,
-
-
--- ** repositoryFindByErrorDomain
-    RepositoryFindByErrorDomainMethodInfo   ,
-    repositoryFindByErrorDomain             ,
-
-
--- ** repositoryFindByGtype
-    RepositoryFindByGtypeMethodInfo         ,
-    repositoryFindByGtype                   ,
-
-
--- ** repositoryFindByName
-    RepositoryFindByNameMethodInfo          ,
-    repositoryFindByName                    ,
-
-
--- ** repositoryGetCPrefix
-    RepositoryGetCPrefixMethodInfo          ,
-    repositoryGetCPrefix                    ,
-
-
--- ** repositoryGetDefault
-    repositoryGetDefault                    ,
-
-
--- ** repositoryGetDependencies
-    RepositoryGetDependenciesMethodInfo     ,
-    repositoryGetDependencies               ,
-
-
--- ** repositoryGetImmediateDependencies
-    RepositoryGetImmediateDependenciesMethodInfo,
-    repositoryGetImmediateDependencies      ,
-
-
--- ** repositoryGetInfo
-    RepositoryGetInfoMethodInfo             ,
-    repositoryGetInfo                       ,
-
-
--- ** repositoryGetLoadedNamespaces
-    RepositoryGetLoadedNamespacesMethodInfo ,
-    repositoryGetLoadedNamespaces           ,
-
-
--- ** repositoryGetNInfos
-    RepositoryGetNInfosMethodInfo           ,
-    repositoryGetNInfos                     ,
-
-
--- ** repositoryGetSearchPath
-    repositoryGetSearchPath                 ,
-
-
--- ** repositoryGetSharedLibrary
-    RepositoryGetSharedLibraryMethodInfo    ,
-    repositoryGetSharedLibrary              ,
-
-
--- ** repositoryGetTypelibPath
-    RepositoryGetTypelibPathMethodInfo      ,
-    repositoryGetTypelibPath                ,
-
-
--- ** repositoryGetVersion
-    RepositoryGetVersionMethodInfo          ,
-    repositoryGetVersion                    ,
-
-
--- ** repositoryIsRegistered
-    RepositoryIsRegisteredMethodInfo        ,
-    repositoryIsRegistered                  ,
-
-
--- ** repositoryLoadTypelib
-    RepositoryLoadTypelibMethodInfo         ,
-    repositoryLoadTypelib                   ,
-
-
--- ** repositoryPrependLibraryPath
-    repositoryPrependLibraryPath            ,
-
-
--- ** repositoryPrependSearchPath
-    repositoryPrependSearchPath             ,
-
-
--- ** repositoryRequire
-    RepositoryRequireMethodInfo             ,
-    repositoryRequire                       ,
-
-
--- ** repositoryRequirePrivate
-    RepositoryRequirePrivateMethodInfo      ,
-    repositoryRequirePrivate                ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-import qualified GI.GObject as GObject
-
-newtype Repository = Repository (ForeignPtr Repository)
-foreign import ccall "g_irepository_get_type"
-    c_g_irepository_get_type :: IO GType
-
-type instance ParentTypes Repository = RepositoryParentTypes
-type RepositoryParentTypes = '[GObject.Object]
-
-instance GObject Repository where
-    gobjectIsInitiallyUnowned _ = False
-    gobjectType _ = c_g_irepository_get_type
-    
-
-class GObject o => RepositoryK o
-instance (GObject o, IsDescendantOf Repository o) => RepositoryK o
-
-toRepository :: RepositoryK o => o -> IO Repository
-toRepository = unsafeCastTo Repository
-
-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)] :: [(Symbol, *)])
-
--- method Repository::enumerate_versions
--- method type : OrdinaryMethod
--- 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 : []
--- returnType : Just (TGList (TBasicType TUTF8))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_enumerate_versions" g_irepository_enumerate_versions :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO (Ptr (GList CString))
-
-
-repositoryEnumerateVersions ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    result' <- unpackGList result
-    result'' <- mapM cstringToText result'
-    mapGList freeMem result
-    g_list_free result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TInterface "GIRepository" "BaseInfo")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_find_by_error_domain" g_irepository_find_by_error_domain :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    Word32 ->                               -- domain : TBasicType TUInt32
-    IO (Ptr BaseInfo)
-
-
-repositoryFindByErrorDomain ::
-    (MonadIO m, RepositoryK a) =>
-    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
-    checkUnexpectedReturnNULL "g_irepository_find_by_error_domain" result
-    result' <- (wrapBoxed BaseInfo) result
-    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 {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 : []
--- returnType : Just (TInterface "GIRepository" "BaseInfo")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_find_by_gtype" g_irepository_find_by_gtype :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CGType ->                               -- gtype : TBasicType TGType
-    IO (Ptr BaseInfo)
-
-
-repositoryFindByGtype ::
-    (MonadIO m, RepositoryK a) =>
-    a                                       -- _obj
-    -> GType                                -- gtype
-    -> m BaseInfo                           -- result
-repositoryFindByGtype _obj gtype = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let gtype' = gtypeToCGType gtype
-    result <- g_irepository_find_by_gtype _obj' gtype'
-    checkUnexpectedReturnNULL "g_irepository_find_by_gtype" result
-    result' <- (wrapBoxed BaseInfo) result
-    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 {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 : []
--- returnType : Just (TInterface "GIRepository" "BaseInfo")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_find_by_name" g_irepository_find_by_name :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    CString ->                              -- name : TBasicType TUTF8
-    IO (Ptr BaseInfo)
-
-
-repositoryFindByName ::
-    (MonadIO m, RepositoryK a) =>
-    a                                       -- _obj
-    -> T.Text                               -- namespace_
-    -> T.Text                               -- name
-    -> m BaseInfo                           -- result
-repositoryFindByName _obj namespace_ name = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    namespace_' <- textToCString namespace_
-    name' <- textToCString 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 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 {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 : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_c_prefix" g_irepository_get_c_prefix :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO CString
-
-
-repositoryGetCPrefix ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    checkUnexpectedReturnNULL "g_irepository_get_c_prefix" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_dependencies" g_irepository_get_dependencies :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO (Ptr CString)
-
-
-repositoryGetDependencies ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    checkUnexpectedReturnNULL "g_irepository_get_dependencies" result
-    result' <- unpackZeroTerminatedUTF8CArray result
-    mapZeroTerminatedCArray freeMem result
-    freeMem result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_immediate_dependencies" g_irepository_get_immediate_dependencies :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO (Ptr CString)
-
-
-repositoryGetImmediateDependencies ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    checkUnexpectedReturnNULL "g_irepository_get_immediate_dependencies" result
-    result' <- unpackZeroTerminatedUTF8CArray result
-    mapZeroTerminatedCArray freeMem result
-    freeMem result
-    touchManagedPtr _obj
-    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 {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 TInt, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GIRepository" "BaseInfo")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_info" g_irepository_get_info :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    Int32 ->                                -- index : TBasicType TInt
-    IO (Ptr BaseInfo)
-
-
-repositoryGetInfo ::
-    (MonadIO m, RepositoryK a) =>
-    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
-    checkUnexpectedReturnNULL "g_irepository_get_info" result
-    result' <- (wrapBoxed BaseInfo) result
-    touchManagedPtr _obj
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "Repository", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_loaded_namespaces" g_irepository_get_loaded_namespaces :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    IO (Ptr CString)
-
-
-repositoryGetLoadedNamespaces ::
-    (MonadIO m, RepositoryK a) =>
-    a                                       -- _obj
-    -> m [T.Text]                           -- result
-repositoryGetLoadedNamespaces _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- g_irepository_get_loaded_namespaces _obj'
-    checkUnexpectedReturnNULL "g_irepository_get_loaded_namespaces" result
-    result' <- unpackZeroTerminatedUTF8CArray result
-    mapZeroTerminatedCArray freeMem result
-    freeMem result
-    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 {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 : []
--- returnType : Just (TBasicType TInt)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_n_infos" g_irepository_get_n_infos :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO Int32
-
-
-repositoryGetNInfos ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_shared_library" g_irepository_get_shared_library :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO CString
-
-
-repositoryGetSharedLibrary ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    checkUnexpectedReturnNULL "g_irepository_get_shared_library" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_typelib_path" g_irepository_get_typelib_path :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO CString
-
-
-repositoryGetTypelibPath ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    checkUnexpectedReturnNULL "g_irepository_get_typelib_path" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_version" g_irepository_get_version :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    IO CString
-
-
-repositoryGetVersion ::
-    (MonadIO m, RepositoryK a) =>
-    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_'
-    checkUnexpectedReturnNULL "g_irepository_get_version" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_is_registered" g_irepository_is_registered :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    CString ->                              -- version : TBasicType TUTF8
-    IO CInt
-
-
-repositoryIsRegistered ::
-    (MonadIO m, RepositoryK a) =>
-    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_
-    maybeVersion <- case version of
-        Nothing -> return nullPtr
-        Just jVersion -> do
-            jVersion' <- textToCString jVersion
-            return jVersion'
-    result <- g_irepository_is_registered _obj' namespace_' maybeVersion
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TBasicType TUTF8)
--- throws : True
--- Skip return : False
-
-foreign import ccall "g_irepository_load_typelib" g_irepository_load_typelib :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    Ptr Typelib ->                          -- typelib : TInterface "GIRepository" "Typelib"
-    CUInt ->                                -- flags : TInterface "GIRepository" "RepositoryLoadFlags"
-    Ptr (Ptr GError) ->                     -- error
-    IO CString
-
-
-repositoryLoadTypelib ::
-    (MonadIO m, RepositoryK a) =>
-    a                                       -- _obj
-    -> Typelib                              -- typelib
-    -> [RepositoryLoadFlags]                -- flags
-    -> m T.Text                             -- result
-repositoryLoadTypelib _obj typelib flags = liftIO $ do
-    let _obj' = unsafeManagedPtrCastPtr _obj
-    let typelib' = unsafeManagedPtrGetPtr typelib
-    let flags' = gflagsToWord flags
-    onException (do
-        result <- propagateGError $ g_irepository_load_typelib _obj' typelib' flags'
-        checkUnexpectedReturnNULL "g_irepository_load_typelib" result
-        result' <- cstringToText result
-        touchManagedPtr _obj
-        touchManagedPtr typelib
-        return result'
-     ) (do
-        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 {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 : []
--- returnType : Just (TInterface "GIRepository" "Typelib")
--- throws : True
--- Skip return : False
-
-foreign import ccall "g_irepository_require" g_irepository_require :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    CString ->                              -- version : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface "GIRepository" "RepositoryLoadFlags"
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr Typelib)
-
-
-repositoryRequire ::
-    (MonadIO m, RepositoryK a) =>
-    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_
-    maybeVersion <- case version of
-        Nothing -> return nullPtr
-        Just jVersion -> do
-            jVersion' <- textToCString jVersion
-            return jVersion'
-    let flags' = gflagsToWord flags
-    onException (do
-        result <- propagateGError $ g_irepository_require _obj' namespace_' maybeVersion flags'
-        checkUnexpectedReturnNULL "g_irepository_require" result
-        result' <- (newPtr Typelib) result
-        touchManagedPtr _obj
-        freeMem namespace_'
-        freeMem maybeVersion
-        return result'
-     ) (do
-        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 {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 : []
--- returnType : Just (TInterface "GIRepository" "Typelib")
--- throws : True
--- Skip return : False
-
-foreign import ccall "g_irepository_require_private" g_irepository_require_private :: 
-    Ptr Repository ->                       -- _obj : TInterface "GIRepository" "Repository"
-    CString ->                              -- typelib_dir : TBasicType TUTF8
-    CString ->                              -- namespace_ : TBasicType TUTF8
-    CString ->                              -- version : TBasicType TUTF8
-    CUInt ->                                -- flags : TInterface "GIRepository" "RepositoryLoadFlags"
-    Ptr (Ptr GError) ->                     -- error
-    IO (Ptr Typelib)
-
-
-repositoryRequirePrivate ::
-    (MonadIO m, RepositoryK a) =>
-    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
-    typelibDir' <- textToCString typelibDir
-    namespace_' <- textToCString namespace_
-    maybeVersion <- case version of
-        Nothing -> return nullPtr
-        Just jVersion -> do
-            jVersion' <- textToCString jVersion
-            return jVersion'
-    let flags' = gflagsToWord flags
-    onException (do
-        result <- propagateGError $ g_irepository_require_private _obj' typelibDir' namespace_' maybeVersion flags'
-        checkUnexpectedReturnNULL "g_irepository_require_private" result
-        result' <- (newPtr Typelib) result
-        touchManagedPtr _obj
-        freeMem typelibDir'
-        freeMem namespace_'
-        freeMem maybeVersion
-        return result'
-     ) (do
-        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 {argCName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : True
--- Skip return : False
-
-foreign import ccall "g_irepository_dump" g_irepository_dump :: 
-    CString ->                              -- arg : TBasicType TUTF8
-    Ptr (Ptr GError) ->                     -- error
-    IO CInt
-
-
-repositoryDump ::
-    (MonadIO m) =>
-    T.Text                                  -- arg
-    -> m ()                                 -- result
-repositoryDump arg = liftIO $ do
-    arg' <- textToCString arg
-    onException (do
-        _ <- propagateGError $ g_irepository_dump arg'
-        freeMem arg'
-        return ()
-     ) (do
-        freeMem arg'
-     )
-
--- method Repository::error_quark
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- returnType : Just (TBasicType TUInt32)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_error_quark" g_irepository_error_quark :: 
-    IO Word32
-
-
-repositoryErrorQuark ::
-    (MonadIO m) =>
-    m Word32                                -- result
-repositoryErrorQuark  = liftIO $ do
-    result <- g_irepository_error_quark
-    return result
-
--- method Repository::get_default
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- returnType : Just (TInterface "GIRepository" "Repository")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_default" g_irepository_get_default :: 
-    IO (Ptr Repository)
-
-
-repositoryGetDefault ::
-    (MonadIO m) =>
-    m Repository                            -- result
-repositoryGetDefault  = liftIO $ do
-    result <- g_irepository_get_default
-    checkUnexpectedReturnNULL "g_irepository_get_default" result
-    result' <- (newObject Repository) result
-    return result'
-
--- method Repository::get_search_path
--- method type : MemberFunction
--- Args : []
--- Lengths : []
--- returnType : Just (TGSList (TBasicType TFileName))
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_get_search_path" g_irepository_get_search_path :: 
-    IO (Ptr (GSList CString))
-
-
-repositoryGetSearchPath ::
-    (MonadIO m) =>
-    m [[Char]]                              -- result
-repositoryGetSearchPath  = liftIO $ do
-    result <- g_irepository_get_search_path
-    result' <- unpackGSList result
-    result'' <- mapM cstringToString result'
-    return result''
-
--- method Repository::prepend_library_path
--- method type : MemberFunction
--- Args : [Arg {argCName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_prepend_library_path" g_irepository_prepend_library_path :: 
-    CString ->                              -- directory : TBasicType TUTF8
-    IO ()
-
-
-repositoryPrependLibraryPath ::
-    (MonadIO m) =>
-    T.Text                                  -- directory
-    -> m ()                                 -- result
-repositoryPrependLibraryPath directory = liftIO $ do
-    directory' <- textToCString directory
-    g_irepository_prepend_library_path directory'
-    freeMem directory'
-    return ()
-
--- method Repository::prepend_search_path
--- method type : MemberFunction
--- Args : [Arg {argCName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_irepository_prepend_search_path" g_irepository_prepend_search_path :: 
-    CString ->                              -- directory : TBasicType TFileName
-    IO ()
-
-
-repositoryPrependSearchPath ::
-    (MonadIO m) =>
-    [Char]                                  -- directory
-    -> m ()                                 -- result
-repositoryPrependSearchPath directory = liftIO $ do
-    directory' <- stringToCString directory
-    g_irepository_prepend_search_path directory'
-    freeMem directory'
-    return ()
-
-
diff --git a/GI/GIRepository/Objects/Repository.hs-boot b/GI/GIRepository/Objects/Repository.hs-boot
deleted file mode 100644
--- a/GI/GIRepository/Objects/Repository.hs-boot
+++ /dev/null
@@ -1,30 +0,0 @@
-module GI.GIRepository.Objects.Repository where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Repository = Repository (ForeignPtr Repository)
-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
deleted file mode 100644
--- a/GI/GIRepository/Structs.hs
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Structs
-    (     module GI.GIRepository.Structs.AttributeIter,
-    module GI.GIRepository.Structs.BaseInfo ,
-    module GI.GIRepository.Structs.Typelib  ,
-    module GI.GIRepository.Structs.UnresolvedInfo,
-
-
-    ) where
-
-import GI.GIRepository.Structs.AttributeIter
-import GI.GIRepository.Structs.BaseInfo
-import GI.GIRepository.Structs.Typelib
-import GI.GIRepository.Structs.UnresolvedInfo
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-
diff --git a/GI/GIRepository/Structs/AttributeIter.hs b/GI/GIRepository/Structs/AttributeIter.hs
deleted file mode 100644
--- a/GI/GIRepository/Structs/AttributeIter.hs
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-An opaque structure used to iterate over attributes
-in a #GIBaseInfo struct.
--}
-
-module GI.GIRepository.Structs.AttributeIter
-    ( 
-
--- * Exported types
-    AttributeIter(..)                       ,
-    newZeroAttributeIter                    ,
-    noAttributeIter                         ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-newtype AttributeIter = AttributeIter (ForeignPtr AttributeIter)
-instance WrappedPtr AttributeIter where
-    wrappedPtrCalloc = callocBytes 32
-    wrappedPtrCopy = copyPtr 32
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `AttributeIter` struct initialized to zero.
-newZeroAttributeIter :: MonadIO m => m AttributeIter
-newZeroAttributeIter = liftIO $ wrappedPtrCalloc >>= wrapPtr AttributeIter
-
-instance tag ~ 'AttrSet => Constructible AttributeIter tag where
-    new _ attrs = do
-        o <- newZeroAttributeIter
-        GI.Attributes.set o attrs
-        return o
-
-
-noAttributeIter :: Maybe AttributeIter
-noAttributeIter = Nothing
-
-
-type instance AttributeList AttributeIter = AttributeIterAttributeList
-type AttributeIterAttributeList = ('[ ] :: [(Symbol, *)])
-
-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/AttributeIter.hs-boot b/GI/GIRepository/Structs/AttributeIter.hs-boot
deleted file mode 100644
--- a/GI/GIRepository/Structs/AttributeIter.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.GIRepository.Structs.AttributeIter where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype AttributeIter = AttributeIter (ForeignPtr AttributeIter)
-instance WrappedPtr AttributeIter where
diff --git a/GI/GIRepository/Structs/BaseInfo.hs b/GI/GIRepository/Structs/BaseInfo.hs
deleted file mode 100644
--- a/GI/GIRepository/Structs/BaseInfo.hs
+++ /dev/null
@@ -1,440 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-GIBaseInfo is the common base struct of all other *Info structs
-accessible through the #GIRepository API.
-All other structs can be casted to a #GIBaseInfo, for instance:
-<example>
-<title>Casting a #GIFunctionInfo to #GIBaseInfo</title>
-<programlisting>
-   GIFunctionInfo *function_info = ...;
-   GIBaseInfo *info = (GIBaseInfo*)function_info;
-</programlisting>
-</example>
-Most #GIRepository APIs returning a #GIBaseInfo is actually creating a new struct, in other
-words, g_base_info_unref() has to be called when done accessing the data.
-GIBaseInfos are normally accessed by calling either
-g_irepository_find_by_name(), g_irepository_find_by_gtype() or g_irepository_get_info().
-
-<example>
-<title>Getting the Button of the Gtk typelib</title>
-<programlisting>
-   GIBaseInfo *button_info = g_irepository_find_by_name(NULL, "Gtk", "Button");
-   ... use button_info ...
-   g_base_info_unref(button_info);
-</programlisting>
-</example>
-
-<refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy">
-<title role="struct_hierarchy.title">Struct hierarchy</title>
-<synopsis>
-  GIBaseInfo
-   +----<link linkend="gi-GIArgInfo">GIArgInfo</link>
-   +----<link linkend="gi-GICallableInfo">GICallableInfo</link>
-   +----<link linkend="gi-GIConstantInfo">GIConstantInfo</link>
-   +----<link linkend="gi-GIFieldInfo">GIFieldInfo</link>
-   +----<link linkend="gi-GIPropertyInfo">GIPropertyInfo</link>
-   +----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
-   +----<link linkend="gi-GITypeInfo">GITypeInfo</link>
-</synopsis>
-</refsect1>
--}
-
-module GI.GIRepository.Structs.BaseInfo
-    ( 
-
--- * 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               ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-newtype BaseInfo = BaseInfo (ForeignPtr BaseInfo)
-foreign import ccall "g_base_info_gtype_get_type" c_g_base_info_gtype_get_type :: 
-    IO GType
-
-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
-
-instance tag ~ 'AttrSet => Constructible BaseInfo tag where
-    new _ attrs = do
-        o <- newZeroBaseInfo
-        GI.Attributes.set o attrs
-        return o
-
-
-noBaseInfo :: Maybe BaseInfo
-noBaseInfo = Nothing
-
-
-type instance AttributeList BaseInfo = BaseInfoAttributeList
-type BaseInfoAttributeList = ('[ ] :: [(Symbol, *)])
-
--- method BaseInfo::equal
--- method type : OrdinaryMethod
--- 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 : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_equal" g_base_info_equal :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    Ptr BaseInfo ->                         -- info2 : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-baseInfoEqual ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> BaseInfo                             -- info2
-    -> m Bool                               -- result
-baseInfoEqual _obj info2 = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let info2' = unsafeManagedPtrGetPtr info2
-    result <- g_base_info_equal _obj' info2'
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    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 {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 : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_get_attribute" g_base_info_get_attribute :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    CString ->                              -- name : TBasicType TUTF8
-    IO CString
-
-
-baseInfoGetAttribute ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> T.Text                               -- name
-    -> m T.Text                             -- result
-baseInfoGetAttribute _obj name = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    name' <- textToCString name
-    result <- g_base_info_get_attribute _obj' name'
-    checkUnexpectedReturnNULL "g_base_info_get_attribute" result
-    result' <- cstringToText result
-    touchManagedPtr _obj
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GIRepository" "BaseInfo")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_get_container" g_base_info_get_container :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr BaseInfo)
-
-
-baseInfoGetContainer ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> m BaseInfo                           -- result
-baseInfoGetContainer _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_base_info_get_container _obj'
-    checkUnexpectedReturnNULL "g_base_info_get_container" result
-    result' <- (newBoxed BaseInfo) result
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_get_name" g_base_info_get_name :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-baseInfoGetName ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> m T.Text                             -- result
-baseInfoGetName _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_base_info_get_name _obj'
-    checkUnexpectedReturnNULL "g_base_info_get_name" result
-    result' <- cstringToText result
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_get_namespace" g_base_info_get_namespace :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    IO CString
-
-
-baseInfoGetNamespace ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> m T.Text                             -- result
-baseInfoGetNamespace _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_base_info_get_namespace _obj'
-    checkUnexpectedReturnNULL "g_base_info_get_namespace" result
-    result' <- cstringToText result
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GIRepository" "InfoType")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_get_type" g_base_info_get_type :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    IO CUInt
-
-
-baseInfoGetType ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> m InfoType                           -- result
-baseInfoGetType _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_base_info_get_type _obj'
-    let result' = (toEnum . fromIntegral) result
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TInterface "GIRepository" "Typelib")
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_get_typelib" g_base_info_get_typelib :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    IO (Ptr Typelib)
-
-
-baseInfoGetTypelib ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> m Typelib                            -- result
-baseInfoGetTypelib _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_base_info_get_typelib _obj'
-    checkUnexpectedReturnNULL "g_base_info_get_typelib" result
-    result' <- (newPtr Typelib) result
-    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 {argCName = "_obj", argType = TInterface "GIRepository" "BaseInfo", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_is_deprecated" g_base_info_is_deprecated :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    IO CInt
-
-
-baseInfoIsDeprecated ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> m Bool                               -- result
-baseInfoIsDeprecated _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_base_info_is_deprecated _obj'
-    let result' = (/= 0) result
-    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 {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 : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_base_info_iterate_attributes" g_base_info_iterate_attributes :: 
-    Ptr BaseInfo ->                         -- _obj : TInterface "GIRepository" "BaseInfo"
-    Ptr AttributeIter ->                    -- iterator : TInterface "GIRepository" "AttributeIter"
-    Ptr CString ->                          -- name : TBasicType TUTF8
-    Ptr CString ->                          -- value : TBasicType TUTF8
-    IO CInt
-
-
-baseInfoIterateAttributes ::
-    (MonadIO m) =>
-    BaseInfo                                -- _obj
-    -> AttributeIter                        -- iterator
-    -> m (Bool,T.Text,T.Text)               -- result
-baseInfoIterateAttributes _obj iterator = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    let iterator' = unsafeManagedPtrGetPtr iterator
-    name <- allocMem :: IO (Ptr CString)
-    value <- allocMem :: IO (Ptr CString)
-    result <- g_base_info_iterate_attributes _obj' iterator' name value
-    let result' = (/= 0) result
-    name' <- peek name
-    name'' <- cstringToText name'
-    value' <- peek value
-    value'' <- cstringToText value'
-    touchManagedPtr _obj
-    touchManagedPtr iterator
-    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
deleted file mode 100644
--- a/GI/GIRepository/Structs/BaseInfo.hs-boot
+++ /dev/null
@@ -1,20 +0,0 @@
-module GI.GIRepository.Structs.BaseInfo where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype 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
deleted file mode 100644
--- a/GI/GIRepository/Structs/Typelib.hs
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-TODO
--}
-
-module GI.GIRepository.Structs.Typelib
-    ( 
-
--- * Exported types
-    Typelib(..)                             ,
-    noTypelib                               ,
-
-
- -- * Methods
--- ** typelibFree
-    TypelibFreeMethodInfo                   ,
-    typelibFree                             ,
-
-
--- ** typelibGetNamespace
-    TypelibGetNamespaceMethodInfo           ,
-    typelibGetNamespace                     ,
-
-
--- ** typelibSymbol
-    TypelibSymbolMethodInfo                 ,
-    typelibSymbol                           ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-newtype Typelib = Typelib (ForeignPtr Typelib)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr Typelib where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-noTypelib :: Maybe Typelib
-noTypelib = Nothing
-
-
-type instance AttributeList Typelib = TypelibAttributeList
-type TypelibAttributeList = ('[ ] :: [(Symbol, *)])
-
--- method Typelib::free
--- method type : OrdinaryMethod
--- Args : [Arg {argCName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Nothing
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_typelib_free" g_typelib_free :: 
-    Ptr Typelib ->                          -- _obj : TInterface "GIRepository" "Typelib"
-    IO ()
-
-
-typelibFree ::
-    (MonadIO 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 {argCName = "_obj", argType = TInterface "GIRepository" "Typelib", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TUTF8)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_typelib_get_namespace" g_typelib_get_namespace :: 
-    Ptr Typelib ->                          -- _obj : TInterface "GIRepository" "Typelib"
-    IO CString
-
-
-typelibGetNamespace ::
-    (MonadIO m) =>
-    Typelib                                 -- _obj
-    -> m T.Text                             -- result
-typelibGetNamespace _obj = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- g_typelib_get_namespace _obj'
-    checkUnexpectedReturnNULL "g_typelib_get_namespace" result
-    result' <- cstringToText result
-    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 {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 TPtr, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
--- Lengths : []
--- returnType : Just (TBasicType TBoolean)
--- throws : False
--- Skip return : False
-
-foreign import ccall "g_typelib_symbol" g_typelib_symbol :: 
-    Ptr Typelib ->                          -- _obj : TInterface "GIRepository" "Typelib"
-    CString ->                              -- symbol_name : TBasicType TUTF8
-    Ptr () ->                               -- symbol : TBasicType TPtr
-    IO CInt
-
-
-typelibSymbol ::
-    (MonadIO m) =>
-    Typelib                                 -- _obj
-    -> T.Text                               -- symbolName
-    -> Ptr ()                               -- symbol
-    -> m Bool                               -- result
-typelibSymbol _obj symbolName symbol = liftIO $ do
-    let _obj' = unsafeManagedPtrGetPtr _obj
-    symbolName' <- textToCString symbolName
-    result <- g_typelib_symbol _obj' symbolName' symbol
-    let result' = (/= 0) result
-    touchManagedPtr _obj
-    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
deleted file mode 100644
--- a/GI/GIRepository/Structs/Typelib.hs-boot
+++ /dev/null
@@ -1,14 +0,0 @@
-module GI.GIRepository.Structs.Typelib where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Typelib = Typelib (ForeignPtr Typelib)
-instance WrappedPtr Typelib where
-data TypelibFreeMethodInfo
-data TypelibGetNamespaceMethodInfo
-data TypelibSymbolMethodInfo
diff --git a/GI/GIRepository/Structs/UnresolvedInfo.hs b/GI/GIRepository/Structs/UnresolvedInfo.hs
deleted file mode 100644
--- a/GI/GIRepository/Structs/UnresolvedInfo.hs
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-
-Represents a unresolved type in a typelib.
--}
-
-module GI.GIRepository.Structs.UnresolvedInfo
-    ( 
-
--- * Exported types
-    UnresolvedInfo(..)                      ,
-    noUnresolvedInfo                        ,
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-newtype UnresolvedInfo = UnresolvedInfo (ForeignPtr UnresolvedInfo)
--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?
-instance WrappedPtr UnresolvedInfo where
-    wrappedPtrCalloc = return nullPtr
-    wrappedPtrCopy = return
-    wrappedPtrFree = Nothing
-
-noUnresolvedInfo :: Maybe UnresolvedInfo
-noUnresolvedInfo = Nothing
-
-
-type instance AttributeList UnresolvedInfo = UnresolvedInfoAttributeList
-type UnresolvedInfoAttributeList = ('[ ] :: [(Symbol, *)])
-
-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/Structs/UnresolvedInfo.hs-boot b/GI/GIRepository/Structs/UnresolvedInfo.hs-boot
deleted file mode 100644
--- a/GI/GIRepository/Structs/UnresolvedInfo.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.GIRepository.Structs.UnresolvedInfo where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype UnresolvedInfo = UnresolvedInfo (ForeignPtr UnresolvedInfo)
-instance WrappedPtr UnresolvedInfo where
diff --git a/GI/GIRepository/Types.hs b/GI/GIRepository/Types.hs
deleted file mode 100644
--- a/GI/GIRepository/Types.hs
+++ /dev/null
@@ -1,24 +0,0 @@
-module GI.GIRepository.Types
-    (     module GI.GIRepository.Objects.Repository,
-    module GI.GIRepository.Structs.AttributeIter,
-    module GI.GIRepository.Structs.BaseInfo ,
-    module GI.GIRepository.Structs.Typelib  ,
-    module GI.GIRepository.Structs.UnresolvedInfo,
-    module GI.GIRepository.Unions.Argument  ,
-    module GI.GIRepository.Enums            ,
-    module GI.GIRepository.Flags            ,
-
-
-    ) where
-
-
-import {-# SOURCE #-} GI.GIRepository.Objects.Repository
-import {-# SOURCE #-} GI.GIRepository.Structs.AttributeIter
-import {-# SOURCE #-} GI.GIRepository.Structs.BaseInfo
-import {-# SOURCE #-} GI.GIRepository.Structs.Typelib
-import {-# SOURCE #-} GI.GIRepository.Structs.UnresolvedInfo
-import {-# SOURCE #-} GI.GIRepository.Unions.Argument
-
-import GI.GIRepository.Enums
-import GI.GIRepository.Flags
-
diff --git a/GI/GIRepository/Unions.hs b/GI/GIRepository/Unions.hs
deleted file mode 100644
--- a/GI/GIRepository/Unions.hs
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Unions
-    (     module GI.GIRepository.Unions.Argument  ,
-
-
-    ) where
-
-import GI.GIRepository.Unions.Argument
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-
diff --git a/GI/GIRepository/Unions/Argument.hs b/GI/GIRepository/Unions/Argument.hs
deleted file mode 100644
--- a/GI/GIRepository/Unions/Argument.hs
+++ /dev/null
@@ -1,738 +0,0 @@
-
-
-{- |
-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-License    : LGPL-2.1
-Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
--}
-
-module GI.GIRepository.Unions.Argument
-    ( 
-
--- * Exported types
-    Argument(..)                            ,
-    newZeroArgument                         ,
-    noArgument                              ,
-
-
- -- * Properties
--- ** VBoolean
-    argumentReadVBoolean                    ,
-    argumentVBoolean                        ,
-    argumentWriteVBoolean                   ,
-
-
--- ** VDouble
-    argumentReadVDouble                     ,
-    argumentVDouble                         ,
-    argumentWriteVDouble                    ,
-
-
--- ** VFloat
-    argumentReadVFloat                      ,
-    argumentVFloat                          ,
-    argumentWriteVFloat                     ,
-
-
--- ** VInt
-    argumentReadVInt                        ,
-    argumentVInt                            ,
-    argumentWriteVInt                       ,
-
-
--- ** VInt16
-    argumentReadVInt16                      ,
-    argumentVInt16                          ,
-    argumentWriteVInt16                     ,
-
-
--- ** VInt32
-    argumentReadVInt32                      ,
-    argumentVInt32                          ,
-    argumentWriteVInt32                     ,
-
-
--- ** VInt64
-    argumentReadVInt64                      ,
-    argumentVInt64                          ,
-    argumentWriteVInt64                     ,
-
-
--- ** VInt8
-    argumentReadVInt8                       ,
-    argumentVInt8                           ,
-    argumentWriteVInt8                      ,
-
-
--- ** VLong
-    argumentReadVLong                       ,
-    argumentVLong                           ,
-    argumentWriteVLong                      ,
-
-
--- ** VPointer
-    argumentClearVPointer                   ,
-    argumentReadVPointer                    ,
-    argumentVPointer                        ,
-    argumentWriteVPointer                   ,
-
-
--- ** VShort
-    argumentReadVShort                      ,
-    argumentVShort                          ,
-    argumentWriteVShort                     ,
-
-
--- ** VSize
-    argumentReadVSize                       ,
-    argumentVSize                           ,
-    argumentWriteVSize                      ,
-
-
--- ** VSsize
-    argumentReadVSsize                      ,
-    argumentVSsize                          ,
-    argumentWriteVSsize                     ,
-
-
--- ** VString
-    argumentClearVString                    ,
-    argumentReadVString                     ,
-    argumentVString                         ,
-    argumentWriteVString                    ,
-
-
--- ** VUint
-    argumentReadVUint                       ,
-    argumentVUint                           ,
-    argumentWriteVUint                      ,
-
-
--- ** VUint16
-    argumentReadVUint16                     ,
-    argumentVUint16                         ,
-    argumentWriteVUint16                    ,
-
-
--- ** VUint32
-    argumentReadVUint32                     ,
-    argumentVUint32                         ,
-    argumentWriteVUint32                    ,
-
-
--- ** VUint64
-    argumentReadVUint64                     ,
-    argumentVUint64                         ,
-    argumentWriteVUint64                    ,
-
-
--- ** VUint8
-    argumentReadVUint8                      ,
-    argumentVUint8                          ,
-    argumentWriteVUint8                     ,
-
-
--- ** VUlong
-    argumentReadVUlong                      ,
-    argumentVUlong                          ,
-    argumentWriteVUlong                     ,
-
-
--- ** VUshort
-    argumentReadVUshort                     ,
-    argumentVUshort                         ,
-    argumentWriteVUshort                    ,
-
-
-
-
-    ) where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-import GI.GIRepository.Types
-import GI.GIRepository.Callbacks
-
-newtype Argument = Argument (ForeignPtr Argument)
-instance WrappedPtr Argument where
-    wrappedPtrCalloc = callocBytes 8
-    wrappedPtrCopy = copyPtr 8
-    wrappedPtrFree = Just ptr_to_g_free
-
--- | Construct a `Argument` struct initialized to zero.
-newZeroArgument :: MonadIO m => m Argument
-newZeroArgument = liftIO $ wrappedPtrCalloc >>= wrapPtr Argument
-
-instance tag ~ 'AttrSet => Constructible Argument tag where
-    new _ attrs = do
-        o <- newZeroArgument
-        GI.Attributes.set o attrs
-        return o
-
-
-noArgument :: Maybe Argument
-noArgument = Nothing
-
-argumentReadVBoolean :: MonadIO m => Argument -> m Bool
-argumentReadVBoolean s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CInt
-    let val' = (/= 0) val
-    return val'
-
-argumentWriteVBoolean :: MonadIO m => Argument -> Bool -> m ()
-argumentWriteVBoolean s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = (fromIntegral . fromEnum) val
-    poke (ptr `plusPtr` 0) (val' :: CInt)
-
-data ArgumentVBooleanFieldInfo
-instance AttrInfo ArgumentVBooleanFieldInfo where
-    type AttrAllowedOps ArgumentVBooleanFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVBooleanFieldInfo = (~) Bool
-    type AttrBaseTypeConstraint ArgumentVBooleanFieldInfo = (~) Argument
-    type AttrGetType ArgumentVBooleanFieldInfo = Bool
-    type AttrLabel ArgumentVBooleanFieldInfo = "v_boolean"
-    attrGet _ = argumentReadVBoolean
-    attrSet _ = argumentWriteVBoolean
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVBoolean :: AttrLabelProxy "vBoolean"
-argumentVBoolean = AttrLabelProxy
-
-
-argumentReadVInt8 :: MonadIO m => Argument -> m Int8
-argumentReadVInt8 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int8
-    return val
-
-argumentWriteVInt8 :: MonadIO m => Argument -> Int8 -> m ()
-argumentWriteVInt8 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int8)
-
-data ArgumentVInt8FieldInfo
-instance AttrInfo ArgumentVInt8FieldInfo where
-    type AttrAllowedOps ArgumentVInt8FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVInt8FieldInfo = (~) Int8
-    type AttrBaseTypeConstraint ArgumentVInt8FieldInfo = (~) Argument
-    type AttrGetType ArgumentVInt8FieldInfo = Int8
-    type AttrLabel ArgumentVInt8FieldInfo = "v_int8"
-    attrGet _ = argumentReadVInt8
-    attrSet _ = argumentWriteVInt8
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVInt8 :: AttrLabelProxy "vInt8"
-argumentVInt8 = AttrLabelProxy
-
-
-argumentReadVUint8 :: MonadIO m => Argument -> m Word8
-argumentReadVUint8 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word8
-    return val
-
-argumentWriteVUint8 :: MonadIO m => Argument -> Word8 -> m ()
-argumentWriteVUint8 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word8)
-
-data ArgumentVUint8FieldInfo
-instance AttrInfo ArgumentVUint8FieldInfo where
-    type AttrAllowedOps ArgumentVUint8FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUint8FieldInfo = (~) Word8
-    type AttrBaseTypeConstraint ArgumentVUint8FieldInfo = (~) Argument
-    type AttrGetType ArgumentVUint8FieldInfo = Word8
-    type AttrLabel ArgumentVUint8FieldInfo = "v_uint8"
-    attrGet _ = argumentReadVUint8
-    attrSet _ = argumentWriteVUint8
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUint8 :: AttrLabelProxy "vUint8"
-argumentVUint8 = AttrLabelProxy
-
-
-argumentReadVInt16 :: MonadIO m => Argument -> m Int16
-argumentReadVInt16 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int16
-    return val
-
-argumentWriteVInt16 :: MonadIO m => Argument -> Int16 -> m ()
-argumentWriteVInt16 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int16)
-
-data ArgumentVInt16FieldInfo
-instance AttrInfo ArgumentVInt16FieldInfo where
-    type AttrAllowedOps ArgumentVInt16FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVInt16FieldInfo = (~) Int16
-    type AttrBaseTypeConstraint ArgumentVInt16FieldInfo = (~) Argument
-    type AttrGetType ArgumentVInt16FieldInfo = Int16
-    type AttrLabel ArgumentVInt16FieldInfo = "v_int16"
-    attrGet _ = argumentReadVInt16
-    attrSet _ = argumentWriteVInt16
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVInt16 :: AttrLabelProxy "vInt16"
-argumentVInt16 = AttrLabelProxy
-
-
-argumentReadVUint16 :: MonadIO m => Argument -> m Word16
-argumentReadVUint16 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word16
-    return val
-
-argumentWriteVUint16 :: MonadIO m => Argument -> Word16 -> m ()
-argumentWriteVUint16 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word16)
-
-data ArgumentVUint16FieldInfo
-instance AttrInfo ArgumentVUint16FieldInfo where
-    type AttrAllowedOps ArgumentVUint16FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUint16FieldInfo = (~) Word16
-    type AttrBaseTypeConstraint ArgumentVUint16FieldInfo = (~) Argument
-    type AttrGetType ArgumentVUint16FieldInfo = Word16
-    type AttrLabel ArgumentVUint16FieldInfo = "v_uint16"
-    attrGet _ = argumentReadVUint16
-    attrSet _ = argumentWriteVUint16
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUint16 :: AttrLabelProxy "vUint16"
-argumentVUint16 = AttrLabelProxy
-
-
-argumentReadVInt32 :: MonadIO m => Argument -> m Int32
-argumentReadVInt32 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-argumentWriteVInt32 :: MonadIO m => Argument -> Int32 -> m ()
-argumentWriteVInt32 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-data ArgumentVInt32FieldInfo
-instance AttrInfo ArgumentVInt32FieldInfo where
-    type AttrAllowedOps ArgumentVInt32FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVInt32FieldInfo = (~) Int32
-    type AttrBaseTypeConstraint ArgumentVInt32FieldInfo = (~) Argument
-    type AttrGetType ArgumentVInt32FieldInfo = Int32
-    type AttrLabel ArgumentVInt32FieldInfo = "v_int32"
-    attrGet _ = argumentReadVInt32
-    attrSet _ = argumentWriteVInt32
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVInt32 :: AttrLabelProxy "vInt32"
-argumentVInt32 = AttrLabelProxy
-
-
-argumentReadVUint32 :: MonadIO m => Argument -> m Word32
-argumentReadVUint32 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-argumentWriteVUint32 :: MonadIO m => Argument -> Word32 -> m ()
-argumentWriteVUint32 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-data ArgumentVUint32FieldInfo
-instance AttrInfo ArgumentVUint32FieldInfo where
-    type AttrAllowedOps ArgumentVUint32FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUint32FieldInfo = (~) Word32
-    type AttrBaseTypeConstraint ArgumentVUint32FieldInfo = (~) Argument
-    type AttrGetType ArgumentVUint32FieldInfo = Word32
-    type AttrLabel ArgumentVUint32FieldInfo = "v_uint32"
-    attrGet _ = argumentReadVUint32
-    attrSet _ = argumentWriteVUint32
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUint32 :: AttrLabelProxy "vUint32"
-argumentVUint32 = AttrLabelProxy
-
-
-argumentReadVInt64 :: MonadIO m => Argument -> m Int64
-argumentReadVInt64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int64
-    return val
-
-argumentWriteVInt64 :: MonadIO m => Argument -> Int64 -> m ()
-argumentWriteVInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int64)
-
-data ArgumentVInt64FieldInfo
-instance AttrInfo ArgumentVInt64FieldInfo where
-    type AttrAllowedOps ArgumentVInt64FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVInt64FieldInfo = (~) Int64
-    type AttrBaseTypeConstraint ArgumentVInt64FieldInfo = (~) Argument
-    type AttrGetType ArgumentVInt64FieldInfo = Int64
-    type AttrLabel ArgumentVInt64FieldInfo = "v_int64"
-    attrGet _ = argumentReadVInt64
-    attrSet _ = argumentWriteVInt64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVInt64 :: AttrLabelProxy "vInt64"
-argumentVInt64 = AttrLabelProxy
-
-
-argumentReadVUint64 :: MonadIO m => Argument -> m Word64
-argumentReadVUint64 s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word64
-    return val
-
-argumentWriteVUint64 :: MonadIO m => Argument -> Word64 -> m ()
-argumentWriteVUint64 s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word64)
-
-data ArgumentVUint64FieldInfo
-instance AttrInfo ArgumentVUint64FieldInfo where
-    type AttrAllowedOps ArgumentVUint64FieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUint64FieldInfo = (~) Word64
-    type AttrBaseTypeConstraint ArgumentVUint64FieldInfo = (~) Argument
-    type AttrGetType ArgumentVUint64FieldInfo = Word64
-    type AttrLabel ArgumentVUint64FieldInfo = "v_uint64"
-    attrGet _ = argumentReadVUint64
-    attrSet _ = argumentWriteVUint64
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUint64 :: AttrLabelProxy "vUint64"
-argumentVUint64 = AttrLabelProxy
-
-
-argumentReadVFloat :: MonadIO m => Argument -> m Float
-argumentReadVFloat s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CFloat
-    let val' = realToFrac val
-    return val'
-
-argumentWriteVFloat :: MonadIO m => Argument -> Float -> m ()
-argumentWriteVFloat s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CFloat)
-
-data ArgumentVFloatFieldInfo
-instance AttrInfo ArgumentVFloatFieldInfo where
-    type AttrAllowedOps ArgumentVFloatFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVFloatFieldInfo = (~) Float
-    type AttrBaseTypeConstraint ArgumentVFloatFieldInfo = (~) Argument
-    type AttrGetType ArgumentVFloatFieldInfo = Float
-    type AttrLabel ArgumentVFloatFieldInfo = "v_float"
-    attrGet _ = argumentReadVFloat
-    attrSet _ = argumentWriteVFloat
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVFloat :: AttrLabelProxy "vFloat"
-argumentVFloat = AttrLabelProxy
-
-
-argumentReadVDouble :: MonadIO m => Argument -> m Double
-argumentReadVDouble s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CDouble
-    let val' = realToFrac val
-    return val'
-
-argumentWriteVDouble :: MonadIO m => Argument -> Double -> m ()
-argumentWriteVDouble s val = liftIO $ withManagedPtr s $ \ptr -> do
-    let val' = realToFrac val
-    poke (ptr `plusPtr` 0) (val' :: CDouble)
-
-data ArgumentVDoubleFieldInfo
-instance AttrInfo ArgumentVDoubleFieldInfo where
-    type AttrAllowedOps ArgumentVDoubleFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVDoubleFieldInfo = (~) Double
-    type AttrBaseTypeConstraint ArgumentVDoubleFieldInfo = (~) Argument
-    type AttrGetType ArgumentVDoubleFieldInfo = Double
-    type AttrLabel ArgumentVDoubleFieldInfo = "v_double"
-    attrGet _ = argumentReadVDouble
-    attrSet _ = argumentWriteVDouble
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVDouble :: AttrLabelProxy "vDouble"
-argumentVDouble = AttrLabelProxy
-
-
-argumentReadVShort :: MonadIO m => Argument -> m Int16
-argumentReadVShort s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int16
-    return val
-
-argumentWriteVShort :: MonadIO m => Argument -> Int16 -> m ()
-argumentWriteVShort s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int16)
-
-data ArgumentVShortFieldInfo
-instance AttrInfo ArgumentVShortFieldInfo where
-    type AttrAllowedOps ArgumentVShortFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVShortFieldInfo = (~) Int16
-    type AttrBaseTypeConstraint ArgumentVShortFieldInfo = (~) Argument
-    type AttrGetType ArgumentVShortFieldInfo = Int16
-    type AttrLabel ArgumentVShortFieldInfo = "v_short"
-    attrGet _ = argumentReadVShort
-    attrSet _ = argumentWriteVShort
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVShort :: AttrLabelProxy "vShort"
-argumentVShort = AttrLabelProxy
-
-
-argumentReadVUshort :: MonadIO m => Argument -> m Word16
-argumentReadVUshort s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word16
-    return val
-
-argumentWriteVUshort :: MonadIO m => Argument -> Word16 -> m ()
-argumentWriteVUshort s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word16)
-
-data ArgumentVUshortFieldInfo
-instance AttrInfo ArgumentVUshortFieldInfo where
-    type AttrAllowedOps ArgumentVUshortFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUshortFieldInfo = (~) Word16
-    type AttrBaseTypeConstraint ArgumentVUshortFieldInfo = (~) Argument
-    type AttrGetType ArgumentVUshortFieldInfo = Word16
-    type AttrLabel ArgumentVUshortFieldInfo = "v_ushort"
-    attrGet _ = argumentReadVUshort
-    attrSet _ = argumentWriteVUshort
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUshort :: AttrLabelProxy "vUshort"
-argumentVUshort = AttrLabelProxy
-
-
-argumentReadVInt :: MonadIO m => Argument -> m Int32
-argumentReadVInt s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int32
-    return val
-
-argumentWriteVInt :: MonadIO m => Argument -> Int32 -> m ()
-argumentWriteVInt s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int32)
-
-data ArgumentVIntFieldInfo
-instance AttrInfo ArgumentVIntFieldInfo where
-    type AttrAllowedOps ArgumentVIntFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVIntFieldInfo = (~) Int32
-    type AttrBaseTypeConstraint ArgumentVIntFieldInfo = (~) Argument
-    type AttrGetType ArgumentVIntFieldInfo = Int32
-    type AttrLabel ArgumentVIntFieldInfo = "v_int"
-    attrGet _ = argumentReadVInt
-    attrSet _ = argumentWriteVInt
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVInt :: AttrLabelProxy "vInt"
-argumentVInt = AttrLabelProxy
-
-
-argumentReadVUint :: MonadIO m => Argument -> m Word32
-argumentReadVUint s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word32
-    return val
-
-argumentWriteVUint :: MonadIO m => Argument -> Word32 -> m ()
-argumentWriteVUint s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word32)
-
-data ArgumentVUintFieldInfo
-instance AttrInfo ArgumentVUintFieldInfo where
-    type AttrAllowedOps ArgumentVUintFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUintFieldInfo = (~) Word32
-    type AttrBaseTypeConstraint ArgumentVUintFieldInfo = (~) Argument
-    type AttrGetType ArgumentVUintFieldInfo = Word32
-    type AttrLabel ArgumentVUintFieldInfo = "v_uint"
-    attrGet _ = argumentReadVUint
-    attrSet _ = argumentWriteVUint
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUint :: AttrLabelProxy "vUint"
-argumentVUint = AttrLabelProxy
-
-
-argumentReadVLong :: MonadIO m => Argument -> m CLong
-argumentReadVLong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CLong
-    return val
-
-argumentWriteVLong :: MonadIO m => Argument -> CLong -> m ()
-argumentWriteVLong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CLong)
-
-data ArgumentVLongFieldInfo
-instance AttrInfo ArgumentVLongFieldInfo where
-    type AttrAllowedOps ArgumentVLongFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVLongFieldInfo = (~) CLong
-    type AttrBaseTypeConstraint ArgumentVLongFieldInfo = (~) Argument
-    type AttrGetType ArgumentVLongFieldInfo = CLong
-    type AttrLabel ArgumentVLongFieldInfo = "v_long"
-    attrGet _ = argumentReadVLong
-    attrSet _ = argumentWriteVLong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVLong :: AttrLabelProxy "vLong"
-argumentVLong = AttrLabelProxy
-
-
-argumentReadVUlong :: MonadIO m => Argument -> m CULong
-argumentReadVUlong s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CULong
-    return val
-
-argumentWriteVUlong :: MonadIO m => Argument -> CULong -> m ()
-argumentWriteVUlong s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CULong)
-
-data ArgumentVUlongFieldInfo
-instance AttrInfo ArgumentVUlongFieldInfo where
-    type AttrAllowedOps ArgumentVUlongFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVUlongFieldInfo = (~) CULong
-    type AttrBaseTypeConstraint ArgumentVUlongFieldInfo = (~) Argument
-    type AttrGetType ArgumentVUlongFieldInfo = CULong
-    type AttrLabel ArgumentVUlongFieldInfo = "v_ulong"
-    attrGet _ = argumentReadVUlong
-    attrSet _ = argumentWriteVUlong
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVUlong :: AttrLabelProxy "vUlong"
-argumentVUlong = AttrLabelProxy
-
-
-argumentReadVSsize :: MonadIO m => Argument -> m Int64
-argumentReadVSsize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Int64
-    return val
-
-argumentWriteVSsize :: MonadIO m => Argument -> Int64 -> m ()
-argumentWriteVSsize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Int64)
-
-data ArgumentVSsizeFieldInfo
-instance AttrInfo ArgumentVSsizeFieldInfo where
-    type AttrAllowedOps ArgumentVSsizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVSsizeFieldInfo = (~) Int64
-    type AttrBaseTypeConstraint ArgumentVSsizeFieldInfo = (~) Argument
-    type AttrGetType ArgumentVSsizeFieldInfo = Int64
-    type AttrLabel ArgumentVSsizeFieldInfo = "v_ssize"
-    attrGet _ = argumentReadVSsize
-    attrSet _ = argumentWriteVSsize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVSsize :: AttrLabelProxy "vSsize"
-argumentVSsize = AttrLabelProxy
-
-
-argumentReadVSize :: MonadIO m => Argument -> m Word64
-argumentReadVSize s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO Word64
-    return val
-
-argumentWriteVSize :: MonadIO m => Argument -> Word64 -> m ()
-argumentWriteVSize s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Word64)
-
-data ArgumentVSizeFieldInfo
-instance AttrInfo ArgumentVSizeFieldInfo where
-    type AttrAllowedOps ArgumentVSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
-    type AttrSetTypeConstraint ArgumentVSizeFieldInfo = (~) Word64
-    type AttrBaseTypeConstraint ArgumentVSizeFieldInfo = (~) Argument
-    type AttrGetType ArgumentVSizeFieldInfo = Word64
-    type AttrLabel ArgumentVSizeFieldInfo = "v_size"
-    attrGet _ = argumentReadVSize
-    attrSet _ = argumentWriteVSize
-    attrConstruct = undefined
-    attrClear _ = undefined
-
-argumentVSize :: AttrLabelProxy "vSize"
-argumentVSize = AttrLabelProxy
-
-
-argumentReadVString :: MonadIO m => Argument -> m (Maybe T.Text)
-argumentReadVString s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO CString
-    result <- convertIfNonNull val $ \val' -> do
-        val'' <- cstringToText val'
-        return val''
-    return result
-
-argumentWriteVString :: MonadIO m => Argument -> CString -> m ()
-argumentWriteVString s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: CString)
-
-argumentClearVString :: MonadIO m => Argument -> m ()
-argumentClearVString s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: CString)
-
-data ArgumentVStringFieldInfo
-instance AttrInfo ArgumentVStringFieldInfo where
-    type AttrAllowedOps ArgumentVStringFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ArgumentVStringFieldInfo = (~) CString
-    type AttrBaseTypeConstraint ArgumentVStringFieldInfo = (~) Argument
-    type AttrGetType ArgumentVStringFieldInfo = Maybe T.Text
-    type AttrLabel ArgumentVStringFieldInfo = "v_string"
-    attrGet _ = argumentReadVString
-    attrSet _ = argumentWriteVString
-    attrConstruct = undefined
-    attrClear _ = argumentClearVString
-
-argumentVString :: AttrLabelProxy "vString"
-argumentVString = AttrLabelProxy
-
-
-argumentReadVPointer :: MonadIO m => Argument -> m (Ptr ())
-argumentReadVPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
-    return val
-
-argumentWriteVPointer :: MonadIO m => Argument -> Ptr () -> m ()
-argumentWriteVPointer s val = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (val :: Ptr ())
-
-argumentClearVPointer :: MonadIO m => Argument -> m ()
-argumentClearVPointer s = liftIO $ withManagedPtr s $ \ptr -> do
-    poke (ptr `plusPtr` 0) (nullPtr :: Ptr ())
-
-data ArgumentVPointerFieldInfo
-instance AttrInfo ArgumentVPointerFieldInfo where
-    type AttrAllowedOps ArgumentVPointerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
-    type AttrSetTypeConstraint ArgumentVPointerFieldInfo = (~) (Ptr ())
-    type AttrBaseTypeConstraint ArgumentVPointerFieldInfo = (~) Argument
-    type AttrGetType ArgumentVPointerFieldInfo = Ptr ()
-    type AttrLabel ArgumentVPointerFieldInfo = "v_pointer"
-    attrGet _ = argumentReadVPointer
-    attrSet _ = argumentWriteVPointer
-    attrConstruct = undefined
-    attrClear _ = argumentClearVPointer
-
-argumentVPointer :: AttrLabelProxy "vPointer"
-argumentVPointer = AttrLabelProxy
-
-
-
-type instance AttributeList Argument = ArgumentAttributeList
-type ArgumentAttributeList = ('[ '("vBoolean", ArgumentVBooleanFieldInfo), '("vInt8", ArgumentVInt8FieldInfo), '("vUint8", ArgumentVUint8FieldInfo), '("vInt16", ArgumentVInt16FieldInfo), '("vUint16", ArgumentVUint16FieldInfo), '("vInt32", ArgumentVInt32FieldInfo), '("vUint32", ArgumentVUint32FieldInfo), '("vInt64", ArgumentVInt64FieldInfo), '("vUint64", ArgumentVUint64FieldInfo), '("vFloat", ArgumentVFloatFieldInfo), '("vDouble", ArgumentVDoubleFieldInfo), '("vShort", ArgumentVShortFieldInfo), '("vUshort", ArgumentVUshortFieldInfo), '("vInt", ArgumentVIntFieldInfo), '("vUint", ArgumentVUintFieldInfo), '("vLong", ArgumentVLongFieldInfo), '("vUlong", ArgumentVUlongFieldInfo), '("vSsize", ArgumentVSsizeFieldInfo), '("vSize", ArgumentVSizeFieldInfo), '("vString", ArgumentVStringFieldInfo), '("vPointer", ArgumentVPointerFieldInfo)] :: [(Symbol, *)])
-
-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/Unions/Argument.hs-boot b/GI/GIRepository/Unions/Argument.hs-boot
deleted file mode 100644
--- a/GI/GIRepository/Unions/Argument.hs-boot
+++ /dev/null
@@ -1,11 +0,0 @@
-module GI.GIRepository.Unions.Argument where
-
-import Data.GI.Base.ShortPrelude
-
-import qualified Data.GI.Base.Attributes as GI.Attributes
-import qualified Data.Text as T
-import qualified Data.ByteString.Char8 as B
-import qualified Data.Map as Map
-
-newtype Argument = Argument (ForeignPtr Argument)
-instance WrappedPtr Argument where
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,3 +1,12 @@
-#!/usr/bin/env runhaskell
-import Distribution.Simple
-main = defaultMain
+{-# LANGUAGE OverloadedStrings #-}
+
+import Distribution.Simple (defaultMainWithHooks)
+import Data.GI.CodeGen.CabalHooks (simpleHaskellGIHooks)
+
+main = defaultMainWithHooks (simpleHaskellGIHooks name version verbose
+                             overridesFile outputDir)
+    where name = "GIRepository"
+          version = "2.0"
+          verbose = False
+          overridesFile = Nothing
+          outputDir = Nothing
diff --git a/gi-girepository.cabal b/gi-girepository.cabal
--- a/gi-girepository.cabal
+++ b/gi-girepository.cabal
@@ -1,7 +1,6 @@
--- Autogenerated, do not edit.
 name:               gi-girepository
-version:            0.1.46.15
-synopsis:           GIRepository bindings
+version:            1.0.1
+synopsis:           GIRepository (gobject-introspection) bindings
 description:        Bindings for GIRepository, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
 license:            LGPL-2.1
@@ -9,34 +8,25 @@
 author:             Will Thompson, Iñaki García Etxebarria and Jonas Platte
 maintainer:         Iñaki García Etxebarria (garetxe@gmail.com)
 category:           Bindings
-build-type:         Simple
-cabal-version:      >=1.10
+build-type:         Custom
+cabal-version:      >= 1.24
 
+custom-setup
+  setup-depends: base >= 4.7,
+                 Cabal >= 1.24,
+                 haskell-gi >= 0.15
+
 library
     default-language:   Haskell2010
     default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
     other-extensions:   PatternSynonyms ViewPatterns
     ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
-    exposed-modules:    GI.GIRepository.Types
-                        GI.GIRepository
-                        GI.GIRepository.Callbacks
-                        GI.GIRepository.Enums
-                        GI.GIRepository.Flags
-                        GI.GIRepository.Functions
-                        GI.GIRepository.Objects
-                        GI.GIRepository.Objects.Repository
-                        GI.GIRepository.Structs
-                        GI.GIRepository.Structs.AttributeIter
-                        GI.GIRepository.Structs.BaseInfo
-                        GI.GIRepository.Structs.Typelib
-                        GI.GIRepository.Structs.UnresolvedInfo
-                        GI.GIRepository.Unions
-                        GI.GIRepository.Unions.Argument
-    pkgconfig-depends:  gobject-introspection-1.0 >= 1.46
+
+    pkgconfig-depends:  gobject-introspection-1.0
     build-depends: base >= 4.7 && <5,
         haskell-gi-base >= 0.15 && < 1,
-        gi-gobject >= 0.2.46.15 && < 0.2.47,
+        gi-gobject == 2.0.*,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
-        transformers >= 0.3
+        transformers >= 0.5
