diff --git a/GI/Atk.hs b/GI/Atk.hs
--- a/GI/Atk.hs
+++ b/GI/Atk.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,6 +17,10 @@
     module GI.Atk.Structs                   ,
 
 
+
+    module Data.GI.Base                     ,
+
+
     ) where
 
 import GI.Atk.Callbacks
@@ -37,4 +42,5 @@
 import GI.Atk.Types
 import GI.Atk.Callbacks
 
+import Data.GI.Base
 
diff --git a/GI/Atk/Callbacks.hs b/GI/Atk/Callbacks.hs
--- a/GI/Atk/Callbacks.hs
+++ b/GI/Atk/Callbacks.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -198,10 +199,10 @@
     Ptr Object ->
     CInt ->
     IO ()
-focusHandlerWrapper funptrptr _cb object focus_in = do
+focusHandlerWrapper funptrptr _cb object focusIn = do
     object' <- (newObject Object) object
-    let focus_in' = (/= 0) focus_in
-    _cb  object' focus_in'
+    let focusIn' = (/= 0) focusIn
+    _cb  object' focusIn'
     maybeReleaseFunPtr funptrptr
 
 -- callback EventListenerInit
diff --git a/GI/Atk/Constants.hs b/GI/Atk/Constants.hs
--- a/GI/Atk/Constants.hs
+++ b/GI/Atk/Constants.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Atk/Enums.hs b/GI/Atk/Enums.hs
--- a/GI/Atk/Enums.hs
+++ b/GI/Atk/Enums.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Atk/Flags.hs b/GI/Atk/Flags.hs
--- a/GI/Atk/Flags.hs
+++ b/GI/Atk/Flags.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Atk/Functions.hs b/GI/Atk/Functions.hs
--- a/GI/Atk/Functions.hs
+++ b/GI/Atk/Functions.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -9,10 +10,6 @@
     ( 
 
  -- * Methods
--- ** attributeSetFree
-    attributeSetFree                        ,
-
-
 -- ** focusTrackerNotify
     focusTrackerNotify                      ,
 
@@ -61,18 +58,6 @@
     getVersion                              ,
 
 
--- ** relationTypeForName
-    relationTypeForName                     ,
-
-
--- ** relationTypeGetName
-    relationTypeGetName                     ,
-
-
--- ** relationTypeRegister
-    relationTypeRegister                    ,
-
-
 -- ** removeFocusTracker
     removeFocusTracker                      ,
 
@@ -85,64 +70,8 @@
     removeKeyEventListener                  ,
 
 
--- ** roleForName
-    roleForName                             ,
 
 
--- ** roleGetLocalizedName
-    roleGetLocalizedName                    ,
-
-
--- ** roleGetName
-    roleGetName                             ,
-
-
--- ** roleRegister
-    roleRegister                            ,
-
-
--- ** stateTypeForName
-    stateTypeForName                        ,
-
-
--- ** stateTypeGetName
-    stateTypeGetName                        ,
-
-
--- ** stateTypeRegister
-    stateTypeRegister                       ,
-
-
--- ** textAttributeForName
-    textAttributeForName                    ,
-
-
--- ** textAttributeGetName
-    textAttributeGetName                    ,
-
-
--- ** textAttributeGetValue
-    textAttributeGetValue                   ,
-
-
--- ** textAttributeRegister
-    textAttributeRegister                   ,
-
-
--- ** textFreeRanges
-    textFreeRanges                          ,
-
-
--- ** valueTypeGetLocalizedName
-    valueTypeGetLocalizedName               ,
-
-
--- ** valueTypeGetName
-    valueTypeGetName                        ,
-
-
-
-
     ) where
 
 import Prelude ()
@@ -155,359 +84,9 @@
 import GI.Atk.Types
 import GI.Atk.Callbacks
 
--- function atk_value_type_get_name
--- Args : [Arg {argName = "value_type", argType = TInterface "Atk" "ValueType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "value_type", argType = TInterface "Atk" "ValueType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_value_type_get_name" atk_value_type_get_name :: 
-    CUInt ->                                -- value_type : TInterface "Atk" "ValueType"
-    IO CString
-
-
-valueTypeGetName ::
-    (MonadIO m) =>
-    ValueType ->                            -- value_type
-    m T.Text
-valueTypeGetName value_type = liftIO $ do
-    let value_type' = (fromIntegral . fromEnum) value_type
-    result <- atk_value_type_get_name value_type'
-    checkUnexpectedReturnNULL "atk_value_type_get_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_value_type_get_localized_name
--- Args : [Arg {argName = "value_type", argType = TInterface "Atk" "ValueType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "value_type", argType = TInterface "Atk" "ValueType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_value_type_get_localized_name" atk_value_type_get_localized_name :: 
-    CUInt ->                                -- value_type : TInterface "Atk" "ValueType"
-    IO CString
-
-
-valueTypeGetLocalizedName ::
-    (MonadIO m) =>
-    ValueType ->                            -- value_type
-    m T.Text
-valueTypeGetLocalizedName value_type = liftIO $ do
-    let value_type' = (fromIntegral . fromEnum) value_type
-    result <- atk_value_type_get_localized_name value_type'
-    checkUnexpectedReturnNULL "atk_value_type_get_localized_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_text_free_ranges
--- Args : [Arg {argName = "ranges", argType = TCArray False (-1) (-1) (TInterface "Atk" "TextRange"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "ranges", argType = TCArray False (-1) (-1) (TInterface "Atk" "TextRange"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_text_free_ranges" atk_text_free_ranges :: 
-    Ptr (Ptr TextRange) ->                  -- ranges : TCArray False (-1) (-1) (TInterface "Atk" "TextRange")
-    IO ()
-
-
-textFreeRanges ::
-    (MonadIO m) =>
-    Ptr (Ptr TextRange) ->                  -- ranges
-    m ()
-textFreeRanges ranges = liftIO $ do
-    atk_text_free_ranges ranges
-    return ()
-
-
--- function atk_text_attribute_register
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "TextAttribute"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_text_attribute_register" atk_text_attribute_register :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-textAttributeRegister ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m TextAttribute
-textAttributeRegister name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_text_attribute_register name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function atk_text_attribute_get_value
--- Args : [Arg {argName = "attr", argType = TInterface "Atk" "TextAttribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "attr", argType = TInterface "Atk" "TextAttribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_text_attribute_get_value" atk_text_attribute_get_value :: 
-    CUInt ->                                -- attr : TInterface "Atk" "TextAttribute"
-    Int32 ->                                -- index_ : TBasicType TInt32
-    IO CString
-
-
-textAttributeGetValue ::
-    (MonadIO m) =>
-    TextAttribute ->                        -- attr
-    Int32 ->                                -- index_
-    m T.Text
-textAttributeGetValue attr index_ = liftIO $ do
-    let attr' = (fromIntegral . fromEnum) attr
-    result <- atk_text_attribute_get_value attr' index_
-    checkUnexpectedReturnNULL "atk_text_attribute_get_value" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_text_attribute_get_name
--- Args : [Arg {argName = "attr", argType = TInterface "Atk" "TextAttribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "attr", argType = TInterface "Atk" "TextAttribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_text_attribute_get_name" atk_text_attribute_get_name :: 
-    CUInt ->                                -- attr : TInterface "Atk" "TextAttribute"
-    IO CString
-
-
-textAttributeGetName ::
-    (MonadIO m) =>
-    TextAttribute ->                        -- attr
-    m T.Text
-textAttributeGetName attr = liftIO $ do
-    let attr' = (fromIntegral . fromEnum) attr
-    result <- atk_text_attribute_get_name attr'
-    checkUnexpectedReturnNULL "atk_text_attribute_get_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_text_attribute_for_name
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "TextAttribute"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_text_attribute_for_name" atk_text_attribute_for_name :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-textAttributeForName ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m TextAttribute
-textAttributeForName name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_text_attribute_for_name name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function atk_state_type_register
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "StateType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_state_type_register" atk_state_type_register :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-stateTypeRegister ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m StateType
-stateTypeRegister name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_state_type_register name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function atk_state_type_get_name
--- Args : [Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_state_type_get_name" atk_state_type_get_name :: 
-    CUInt ->                                -- type : TInterface "Atk" "StateType"
-    IO CString
-
-
-stateTypeGetName ::
-    (MonadIO m) =>
-    StateType ->                            -- type
-    m T.Text
-stateTypeGetName type_ = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- atk_state_type_get_name type_'
-    checkUnexpectedReturnNULL "atk_state_type_get_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_state_type_for_name
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "StateType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_state_type_for_name" atk_state_type_for_name :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-stateTypeForName ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m StateType
-stateTypeForName name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_state_type_for_name name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function atk_role_register
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "Role"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_role_register" atk_role_register :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-{-# DEPRECATED roleRegister ["Since 2.12. If your application/toolkit doesn't find a","suitable role for a specific object defined at #AtkRole, please","submit a bug in order to add a new role to the specification."]#-}
-roleRegister ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m Role
-roleRegister name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_role_register name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function atk_role_get_name
--- Args : [Arg {argName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_role_get_name" atk_role_get_name :: 
-    CUInt ->                                -- role : TInterface "Atk" "Role"
-    IO CString
-
-
-roleGetName ::
-    (MonadIO m) =>
-    Role ->                                 -- role
-    m T.Text
-roleGetName role = liftIO $ do
-    let role' = (fromIntegral . fromEnum) role
-    result <- atk_role_get_name role'
-    checkUnexpectedReturnNULL "atk_role_get_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_role_get_localized_name
--- Args : [Arg {argName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_role_get_localized_name" atk_role_get_localized_name :: 
-    CUInt ->                                -- role : TInterface "Atk" "Role"
-    IO CString
-
-
-roleGetLocalizedName ::
-    (MonadIO m) =>
-    Role ->                                 -- role
-    m T.Text
-roleGetLocalizedName role = liftIO $ do
-    let role' = (fromIntegral . fromEnum) role
-    result <- atk_role_get_localized_name role'
-    checkUnexpectedReturnNULL "atk_role_get_localized_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_role_for_name
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "Role"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_role_for_name" atk_role_for_name :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-roleForName ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m Role
-roleForName name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_role_for_name name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
 -- function atk_remove_key_event_listener
--- Args : [Arg {argName = "listener_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "listener_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "listener_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -519,17 +98,16 @@
 
 removeKeyEventListener ::
     (MonadIO m) =>
-    Word32 ->                               -- listener_id
-    m ()
-removeKeyEventListener listener_id = liftIO $ do
-    atk_remove_key_event_listener listener_id
+    Word32                                  -- listenerId
+    -> m ()                                 -- result
+removeKeyEventListener listenerId = liftIO $ do
+    atk_remove_key_event_listener listenerId
     return ()
 
 
 -- function atk_remove_global_event_listener
--- Args : [Arg {argName = "listener_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "listener_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "listener_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -541,17 +119,16 @@
 
 removeGlobalEventListener ::
     (MonadIO m) =>
-    Word32 ->                               -- listener_id
-    m ()
-removeGlobalEventListener listener_id = liftIO $ do
-    atk_remove_global_event_listener listener_id
+    Word32                                  -- listenerId
+    -> m ()                                 -- result
+removeGlobalEventListener listenerId = liftIO $ do
+    atk_remove_global_event_listener listenerId
     return ()
 
 
 -- function atk_remove_focus_tracker
--- Args : [Arg {argName = "tracker_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "tracker_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "tracker_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -563,92 +140,16 @@
 {-# DEPRECATED removeFocusTracker ["(Since version 2.9.4)","Focus tracking has been dropped as a feature","to be implemented by ATK itself. If you need focus tracking on your","implementation, subscribe to the #AtkObject::state-change \"focused\" signal.","","Removes the specified focus tracker from the list of functions","to be called when any object receives focus."]#-}
 removeFocusTracker ::
     (MonadIO m) =>
-    Word32 ->                               -- tracker_id
-    m ()
-removeFocusTracker tracker_id = liftIO $ do
-    atk_remove_focus_tracker tracker_id
+    Word32                                  -- trackerId
+    -> m ()                                 -- result
+removeFocusTracker trackerId = liftIO $ do
+    atk_remove_focus_tracker trackerId
     return ()
 
 
--- function atk_relation_type_register
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "RelationType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_relation_type_register" atk_relation_type_register :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-relationTypeRegister ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m RelationType
-relationTypeRegister name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_relation_type_register name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function atk_relation_type_get_name
--- Args : [Arg {argName = "type", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_relation_type_get_name" atk_relation_type_get_name :: 
-    CUInt ->                                -- type : TInterface "Atk" "RelationType"
-    IO CString
-
-
-relationTypeGetName ::
-    (MonadIO m) =>
-    RelationType ->                         -- type
-    m T.Text
-relationTypeGetName type_ = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- atk_relation_type_get_name type_'
-    checkUnexpectedReturnNULL "atk_relation_type_get_name" result
-    result' <- cstringToText result
-    return result'
-
-
--- function atk_relation_type_for_name
--- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Atk" "RelationType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_relation_type_for_name" atk_relation_type_for_name :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-relationTypeForName ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m RelationType
-relationTypeForName name = liftIO $ do
-    name' <- textToCString name
-    result <- atk_relation_type_for_name name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
 -- function atk_get_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -659,7 +160,7 @@
 
 getVersion ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 getVersion  = liftIO $ do
     result <- atk_get_version
     checkUnexpectedReturnNULL "atk_get_version" result
@@ -670,7 +171,6 @@
 -- function atk_get_toolkit_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -681,7 +181,7 @@
 
 getToolkitVersion ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 getToolkitVersion  = liftIO $ do
     result <- atk_get_toolkit_version
     checkUnexpectedReturnNULL "atk_get_toolkit_version" result
@@ -692,7 +192,6 @@
 -- function atk_get_toolkit_name
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -703,7 +202,7 @@
 
 getToolkitName ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 getToolkitName  = liftIO $ do
     result <- atk_get_toolkit_name
     checkUnexpectedReturnNULL "atk_get_toolkit_name" result
@@ -714,7 +213,6 @@
 -- function atk_get_root
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -725,7 +223,7 @@
 
 getRoot ::
     (MonadIO m) =>
-    m Object
+    m Object                                -- result
 getRoot  = liftIO $ do
     result <- atk_get_root
     checkUnexpectedReturnNULL "atk_get_root" result
@@ -736,7 +234,6 @@
 -- function atk_get_minor_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -747,7 +244,7 @@
 
 getMinorVersion ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getMinorVersion  = liftIO $ do
     result <- atk_get_minor_version
     return result
@@ -756,7 +253,6 @@
 -- function atk_get_micro_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -767,7 +263,7 @@
 
 getMicroVersion ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getMicroVersion  = liftIO $ do
     result <- atk_get_micro_version
     return result
@@ -776,7 +272,6 @@
 -- function atk_get_major_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -787,7 +282,7 @@
 
 getMajorVersion ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getMajorVersion  = liftIO $ do
     result <- atk_get_major_version
     return result
@@ -796,7 +291,6 @@
 -- function atk_get_interface_age
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -807,7 +301,7 @@
 
 getInterfaceAge ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getInterfaceAge  = liftIO $ do
     result <- atk_get_interface_age
     return result
@@ -816,7 +310,6 @@
 -- function atk_get_focus_object
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -827,7 +320,7 @@
 
 getFocusObject ::
     (MonadIO m) =>
-    m Object
+    m Object                                -- result
 getFocusObject  = liftIO $ do
     result <- atk_get_focus_object
     checkUnexpectedReturnNULL "atk_get_focus_object" result
@@ -838,7 +331,6 @@
 -- function atk_get_default_registry
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "Registry"
 -- throws : False
 -- Skip return : False
@@ -849,7 +341,7 @@
 
 getDefaultRegistry ::
     (MonadIO m) =>
-    m Registry
+    m Registry                              -- result
 getDefaultRegistry  = liftIO $ do
     result <- atk_get_default_registry
     checkUnexpectedReturnNULL "atk_get_default_registry" result
@@ -860,7 +352,6 @@
 -- function atk_get_binary_age
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -871,16 +362,15 @@
 
 getBinaryAge ::
     (MonadIO m) =>
-    m Word32
+    m Word32                                -- result
 getBinaryAge  = liftIO $ do
     result <- atk_get_binary_age
     return result
 
 
 -- function atk_focus_tracker_notify
--- Args : [Arg {argName = "object", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "object", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "object", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -892,36 +382,12 @@
 {-# DEPRECATED focusTrackerNotify ["(Since version 2.9.4)","Focus tracking has been dropped as a feature","to be implemented by ATK itself. As #AtkObject::focus-event was","deprecated in favor of a #AtkObject::state-change signal, in order","to notify a focus change on your implementation, you can use","atk_object_notify_state_change() instead."]#-}
 focusTrackerNotify ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- object
-    m ()
+    a                                       -- object
+    -> m ()                                 -- result
 focusTrackerNotify object = liftIO $ do
     let object' = unsafeManagedPtrCastPtr object
     atk_focus_tracker_notify object'
     touchManagedPtr object
-    return ()
-
-
--- function atk_attribute_set_free
--- Args : [Arg {argName = "attrib_set", argType = TGSList (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "attrib_set", argType = TGSList (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TVoid
--- throws : False
--- Skip return : False
-
-foreign import ccall "atk_attribute_set_free" atk_attribute_set_free :: 
-    Ptr (GSList (Ptr ())) ->                -- attrib_set : TGSList (TBasicType TVoid)
-    IO ()
-
-
-attributeSetFree ::
-    (MonadIO m) =>
-    [Ptr ()] ->                             -- attrib_set
-    m ()
-attributeSetFree attrib_set = liftIO $ do
-    attrib_set' <- packGSList attrib_set
-    atk_attribute_set_free attrib_set'
-    g_slist_free attrib_set'
     return ()
 
 
diff --git a/GI/Atk/Interfaces.hs b/GI/Atk/Interfaces.hs
--- a/GI/Atk/Interfaces.hs
+++ b/GI/Atk/Interfaces.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Atk/Interfaces/Action.hs b/GI/Atk/Interfaces/Action.hs
--- a/GI/Atk/Interfaces/Action.hs
+++ b/GI/Atk/Interfaces/Action.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,30 +17,37 @@
 
  -- * Methods
 -- ** actionDoAction
+    ActionDoActionMethodInfo                ,
     actionDoAction                          ,
 
 
 -- ** actionGetDescription
+    ActionGetDescriptionMethodInfo          ,
     actionGetDescription                    ,
 
 
 -- ** actionGetKeybinding
+    ActionGetKeybindingMethodInfo           ,
     actionGetKeybinding                     ,
 
 
 -- ** actionGetLocalizedName
+    ActionGetLocalizedNameMethodInfo        ,
     actionGetLocalizedName                  ,
 
 
 -- ** actionGetNActions
+    ActionGetNActionsMethodInfo             ,
     actionGetNActions                       ,
 
 
 -- ** actionGetName
+    ActionGetNameMethodInfo                 ,
     actionGetName                           ,
 
 
 -- ** actionSetDescription
+    ActionSetDescriptionMethodInfo          ,
     actionSetDescription                    ,
 
 
@@ -63,6 +71,24 @@
 noAction :: Maybe Action
 noAction = Nothing
 
+type family ResolveActionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveActionMethod "doAction" o = ActionDoActionMethodInfo
+    ResolveActionMethod "getDescription" o = ActionGetDescriptionMethodInfo
+    ResolveActionMethod "getKeybinding" o = ActionGetKeybindingMethodInfo
+    ResolveActionMethod "getLocalizedName" o = ActionGetLocalizedNameMethodInfo
+    ResolveActionMethod "getNActions" o = ActionGetNActionsMethodInfo
+    ResolveActionMethod "getName" o = ActionGetNameMethodInfo
+    ResolveActionMethod "setDescription" o = ActionSetDescriptionMethodInfo
+    ResolveActionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveActionMethod t Action, MethodInfo info Action p) => IsLabelProxy t (Action -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveActionMethod t Action, MethodInfo info Action p) => IsLabel t (Action -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Action = ActionAttributeList
 type ActionAttributeList = ('[ ] :: [(Symbol, *)])
 
@@ -76,9 +102,8 @@
 
 -- method Action::do_action
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -91,9 +116,9 @@
 
 actionDoAction ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Bool                               -- result
 actionDoAction _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_action_do_action _obj' i
@@ -101,11 +126,14 @@
     touchManagedPtr _obj
     return result'
 
+data ActionDoActionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, ActionK a) => MethodInfo ActionDoActionMethodInfo a signature where
+    overloadedMethod _ = actionDoAction
+
 -- method Action::get_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -118,9 +146,9 @@
 
 actionGetDescription ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m T.Text                             -- result
 actionGetDescription _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_action_get_description _obj' i
@@ -129,11 +157,14 @@
     touchManagedPtr _obj
     return result'
 
+data ActionGetDescriptionMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, ActionK a) => MethodInfo ActionGetDescriptionMethodInfo a signature where
+    overloadedMethod _ = actionGetDescription
+
 -- method Action::get_keybinding
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -146,9 +177,9 @@
 
 actionGetKeybinding ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m T.Text                             -- result
 actionGetKeybinding _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_action_get_keybinding _obj' i
@@ -157,11 +188,14 @@
     touchManagedPtr _obj
     return result'
 
+data ActionGetKeybindingMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, ActionK a) => MethodInfo ActionGetKeybindingMethodInfo a signature where
+    overloadedMethod _ = actionGetKeybinding
+
 -- method Action::get_localized_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -174,9 +208,9 @@
 
 actionGetLocalizedName ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m T.Text                             -- result
 actionGetLocalizedName _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_action_get_localized_name _obj' i
@@ -185,11 +219,14 @@
     touchManagedPtr _obj
     return result'
 
+data ActionGetLocalizedNameMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, ActionK a) => MethodInfo ActionGetLocalizedNameMethodInfo a signature where
+    overloadedMethod _ = actionGetLocalizedName
+
 -- method Action::get_n_actions
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -201,19 +238,22 @@
 
 actionGetNActions ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 actionGetNActions _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_action_get_n_actions _obj'
     touchManagedPtr _obj
     return result
 
+data ActionGetNActionsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, ActionK a) => MethodInfo ActionGetNActionsMethodInfo a signature where
+    overloadedMethod _ = actionGetNActions
+
 -- method Action::get_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -226,9 +266,9 @@
 
 actionGetName ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m T.Text                             -- result
 actionGetName _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_action_get_name _obj' i
@@ -237,11 +277,14 @@
     touchManagedPtr _obj
     return result'
 
+data ActionGetNameMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, ActionK a) => MethodInfo ActionGetNameMethodInfo a signature where
+    overloadedMethod _ = actionGetName
+
 -- method Action::set_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Action", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -255,10 +298,10 @@
 
 actionSetDescription ::
     (MonadIO m, ActionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    T.Text ->                               -- desc
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> T.Text                               -- desc
+    -> m Bool                               -- result
 actionSetDescription _obj i desc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     desc' <- textToCString desc
@@ -267,5 +310,9 @@
     touchManagedPtr _obj
     freeMem desc'
     return result'
+
+data ActionSetDescriptionMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m Bool), MonadIO m, ActionK a) => MethodInfo ActionSetDescriptionMethodInfo a signature where
+    overloadedMethod _ = actionSetDescription
 
 
diff --git a/GI/Atk/Interfaces/Action.hs-boot b/GI/Atk/Interfaces/Action.hs-boot
--- a/GI/Atk/Interfaces/Action.hs-boot
+++ b/GI/Atk/Interfaces/Action.hs-boot
@@ -10,3 +10,10 @@
 newtype Action = Action (ForeignPtr Action)
 class ForeignPtrNewtype a => ActionK a
 instance (ForeignPtrNewtype o, IsDescendantOf Action o) => ActionK o
+data ActionDoActionMethodInfo
+data ActionGetDescriptionMethodInfo
+data ActionGetKeybindingMethodInfo
+data ActionGetLocalizedNameMethodInfo
+data ActionGetNActionsMethodInfo
+data ActionGetNameMethodInfo
+data ActionSetDescriptionMethodInfo
diff --git a/GI/Atk/Interfaces/Component.hs b/GI/Atk/Interfaces/Component.hs
--- a/GI/Atk/Interfaces/Component.hs
+++ b/GI/Atk/Interfaces/Component.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,54 +17,67 @@
 
  -- * Methods
 -- ** componentContains
+    ComponentContainsMethodInfo             ,
     componentContains                       ,
 
 
 -- ** componentGetAlpha
+    ComponentGetAlphaMethodInfo             ,
     componentGetAlpha                       ,
 
 
 -- ** componentGetExtents
+    ComponentGetExtentsMethodInfo           ,
     componentGetExtents                     ,
 
 
 -- ** componentGetLayer
+    ComponentGetLayerMethodInfo             ,
     componentGetLayer                       ,
 
 
 -- ** componentGetMdiZorder
+    ComponentGetMdiZorderMethodInfo         ,
     componentGetMdiZorder                   ,
 
 
 -- ** componentGetPosition
+    ComponentGetPositionMethodInfo          ,
     componentGetPosition                    ,
 
 
 -- ** componentGetSize
+    ComponentGetSizeMethodInfo              ,
     componentGetSize                        ,
 
 
 -- ** componentGrabFocus
+    ComponentGrabFocusMethodInfo            ,
     componentGrabFocus                      ,
 
 
 -- ** componentRefAccessibleAtPoint
+    ComponentRefAccessibleAtPointMethodInfo ,
     componentRefAccessibleAtPoint           ,
 
 
 -- ** componentRemoveFocusHandler
+    ComponentRemoveFocusHandlerMethodInfo   ,
     componentRemoveFocusHandler             ,
 
 
 -- ** componentSetExtents
+    ComponentSetExtentsMethodInfo           ,
     componentSetExtents                     ,
 
 
 -- ** componentSetPosition
+    ComponentSetPositionMethodInfo          ,
     componentSetPosition                    ,
 
 
 -- ** componentSetSize
+    ComponentSetSizeMethodInfo              ,
     componentSetSize                        ,
 
 
@@ -102,6 +116,30 @@
 noComponent :: Maybe Component
 noComponent = Nothing
 
+type family ResolveComponentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveComponentMethod "contains" o = ComponentContainsMethodInfo
+    ResolveComponentMethod "grabFocus" o = ComponentGrabFocusMethodInfo
+    ResolveComponentMethod "refAccessibleAtPoint" o = ComponentRefAccessibleAtPointMethodInfo
+    ResolveComponentMethod "removeFocusHandler" o = ComponentRemoveFocusHandlerMethodInfo
+    ResolveComponentMethod "getAlpha" o = ComponentGetAlphaMethodInfo
+    ResolveComponentMethod "getExtents" o = ComponentGetExtentsMethodInfo
+    ResolveComponentMethod "getLayer" o = ComponentGetLayerMethodInfo
+    ResolveComponentMethod "getMdiZorder" o = ComponentGetMdiZorderMethodInfo
+    ResolveComponentMethod "getPosition" o = ComponentGetPositionMethodInfo
+    ResolveComponentMethod "getSize" o = ComponentGetSizeMethodInfo
+    ResolveComponentMethod "setExtents" o = ComponentSetExtentsMethodInfo
+    ResolveComponentMethod "setPosition" o = ComponentSetPositionMethodInfo
+    ResolveComponentMethod "setSize" o = ComponentSetSizeMethodInfo
+    ResolveComponentMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveComponentMethod t Component, MethodInfo info Component p) => IsLabelProxy t (Component -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveComponentMethod t Component, MethodInfo info Component p) => IsLabel t (Component -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Component::bounds-changed
 type ComponentBoundsChangedCallback =
     Rectangle ->
@@ -153,7 +191,7 @@
     connectSignal _ = connectComponentBoundsChanged
 
 type instance SignalList Component = ComponentSignalList
-type ComponentSignalList = ('[ '("bounds-changed", ComponentBoundsChangedSignalInfo)] :: [(Symbol, *)])
+type ComponentSignalList = ('[ '("boundsChanged", ComponentBoundsChangedSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => ComponentK a
 instance (ForeignPtrNewtype o, IsDescendantOf Component o) => ComponentK o
@@ -162,9 +200,8 @@
 
 -- method Component::contains
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -179,24 +216,27 @@
 
 componentContains ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    CoordType ->                            -- coord_type
-    m Bool
-componentContains _obj x y coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> CoordType                            -- coordType
+    -> m Bool                               -- result
+componentContains _obj x y coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    result <- atk_component_contains _obj' x y coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    result <- atk_component_contains _obj' x y coordType'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data ComponentContainsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> m Bool), MonadIO m, ComponentK a) => MethodInfo ComponentContainsMethodInfo a signature where
+    overloadedMethod _ = componentContains
+
 -- method Component::get_alpha
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TDouble
 -- throws : False
 -- Skip return : False
@@ -208,8 +248,8 @@
 
 componentGetAlpha ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    m Double
+    a                                       -- _obj
+    -> m Double                             -- result
 componentGetAlpha _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_component_get_alpha _obj'
@@ -217,11 +257,14 @@
     touchManagedPtr _obj
     return result'
 
+data ComponentGetAlphaMethodInfo
+instance (signature ~ (m Double), MonadIO m, ComponentK a) => MethodInfo ComponentGetAlphaMethodInfo a signature where
+    overloadedMethod _ = componentGetAlpha
+
 -- method Component::get_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -238,25 +281,28 @@
 
 componentGetExtents ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    CoordType ->                            -- coord_type
-    m ()
-componentGetExtents _obj x y width height coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> CoordType                            -- coordType
+    -> m ()                                 -- result
+componentGetExtents _obj x y width height coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    atk_component_get_extents _obj' x y width height coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    atk_component_get_extents _obj' x y width height coordType'
     touchManagedPtr _obj
     return ()
 
+data ComponentGetExtentsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> CoordType -> m ()), MonadIO m, ComponentK a) => MethodInfo ComponentGetExtentsMethodInfo a signature where
+    overloadedMethod _ = componentGetExtents
+
 -- method Component::get_layer
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Layer"
 -- throws : False
 -- Skip return : False
@@ -268,8 +314,8 @@
 
 componentGetLayer ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    m Layer
+    a                                       -- _obj
+    -> m Layer                              -- result
 componentGetLayer _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_component_get_layer _obj'
@@ -277,11 +323,14 @@
     touchManagedPtr _obj
     return result'
 
+data ComponentGetLayerMethodInfo
+instance (signature ~ (m Layer), MonadIO m, ComponentK a) => MethodInfo ComponentGetLayerMethodInfo a signature where
+    overloadedMethod _ = componentGetLayer
+
 -- method Component::get_mdi_zorder
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -293,19 +342,22 @@
 
 componentGetMdiZorder ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 componentGetMdiZorder _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_component_get_mdi_zorder _obj'
     touchManagedPtr _obj
     return result
 
+data ComponentGetMdiZorderMethodInfo
+instance (signature ~ (m Int32), MonadIO m, ComponentK a) => MethodInfo ComponentGetMdiZorderMethodInfo a signature where
+    overloadedMethod _ = componentGetMdiZorder
+
 -- method Component::get_position
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -320,23 +372,26 @@
 {-# DEPRECATED componentGetPosition ["Since 2.12. Use atk_component_get_extents() instead."]#-}
 componentGetPosition ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    CoordType ->                            -- coord_type
-    m ()
-componentGetPosition _obj x y coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> CoordType                            -- coordType
+    -> m ()                                 -- result
+componentGetPosition _obj x y coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    atk_component_get_position _obj' x y coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    atk_component_get_position _obj' x y coordType'
     touchManagedPtr _obj
     return ()
 
+data ComponentGetPositionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> m ()), MonadIO m, ComponentK a) => MethodInfo ComponentGetPositionMethodInfo a signature where
+    overloadedMethod _ = componentGetPosition
+
 -- method Component::get_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -350,21 +405,24 @@
 {-# DEPRECATED componentGetSize ["Since 2.12. Use atk_component_get_extents() instead."]#-}
 componentGetSize ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> m ()                                 -- result
 componentGetSize _obj width height = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_component_get_size _obj' width height
     touchManagedPtr _obj
     return ()
 
+data ComponentGetSizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, ComponentK a) => MethodInfo ComponentGetSizeMethodInfo a signature where
+    overloadedMethod _ = componentGetSize
+
 -- method Component::grab_focus
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -376,8 +434,8 @@
 
 componentGrabFocus ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 componentGrabFocus _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_component_grab_focus _obj'
@@ -385,11 +443,14 @@
     touchManagedPtr _obj
     return result'
 
+data ComponentGrabFocusMethodInfo
+instance (signature ~ (m Bool), MonadIO m, ComponentK a) => MethodInfo ComponentGrabFocusMethodInfo a signature where
+    overloadedMethod _ = componentGrabFocus
+
 -- method Component::ref_accessible_at_point
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -404,25 +465,28 @@
 
 componentRefAccessibleAtPoint ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    CoordType ->                            -- coord_type
-    m Object
-componentRefAccessibleAtPoint _obj x y coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> CoordType                            -- coordType
+    -> m Object                             -- result
+componentRefAccessibleAtPoint _obj x y coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    result <- atk_component_ref_accessible_at_point _obj' x y coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    result <- atk_component_ref_accessible_at_point _obj' x y coordType'
     checkUnexpectedReturnNULL "atk_component_ref_accessible_at_point" result
     result' <- (wrapObject Object) result
     touchManagedPtr _obj
     return result'
 
+data ComponentRefAccessibleAtPointMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> m Object), MonadIO m, ComponentK a) => MethodInfo ComponentRefAccessibleAtPointMethodInfo a signature where
+    overloadedMethod _ = componentRefAccessibleAtPoint
+
 -- method Component::remove_focus_handler
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -435,20 +499,23 @@
 {-# DEPRECATED componentRemoveFocusHandler ["(Since version 2.9.4)","If you need to track when an object gains or","lose the focus, use the #AtkObject::state-change \"focused\" notification instead."]#-}
 componentRemoveFocusHandler ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- handler_id
-    m ()
-componentRemoveFocusHandler _obj handler_id = liftIO $ do
+    a                                       -- _obj
+    -> Word32                               -- handlerId
+    -> m ()                                 -- result
+componentRemoveFocusHandler _obj handlerId = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    atk_component_remove_focus_handler _obj' handler_id
+    atk_component_remove_focus_handler _obj' handlerId
     touchManagedPtr _obj
     return ()
 
+data ComponentRemoveFocusHandlerMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, ComponentK a) => MethodInfo ComponentRemoveFocusHandlerMethodInfo a signature where
+    overloadedMethod _ = componentRemoveFocusHandler
+
 -- method Component::set_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -465,26 +532,29 @@
 
 componentSetExtents ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    CoordType ->                            -- coord_type
-    m Bool
-componentSetExtents _obj x y width height coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> CoordType                            -- coordType
+    -> m Bool                               -- result
+componentSetExtents _obj x y width height coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    result <- atk_component_set_extents _obj' x y width height coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    result <- atk_component_set_extents _obj' x y width height coordType'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data ComponentSetExtentsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> CoordType -> m Bool), MonadIO m, ComponentK a) => MethodInfo ComponentSetExtentsMethodInfo a signature where
+    overloadedMethod _ = componentSetExtents
+
 -- method Component::set_position
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -499,24 +569,27 @@
 
 componentSetPosition ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    CoordType ->                            -- coord_type
-    m Bool
-componentSetPosition _obj x y coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> CoordType                            -- coordType
+    -> m Bool                               -- result
+componentSetPosition _obj x y coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    result <- atk_component_set_position _obj' x y coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    result <- atk_component_set_position _obj' x y coordType'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data ComponentSetPositionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> m Bool), MonadIO m, ComponentK a) => MethodInfo ComponentSetPositionMethodInfo a signature where
+    overloadedMethod _ = componentSetPosition
+
 -- method Component::set_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Component", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -530,15 +603,19 @@
 
 componentSetSize ::
     (MonadIO m, ComponentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> m Bool                               -- result
 componentSetSize _obj width height = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_component_set_size _obj' width height
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data ComponentSetSizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, ComponentK a) => MethodInfo ComponentSetSizeMethodInfo a signature where
+    overloadedMethod _ = componentSetSize
 
 
diff --git a/GI/Atk/Interfaces/Component.hs-boot b/GI/Atk/Interfaces/Component.hs-boot
--- a/GI/Atk/Interfaces/Component.hs-boot
+++ b/GI/Atk/Interfaces/Component.hs-boot
@@ -11,3 +11,16 @@
 data ComponentBoundsChangedSignalInfo
 class ForeignPtrNewtype a => ComponentK a
 instance (ForeignPtrNewtype o, IsDescendantOf Component o) => ComponentK o
+data ComponentContainsMethodInfo
+data ComponentGetAlphaMethodInfo
+data ComponentGetExtentsMethodInfo
+data ComponentGetLayerMethodInfo
+data ComponentGetMdiZorderMethodInfo
+data ComponentGetPositionMethodInfo
+data ComponentGetSizeMethodInfo
+data ComponentGrabFocusMethodInfo
+data ComponentRefAccessibleAtPointMethodInfo
+data ComponentRemoveFocusHandlerMethodInfo
+data ComponentSetExtentsMethodInfo
+data ComponentSetPositionMethodInfo
+data ComponentSetSizeMethodInfo
diff --git a/GI/Atk/Interfaces/Document.hs b/GI/Atk/Interfaces/Document.hs
--- a/GI/Atk/Interfaces/Document.hs
+++ b/GI/Atk/Interfaces/Document.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,34 +17,42 @@
 
  -- * Methods
 -- ** documentGetAttributeValue
+    DocumentGetAttributeValueMethodInfo     ,
     documentGetAttributeValue               ,
 
 
 -- ** documentGetAttributes
+    DocumentGetAttributesMethodInfo         ,
     documentGetAttributes                   ,
 
 
 -- ** documentGetCurrentPageNumber
+    DocumentGetCurrentPageNumberMethodInfo  ,
     documentGetCurrentPageNumber            ,
 
 
 -- ** documentGetDocument
+    DocumentGetDocumentMethodInfo           ,
     documentGetDocument                     ,
 
 
 -- ** documentGetDocumentType
+    DocumentGetDocumentTypeMethodInfo       ,
     documentGetDocumentType                 ,
 
 
 -- ** documentGetLocale
+    DocumentGetLocaleMethodInfo             ,
     documentGetLocale                       ,
 
 
 -- ** documentGetPageCount
+    DocumentGetPageCountMethodInfo          ,
     documentGetPageCount                    ,
 
 
 -- ** documentSetAttributeValue
+    DocumentSetAttributeValueMethodInfo     ,
     documentSetAttributeValue               ,
 
 
@@ -118,6 +127,25 @@
 noDocument :: Maybe Document
 noDocument = Nothing
 
+type family ResolveDocumentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveDocumentMethod "getAttributeValue" o = DocumentGetAttributeValueMethodInfo
+    ResolveDocumentMethod "getAttributes" o = DocumentGetAttributesMethodInfo
+    ResolveDocumentMethod "getCurrentPageNumber" o = DocumentGetCurrentPageNumberMethodInfo
+    ResolveDocumentMethod "getDocument" o = DocumentGetDocumentMethodInfo
+    ResolveDocumentMethod "getDocumentType" o = DocumentGetDocumentTypeMethodInfo
+    ResolveDocumentMethod "getLocale" o = DocumentGetLocaleMethodInfo
+    ResolveDocumentMethod "getPageCount" o = DocumentGetPageCountMethodInfo
+    ResolveDocumentMethod "setAttributeValue" o = DocumentSetAttributeValueMethodInfo
+    ResolveDocumentMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveDocumentMethod t Document, MethodInfo info Document p) => IsLabelProxy t (Document -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveDocumentMethod t Document, MethodInfo info Document p) => IsLabel t (Document -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Document::load-complete
 type DocumentLoadCompleteCallback =
     IO ()
@@ -221,8 +249,8 @@
     Int32 ->
     Ptr () ->
     IO ()
-documentPageChangedCallbackWrapper _cb _ page_number _ = do
-    _cb  page_number
+documentPageChangedCallbackWrapper _cb _ pageNumber _ = do
+    _cb  pageNumber
 
 onDocumentPageChanged :: (GObject a, MonadIO m) => a -> DocumentPageChangedCallback -> m SignalHandlerId
 onDocumentPageChanged obj cb = liftIO $ connectDocumentPageChanged obj cb SignalConnectBefore
@@ -297,7 +325,7 @@
     connectSignal _ = connectDocumentReload
 
 type instance SignalList Document = DocumentSignalList
-type DocumentSignalList = ('[ '("load-complete", DocumentLoadCompleteSignalInfo), '("load-stopped", DocumentLoadStoppedSignalInfo), '("page-changed", DocumentPageChangedSignalInfo), '("reload", DocumentReloadSignalInfo)] :: [(Symbol, *)])
+type DocumentSignalList = ('[ '("loadComplete", DocumentLoadCompleteSignalInfo), '("loadStopped", DocumentLoadStoppedSignalInfo), '("pageChanged", DocumentPageChangedSignalInfo), '("reload", DocumentReloadSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => DocumentK a
 instance (ForeignPtrNewtype o, IsDescendantOf Document o) => DocumentK o
@@ -306,9 +334,8 @@
 
 -- method Document::get_attribute_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -321,24 +348,27 @@
 
 documentGetAttributeValue ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- attribute_name
-    m T.Text
-documentGetAttributeValue _obj attribute_name = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- attributeName
+    -> m T.Text                             -- result
+documentGetAttributeValue _obj attributeName = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    attribute_name' <- textToCString attribute_name
-    result <- atk_document_get_attribute_value _obj' attribute_name'
+    attributeName' <- textToCString attributeName
+    result <- atk_document_get_attribute_value _obj' attributeName'
     checkUnexpectedReturnNULL "atk_document_get_attribute_value" result
     result' <- cstringToText result
     touchManagedPtr _obj
-    freeMem attribute_name'
+    freeMem attributeName'
     return result'
 
+data DocumentGetAttributeValueMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, DocumentK a) => MethodInfo DocumentGetAttributeValueMethodInfo a signature where
+    overloadedMethod _ = documentGetAttributeValue
+
 -- method Document::get_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TBasicType TVoid)
 -- throws : False
 -- Skip return : False
@@ -350,8 +380,8 @@
 
 documentGetAttributes ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    m [Ptr ()]
+    a                                       -- _obj
+    -> m [Ptr ()]                           -- result
 documentGetAttributes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_document_get_attributes _obj'
@@ -360,11 +390,14 @@
     touchManagedPtr _obj
     return result'
 
+data DocumentGetAttributesMethodInfo
+instance (signature ~ (m [Ptr ()]), MonadIO m, DocumentK a) => MethodInfo DocumentGetAttributesMethodInfo a signature where
+    overloadedMethod _ = documentGetAttributes
+
 -- method Document::get_current_page_number
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -376,19 +409,22 @@
 
 documentGetCurrentPageNumber ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 documentGetCurrentPageNumber _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_document_get_current_page_number _obj'
     touchManagedPtr _obj
     return result
 
+data DocumentGetCurrentPageNumberMethodInfo
+instance (signature ~ (m Int32), MonadIO m, DocumentK a) => MethodInfo DocumentGetCurrentPageNumberMethodInfo a signature where
+    overloadedMethod _ = documentGetCurrentPageNumber
+
 -- method Document::get_document
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -400,19 +436,22 @@
 {-# DEPRECATED documentGetDocument ["Since 2.12. @document is already a representation of","the document. Use it directly, or one of its children, as an","instance of the DOM."]#-}
 documentGetDocument ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 documentGetDocument _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_document_get_document _obj'
     touchManagedPtr _obj
     return ()
 
+data DocumentGetDocumentMethodInfo
+instance (signature ~ (m ()), MonadIO m, DocumentK a) => MethodInfo DocumentGetDocumentMethodInfo a signature where
+    overloadedMethod _ = documentGetDocument
+
 -- method Document::get_document_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -424,8 +463,8 @@
 {-# DEPRECATED documentGetDocumentType ["Since 2.12. Please use atk_document_get_attributes() to","ask for the document type if it applies."]#-}
 documentGetDocumentType ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 documentGetDocumentType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_document_get_document_type _obj'
@@ -434,11 +473,14 @@
     touchManagedPtr _obj
     return result'
 
+data DocumentGetDocumentTypeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, DocumentK a) => MethodInfo DocumentGetDocumentTypeMethodInfo a signature where
+    overloadedMethod _ = documentGetDocumentType
+
 -- method Document::get_locale
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -450,8 +492,8 @@
 {-# DEPRECATED documentGetLocale ["(Since version 2.7.90)","Please use atk_object_get_object_locale() instead."]#-}
 documentGetLocale ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 documentGetLocale _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_document_get_locale _obj'
@@ -460,11 +502,14 @@
     touchManagedPtr _obj
     return result'
 
+data DocumentGetLocaleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, DocumentK a) => MethodInfo DocumentGetLocaleMethodInfo a signature where
+    overloadedMethod _ = documentGetLocale
+
 -- method Document::get_page_count
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -476,19 +521,22 @@
 
 documentGetPageCount ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 documentGetPageCount _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_document_get_page_count _obj'
     touchManagedPtr _obj
     return result
 
+data DocumentGetPageCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, DocumentK a) => MethodInfo DocumentGetPageCountMethodInfo a signature where
+    overloadedMethod _ = documentGetPageCount
+
 -- method Document::set_attribute_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attribute_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Document", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attribute_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -502,19 +550,23 @@
 
 documentSetAttributeValue ::
     (MonadIO m, DocumentK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- attribute_name
-    T.Text ->                               -- attribute_value
-    m Bool
-documentSetAttributeValue _obj attribute_name attribute_value = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- attributeName
+    -> T.Text                               -- attributeValue
+    -> m Bool                               -- result
+documentSetAttributeValue _obj attributeName attributeValue = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    attribute_name' <- textToCString attribute_name
-    attribute_value' <- textToCString attribute_value
-    result <- atk_document_set_attribute_value _obj' attribute_name' attribute_value'
+    attributeName' <- textToCString attributeName
+    attributeValue' <- textToCString attributeValue
+    result <- atk_document_set_attribute_value _obj' attributeName' attributeValue'
     let result' = (/= 0) result
     touchManagedPtr _obj
-    freeMem attribute_name'
-    freeMem attribute_value'
+    freeMem attributeName'
+    freeMem attributeValue'
     return result'
+
+data DocumentSetAttributeValueMethodInfo
+instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, DocumentK a) => MethodInfo DocumentSetAttributeValueMethodInfo a signature where
+    overloadedMethod _ = documentSetAttributeValue
 
 
diff --git a/GI/Atk/Interfaces/Document.hs-boot b/GI/Atk/Interfaces/Document.hs-boot
--- a/GI/Atk/Interfaces/Document.hs-boot
+++ b/GI/Atk/Interfaces/Document.hs-boot
@@ -14,3 +14,11 @@
 data DocumentReloadSignalInfo
 class ForeignPtrNewtype a => DocumentK a
 instance (ForeignPtrNewtype o, IsDescendantOf Document o) => DocumentK o
+data DocumentGetAttributeValueMethodInfo
+data DocumentGetAttributesMethodInfo
+data DocumentGetCurrentPageNumberMethodInfo
+data DocumentGetDocumentMethodInfo
+data DocumentGetDocumentTypeMethodInfo
+data DocumentGetLocaleMethodInfo
+data DocumentGetPageCountMethodInfo
+data DocumentSetAttributeValueMethodInfo
diff --git a/GI/Atk/Interfaces/EditableText.hs b/GI/Atk/Interfaces/EditableText.hs
--- a/GI/Atk/Interfaces/EditableText.hs
+++ b/GI/Atk/Interfaces/EditableText.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,30 +17,37 @@
 
  -- * Methods
 -- ** editableTextCopyText
+    EditableTextCopyTextMethodInfo          ,
     editableTextCopyText                    ,
 
 
 -- ** editableTextCutText
+    EditableTextCutTextMethodInfo           ,
     editableTextCutText                     ,
 
 
 -- ** editableTextDeleteText
+    EditableTextDeleteTextMethodInfo        ,
     editableTextDeleteText                  ,
 
 
 -- ** editableTextInsertText
+    EditableTextInsertTextMethodInfo        ,
     editableTextInsertText                  ,
 
 
 -- ** editableTextPasteText
+    EditableTextPasteTextMethodInfo         ,
     editableTextPasteText                   ,
 
 
 -- ** editableTextSetRunAttributes
+    EditableTextSetRunAttributesMethodInfo  ,
     editableTextSetRunAttributes            ,
 
 
 -- ** editableTextSetTextContents
+    EditableTextSetTextContentsMethodInfo   ,
     editableTextSetTextContents             ,
 
 
@@ -63,6 +71,24 @@
 noEditableText :: Maybe EditableText
 noEditableText = Nothing
 
+type family ResolveEditableTextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEditableTextMethod "copyText" o = EditableTextCopyTextMethodInfo
+    ResolveEditableTextMethod "cutText" o = EditableTextCutTextMethodInfo
+    ResolveEditableTextMethod "deleteText" o = EditableTextDeleteTextMethodInfo
+    ResolveEditableTextMethod "insertText" o = EditableTextInsertTextMethodInfo
+    ResolveEditableTextMethod "pasteText" o = EditableTextPasteTextMethodInfo
+    ResolveEditableTextMethod "setRunAttributes" o = EditableTextSetRunAttributesMethodInfo
+    ResolveEditableTextMethod "setTextContents" o = EditableTextSetTextContentsMethodInfo
+    ResolveEditableTextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEditableTextMethod t EditableText, MethodInfo info EditableText p) => IsLabelProxy t (EditableText -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEditableTextMethod t EditableText, MethodInfo info EditableText p) => IsLabel t (EditableText -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList EditableText = EditableTextAttributeList
 type EditableTextAttributeList = ('[ ] :: [(Symbol, *)])
 
@@ -76,9 +102,8 @@
 
 -- method EditableText::copy_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -92,21 +117,24 @@
 
 editableTextCopyText ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- start_pos
-    Int32 ->                                -- end_pos
-    m ()
-editableTextCopyText _obj start_pos end_pos = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- startPos
+    -> Int32                                -- endPos
+    -> m ()                                 -- result
+editableTextCopyText _obj startPos endPos = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    atk_editable_text_copy_text _obj' start_pos end_pos
+    atk_editable_text_copy_text _obj' startPos endPos
     touchManagedPtr _obj
     return ()
 
+data EditableTextCopyTextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, EditableTextK a) => MethodInfo EditableTextCopyTextMethodInfo a signature where
+    overloadedMethod _ = editableTextCopyText
+
 -- method EditableText::cut_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -120,21 +148,24 @@
 
 editableTextCutText ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- start_pos
-    Int32 ->                                -- end_pos
-    m ()
-editableTextCutText _obj start_pos end_pos = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- startPos
+    -> Int32                                -- endPos
+    -> m ()                                 -- result
+editableTextCutText _obj startPos endPos = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    atk_editable_text_cut_text _obj' start_pos end_pos
+    atk_editable_text_cut_text _obj' startPos endPos
     touchManagedPtr _obj
     return ()
 
+data EditableTextCutTextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, EditableTextK a) => MethodInfo EditableTextCutTextMethodInfo a signature where
+    overloadedMethod _ = editableTextCutText
+
 -- method EditableText::delete_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -148,21 +179,24 @@
 
 editableTextDeleteText ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- start_pos
-    Int32 ->                                -- end_pos
-    m ()
-editableTextDeleteText _obj start_pos end_pos = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- startPos
+    -> Int32                                -- endPos
+    -> m ()                                 -- result
+editableTextDeleteText _obj startPos endPos = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    atk_editable_text_delete_text _obj' start_pos end_pos
+    atk_editable_text_delete_text _obj' startPos endPos
     touchManagedPtr _obj
     return ()
 
+data EditableTextDeleteTextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, EditableTextK a) => MethodInfo EditableTextDeleteTextMethodInfo a signature where
+    overloadedMethod _ = editableTextDeleteText
+
 -- method EditableText::insert_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -177,11 +211,11 @@
 
 editableTextInsertText ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- string
-    Int32 ->                                -- length
-    Int32 ->                                -- position
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- string
+    -> Int32                                -- length_
+    -> Int32                                -- position
+    -> m ()                                 -- result
 editableTextInsertText _obj string length_ position = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     string' <- textToCString string
@@ -190,11 +224,14 @@
     freeMem string'
     return ()
 
+data EditableTextInsertTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> m ()), MonadIO m, EditableTextK a) => MethodInfo EditableTextInsertTextMethodInfo a signature where
+    overloadedMethod _ = editableTextInsertText
+
 -- method EditableText::paste_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -207,20 +244,23 @@
 
 editableTextPasteText ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- position
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- position
+    -> m ()                                 -- result
 editableTextPasteText _obj position = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_editable_text_paste_text _obj' position
     touchManagedPtr _obj
     return ()
 
+data EditableTextPasteTextMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, EditableTextK a) => MethodInfo EditableTextPasteTextMethodInfo a signature where
+    overloadedMethod _ = editableTextPasteText
+
 -- method EditableText::set_run_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrib_set", argType = TGSList (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrib_set", argType = TGSList (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrib_set", argType = TGSList (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -235,25 +275,28 @@
 
 editableTextSetRunAttributes ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    [Ptr ()] ->                             -- attrib_set
-    Int32 ->                                -- start_offset
-    Int32 ->                                -- end_offset
-    m Bool
-editableTextSetRunAttributes _obj attrib_set start_offset end_offset = liftIO $ do
+    a                                       -- _obj
+    -> [Ptr ()]                             -- attribSet
+    -> Int32                                -- startOffset
+    -> Int32                                -- endOffset
+    -> m Bool                               -- result
+editableTextSetRunAttributes _obj attribSet startOffset endOffset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    attrib_set' <- packGSList attrib_set
-    result <- atk_editable_text_set_run_attributes _obj' attrib_set' start_offset end_offset
+    attribSet' <- packGSList attribSet
+    result <- atk_editable_text_set_run_attributes _obj' attribSet' startOffset endOffset
     let result' = (/= 0) result
     touchManagedPtr _obj
-    g_slist_free attrib_set'
+    g_slist_free attribSet'
     return result'
 
+data EditableTextSetRunAttributesMethodInfo
+instance (signature ~ ([Ptr ()] -> Int32 -> Int32 -> m Bool), MonadIO m, EditableTextK a) => MethodInfo EditableTextSetRunAttributesMethodInfo a signature where
+    overloadedMethod _ = editableTextSetRunAttributes
+
 -- method EditableText::set_text_contents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "EditableText", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -266,9 +309,9 @@
 
 editableTextSetTextContents ::
     (MonadIO m, EditableTextK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- string
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- string
+    -> m ()                                 -- result
 editableTextSetTextContents _obj string = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     string' <- textToCString string
@@ -276,5 +319,9 @@
     touchManagedPtr _obj
     freeMem string'
     return ()
+
+data EditableTextSetTextContentsMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, EditableTextK a) => MethodInfo EditableTextSetTextContentsMethodInfo a signature where
+    overloadedMethod _ = editableTextSetTextContents
 
 
diff --git a/GI/Atk/Interfaces/EditableText.hs-boot b/GI/Atk/Interfaces/EditableText.hs-boot
--- a/GI/Atk/Interfaces/EditableText.hs-boot
+++ b/GI/Atk/Interfaces/EditableText.hs-boot
@@ -10,3 +10,10 @@
 newtype EditableText = EditableText (ForeignPtr EditableText)
 class ForeignPtrNewtype a => EditableTextK a
 instance (ForeignPtrNewtype o, IsDescendantOf EditableText o) => EditableTextK o
+data EditableTextCopyTextMethodInfo
+data EditableTextCutTextMethodInfo
+data EditableTextDeleteTextMethodInfo
+data EditableTextInsertTextMethodInfo
+data EditableTextPasteTextMethodInfo
+data EditableTextSetRunAttributesMethodInfo
+data EditableTextSetTextContentsMethodInfo
diff --git a/GI/Atk/Interfaces/HyperlinkImpl.hs b/GI/Atk/Interfaces/HyperlinkImpl.hs
--- a/GI/Atk/Interfaces/HyperlinkImpl.hs
+++ b/GI/Atk/Interfaces/HyperlinkImpl.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,6 +17,7 @@
 
  -- * Methods
 -- ** hyperlinkImplGetHyperlink
+    HyperlinkImplGetHyperlinkMethodInfo     ,
     hyperlinkImplGetHyperlink               ,
 
 
@@ -39,6 +41,18 @@
 noHyperlinkImpl :: Maybe HyperlinkImpl
 noHyperlinkImpl = Nothing
 
+type family ResolveHyperlinkImplMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHyperlinkImplMethod "getHyperlink" o = HyperlinkImplGetHyperlinkMethodInfo
+    ResolveHyperlinkImplMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveHyperlinkImplMethod t HyperlinkImpl, MethodInfo info HyperlinkImpl p) => IsLabelProxy t (HyperlinkImpl -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveHyperlinkImplMethod t HyperlinkImpl, MethodInfo info HyperlinkImpl p) => IsLabel t (HyperlinkImpl -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList HyperlinkImpl = HyperlinkImplAttributeList
 type HyperlinkImplAttributeList = ('[ ] :: [(Symbol, *)])
 
@@ -52,9 +66,8 @@
 
 -- method HyperlinkImpl::get_hyperlink
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "HyperlinkImpl", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "HyperlinkImpl", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "HyperlinkImpl", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Hyperlink"
 -- throws : False
 -- Skip return : False
@@ -66,8 +79,8 @@
 
 hyperlinkImplGetHyperlink ::
     (MonadIO m, HyperlinkImplK a) =>
-    a ->                                    -- _obj
-    m Hyperlink
+    a                                       -- _obj
+    -> m Hyperlink                          -- result
 hyperlinkImplGetHyperlink _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_impl_get_hyperlink _obj'
@@ -75,5 +88,9 @@
     result' <- (wrapObject Hyperlink) result
     touchManagedPtr _obj
     return result'
+
+data HyperlinkImplGetHyperlinkMethodInfo
+instance (signature ~ (m Hyperlink), MonadIO m, HyperlinkImplK a) => MethodInfo HyperlinkImplGetHyperlinkMethodInfo a signature where
+    overloadedMethod _ = hyperlinkImplGetHyperlink
 
 
diff --git a/GI/Atk/Interfaces/HyperlinkImpl.hs-boot b/GI/Atk/Interfaces/HyperlinkImpl.hs-boot
--- a/GI/Atk/Interfaces/HyperlinkImpl.hs-boot
+++ b/GI/Atk/Interfaces/HyperlinkImpl.hs-boot
@@ -10,3 +10,4 @@
 newtype HyperlinkImpl = HyperlinkImpl (ForeignPtr HyperlinkImpl)
 class ForeignPtrNewtype a => HyperlinkImplK a
 instance (ForeignPtrNewtype o, IsDescendantOf HyperlinkImpl o) => HyperlinkImplK o
+data HyperlinkImplGetHyperlinkMethodInfo
diff --git a/GI/Atk/Interfaces/Hypertext.hs b/GI/Atk/Interfaces/Hypertext.hs
--- a/GI/Atk/Interfaces/Hypertext.hs
+++ b/GI/Atk/Interfaces/Hypertext.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,14 +17,17 @@
 
  -- * Methods
 -- ** hypertextGetLink
+    HypertextGetLinkMethodInfo              ,
     hypertextGetLink                        ,
 
 
 -- ** hypertextGetLinkIndex
+    HypertextGetLinkIndexMethodInfo         ,
     hypertextGetLinkIndex                   ,
 
 
 -- ** hypertextGetNLinks
+    HypertextGetNLinksMethodInfo            ,
     hypertextGetNLinks                      ,
 
 
@@ -62,6 +66,20 @@
 noHypertext :: Maybe Hypertext
 noHypertext = Nothing
 
+type family ResolveHypertextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHypertextMethod "getLink" o = HypertextGetLinkMethodInfo
+    ResolveHypertextMethod "getLinkIndex" o = HypertextGetLinkIndexMethodInfo
+    ResolveHypertextMethod "getNLinks" o = HypertextGetNLinksMethodInfo
+    ResolveHypertextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveHypertextMethod t Hypertext, MethodInfo info Hypertext p) => IsLabelProxy t (Hypertext -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveHypertextMethod t Hypertext, MethodInfo info Hypertext p) => IsLabel t (Hypertext -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Hypertext::link-selected
 type HypertextLinkSelectedCallback =
     Int32 ->
@@ -112,7 +130,7 @@
     connectSignal _ = connectHypertextLinkSelected
 
 type instance SignalList Hypertext = HypertextSignalList
-type HypertextSignalList = ('[ '("link-selected", HypertextLinkSelectedSignalInfo)] :: [(Symbol, *)])
+type HypertextSignalList = ('[ '("linkSelected", HypertextLinkSelectedSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => HypertextK a
 instance (ForeignPtrNewtype o, IsDescendantOf Hypertext o) => HypertextK o
@@ -121,9 +139,8 @@
 
 -- method Hypertext::get_link
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "link_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "link_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "link_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Hyperlink"
 -- throws : False
 -- Skip return : False
@@ -136,22 +153,25 @@
 
 hypertextGetLink ::
     (MonadIO m, HypertextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- link_index
-    m Hyperlink
-hypertextGetLink _obj link_index = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- linkIndex
+    -> m Hyperlink                          -- result
+hypertextGetLink _obj linkIndex = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_hypertext_get_link _obj' link_index
+    result <- atk_hypertext_get_link _obj' linkIndex
     checkUnexpectedReturnNULL "atk_hypertext_get_link" result
     result' <- (newObject Hyperlink) result
     touchManagedPtr _obj
     return result'
 
+data HypertextGetLinkMethodInfo
+instance (signature ~ (Int32 -> m Hyperlink), MonadIO m, HypertextK a) => MethodInfo HypertextGetLinkMethodInfo a signature where
+    overloadedMethod _ = hypertextGetLink
+
 -- method Hypertext::get_link_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "char_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "char_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "char_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -164,20 +184,23 @@
 
 hypertextGetLinkIndex ::
     (MonadIO m, HypertextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- char_index
-    m Int32
-hypertextGetLinkIndex _obj char_index = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- charIndex
+    -> m Int32                              -- result
+hypertextGetLinkIndex _obj charIndex = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_hypertext_get_link_index _obj' char_index
+    result <- atk_hypertext_get_link_index _obj' charIndex
     touchManagedPtr _obj
     return result
 
+data HypertextGetLinkIndexMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, HypertextK a) => MethodInfo HypertextGetLinkIndexMethodInfo a signature where
+    overloadedMethod _ = hypertextGetLinkIndex
+
 -- method Hypertext::get_n_links
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hypertext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -189,12 +212,16 @@
 
 hypertextGetNLinks ::
     (MonadIO m, HypertextK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 hypertextGetNLinks _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hypertext_get_n_links _obj'
     touchManagedPtr _obj
     return result
+
+data HypertextGetNLinksMethodInfo
+instance (signature ~ (m Int32), MonadIO m, HypertextK a) => MethodInfo HypertextGetNLinksMethodInfo a signature where
+    overloadedMethod _ = hypertextGetNLinks
 
 
diff --git a/GI/Atk/Interfaces/Hypertext.hs-boot b/GI/Atk/Interfaces/Hypertext.hs-boot
--- a/GI/Atk/Interfaces/Hypertext.hs-boot
+++ b/GI/Atk/Interfaces/Hypertext.hs-boot
@@ -11,3 +11,6 @@
 data HypertextLinkSelectedSignalInfo
 class ForeignPtrNewtype a => HypertextK a
 instance (ForeignPtrNewtype o, IsDescendantOf Hypertext o) => HypertextK o
+data HypertextGetLinkMethodInfo
+data HypertextGetLinkIndexMethodInfo
+data HypertextGetNLinksMethodInfo
diff --git a/GI/Atk/Interfaces/Image.hs b/GI/Atk/Interfaces/Image.hs
--- a/GI/Atk/Interfaces/Image.hs
+++ b/GI/Atk/Interfaces/Image.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,22 +17,27 @@
 
  -- * Methods
 -- ** imageGetImageDescription
+    ImageGetImageDescriptionMethodInfo      ,
     imageGetImageDescription                ,
 
 
 -- ** imageGetImageLocale
+    ImageGetImageLocaleMethodInfo           ,
     imageGetImageLocale                     ,
 
 
 -- ** imageGetImagePosition
+    ImageGetImagePositionMethodInfo         ,
     imageGetImagePosition                   ,
 
 
 -- ** imageGetImageSize
+    ImageGetImageSizeMethodInfo             ,
     imageGetImageSize                       ,
 
 
 -- ** imageSetImageDescription
+    ImageSetImageDescriptionMethodInfo      ,
     imageSetImageDescription                ,
 
 
@@ -55,6 +61,22 @@
 noImage :: Maybe Image
 noImage = Nothing
 
+type family ResolveImageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImageMethod "getImageDescription" o = ImageGetImageDescriptionMethodInfo
+    ResolveImageMethod "getImageLocale" o = ImageGetImageLocaleMethodInfo
+    ResolveImageMethod "getImagePosition" o = ImageGetImagePositionMethodInfo
+    ResolveImageMethod "getImageSize" o = ImageGetImageSizeMethodInfo
+    ResolveImageMethod "setImageDescription" o = ImageSetImageDescriptionMethodInfo
+    ResolveImageMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveImageMethod t Image, MethodInfo info Image p) => IsLabelProxy t (Image -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveImageMethod t Image, MethodInfo info Image p) => IsLabel t (Image -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Image = ImageAttributeList
 type ImageAttributeList = ('[ ] :: [(Symbol, *)])
 
@@ -68,9 +90,8 @@
 
 -- method Image::get_image_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -82,8 +103,8 @@
 
 imageGetImageDescription ::
     (MonadIO m, ImageK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 imageGetImageDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_image_get_image_description _obj'
@@ -92,11 +113,14 @@
     touchManagedPtr _obj
     return result'
 
+data ImageGetImageDescriptionMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, ImageK a) => MethodInfo ImageGetImageDescriptionMethodInfo a signature where
+    overloadedMethod _ = imageGetImageDescription
+
 -- method Image::get_image_locale
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -108,8 +132,8 @@
 
 imageGetImageLocale ::
     (MonadIO m, ImageK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 imageGetImageLocale _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_image_get_image_locale _obj'
@@ -118,11 +142,14 @@
     touchManagedPtr _obj
     return result'
 
+data ImageGetImageLocaleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, ImageK a) => MethodInfo ImageGetImageLocaleMethodInfo a signature where
+    overloadedMethod _ = imageGetImageLocale
+
 -- method Image::get_image_position
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -137,23 +164,26 @@
 
 imageGetImagePosition ::
     (MonadIO m, ImageK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    CoordType ->                            -- coord_type
-    m ()
-imageGetImagePosition _obj x y coord_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> CoordType                            -- coordType
+    -> m ()                                 -- result
+imageGetImagePosition _obj x y coordType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    atk_image_get_image_position _obj' x y coord_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    atk_image_get_image_position _obj' x y coordType'
     touchManagedPtr _obj
     return ()
 
+data ImageGetImagePositionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> m ()), MonadIO m, ImageK a) => MethodInfo ImageGetImagePositionMethodInfo a signature where
+    overloadedMethod _ = imageGetImagePosition
+
 -- method Image::get_image_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -167,21 +197,24 @@
 
 imageGetImageSize ::
     (MonadIO m, ImageK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> m ()                                 -- result
 imageGetImageSize _obj width height = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_image_get_image_size _obj' width height
     touchManagedPtr _obj
     return ()
 
+data ImageGetImageSizeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, ImageK a) => MethodInfo ImageGetImageSizeMethodInfo a signature where
+    overloadedMethod _ = imageGetImageSize
+
 -- method Image::set_image_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Image", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -194,9 +227,9 @@
 
 imageSetImageDescription ::
     (MonadIO m, ImageK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- description
-    m Bool
+    a                                       -- _obj
+    -> T.Text                               -- description
+    -> m Bool                               -- result
 imageSetImageDescription _obj description = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     description' <- textToCString description
@@ -205,5 +238,9 @@
     touchManagedPtr _obj
     freeMem description'
     return result'
+
+data ImageSetImageDescriptionMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m, ImageK a) => MethodInfo ImageSetImageDescriptionMethodInfo a signature where
+    overloadedMethod _ = imageSetImageDescription
 
 
diff --git a/GI/Atk/Interfaces/Image.hs-boot b/GI/Atk/Interfaces/Image.hs-boot
--- a/GI/Atk/Interfaces/Image.hs-boot
+++ b/GI/Atk/Interfaces/Image.hs-boot
@@ -10,3 +10,8 @@
 newtype Image = Image (ForeignPtr Image)
 class ForeignPtrNewtype a => ImageK a
 instance (ForeignPtrNewtype o, IsDescendantOf Image o) => ImageK o
+data ImageGetImageDescriptionMethodInfo
+data ImageGetImageLocaleMethodInfo
+data ImageGetImagePositionMethodInfo
+data ImageGetImageSizeMethodInfo
+data ImageSetImageDescriptionMethodInfo
diff --git a/GI/Atk/Interfaces/ImplementorIface.hs b/GI/Atk/Interfaces/ImplementorIface.hs
--- a/GI/Atk/Interfaces/ImplementorIface.hs
+++ b/GI/Atk/Interfaces/ImplementorIface.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -31,6 +32,17 @@
 newtype ImplementorIface = ImplementorIface (ForeignPtr ImplementorIface)
 noImplementorIface :: Maybe ImplementorIface
 noImplementorIface = Nothing
+
+type family ResolveImplementorIfaceMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImplementorIfaceMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveImplementorIfaceMethod t ImplementorIface, MethodInfo info ImplementorIface p) => IsLabelProxy t (ImplementorIface -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveImplementorIfaceMethod t ImplementorIface, MethodInfo info ImplementorIface p) => IsLabel t (ImplementorIface -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 type instance AttributeList ImplementorIface = ImplementorIfaceAttributeList
 type ImplementorIfaceAttributeList = ('[ ] :: [(Symbol, *)])
diff --git a/GI/Atk/Interfaces/Selection.hs b/GI/Atk/Interfaces/Selection.hs
--- a/GI/Atk/Interfaces/Selection.hs
+++ b/GI/Atk/Interfaces/Selection.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,30 +17,37 @@
 
  -- * Methods
 -- ** selectionAddSelection
+    SelectionAddSelectionMethodInfo         ,
     selectionAddSelection                   ,
 
 
 -- ** selectionClearSelection
+    SelectionClearSelectionMethodInfo       ,
     selectionClearSelection                 ,
 
 
 -- ** selectionGetSelectionCount
+    SelectionGetSelectionCountMethodInfo    ,
     selectionGetSelectionCount              ,
 
 
 -- ** selectionIsChildSelected
+    SelectionIsChildSelectedMethodInfo      ,
     selectionIsChildSelected                ,
 
 
 -- ** selectionRefSelection
+    SelectionRefSelectionMethodInfo         ,
     selectionRefSelection                   ,
 
 
 -- ** selectionRemoveSelection
+    SelectionRemoveSelectionMethodInfo      ,
     selectionRemoveSelection                ,
 
 
 -- ** selectionSelectAllSelection
+    SelectionSelectAllSelectionMethodInfo   ,
     selectionSelectAllSelection             ,
 
 
@@ -78,6 +86,24 @@
 noSelection :: Maybe Selection
 noSelection = Nothing
 
+type family ResolveSelectionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSelectionMethod "addSelection" o = SelectionAddSelectionMethodInfo
+    ResolveSelectionMethod "clearSelection" o = SelectionClearSelectionMethodInfo
+    ResolveSelectionMethod "isChildSelected" o = SelectionIsChildSelectedMethodInfo
+    ResolveSelectionMethod "refSelection" o = SelectionRefSelectionMethodInfo
+    ResolveSelectionMethod "removeSelection" o = SelectionRemoveSelectionMethodInfo
+    ResolveSelectionMethod "selectAllSelection" o = SelectionSelectAllSelectionMethodInfo
+    ResolveSelectionMethod "getSelectionCount" o = SelectionGetSelectionCountMethodInfo
+    ResolveSelectionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSelectionMethod t Selection, MethodInfo info Selection p) => IsLabelProxy t (Selection -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSelectionMethod t Selection, MethodInfo info Selection p) => IsLabel t (Selection -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Selection::selection-changed
 type SelectionSelectionChangedCallback =
     IO ()
@@ -125,7 +151,7 @@
     connectSignal _ = connectSelectionSelectionChanged
 
 type instance SignalList Selection = SelectionSignalList
-type SelectionSignalList = ('[ '("selection-changed", SelectionSelectionChangedSignalInfo)] :: [(Symbol, *)])
+type SelectionSignalList = ('[ '("selectionChanged", SelectionSelectionChangedSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => SelectionK a
 instance (ForeignPtrNewtype o, IsDescendantOf Selection o) => SelectionK o
@@ -134,9 +160,8 @@
 
 -- method Selection::add_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -149,9 +174,9 @@
 
 selectionAddSelection ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Bool                               -- result
 selectionAddSelection _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_add_selection _obj' i
@@ -159,11 +184,14 @@
     touchManagedPtr _obj
     return result'
 
+data SelectionAddSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, SelectionK a) => MethodInfo SelectionAddSelectionMethodInfo a signature where
+    overloadedMethod _ = selectionAddSelection
+
 -- method Selection::clear_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -175,8 +203,8 @@
 
 selectionClearSelection ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 selectionClearSelection _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_clear_selection _obj'
@@ -184,11 +212,14 @@
     touchManagedPtr _obj
     return result'
 
+data SelectionClearSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SelectionK a) => MethodInfo SelectionClearSelectionMethodInfo a signature where
+    overloadedMethod _ = selectionClearSelection
+
 -- method Selection::get_selection_count
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -200,19 +231,22 @@
 
 selectionGetSelectionCount ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 selectionGetSelectionCount _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_get_selection_count _obj'
     touchManagedPtr _obj
     return result
 
+data SelectionGetSelectionCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, SelectionK a) => MethodInfo SelectionGetSelectionCountMethodInfo a signature where
+    overloadedMethod _ = selectionGetSelectionCount
+
 -- method Selection::is_child_selected
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -225,9 +259,9 @@
 
 selectionIsChildSelected ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Bool                               -- result
 selectionIsChildSelected _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_is_child_selected _obj' i
@@ -235,11 +269,14 @@
     touchManagedPtr _obj
     return result'
 
+data SelectionIsChildSelectedMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, SelectionK a) => MethodInfo SelectionIsChildSelectedMethodInfo a signature where
+    overloadedMethod _ = selectionIsChildSelected
+
 -- method Selection::ref_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -252,9 +289,9 @@
 
 selectionRefSelection ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Object
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Object                             -- result
 selectionRefSelection _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_ref_selection _obj' i
@@ -263,11 +300,14 @@
     touchManagedPtr _obj
     return result'
 
+data SelectionRefSelectionMethodInfo
+instance (signature ~ (Int32 -> m Object), MonadIO m, SelectionK a) => MethodInfo SelectionRefSelectionMethodInfo a signature where
+    overloadedMethod _ = selectionRefSelection
+
 -- method Selection::remove_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -280,9 +320,9 @@
 
 selectionRemoveSelection ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Bool                               -- result
 selectionRemoveSelection _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_remove_selection _obj' i
@@ -290,11 +330,14 @@
     touchManagedPtr _obj
     return result'
 
+data SelectionRemoveSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, SelectionK a) => MethodInfo SelectionRemoveSelectionMethodInfo a signature where
+    overloadedMethod _ = selectionRemoveSelection
+
 -- method Selection::select_all_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Selection", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -306,13 +349,17 @@
 
 selectionSelectAllSelection ::
     (MonadIO m, SelectionK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 selectionSelectAllSelection _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_selection_select_all_selection _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data SelectionSelectAllSelectionMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SelectionK a) => MethodInfo SelectionSelectAllSelectionMethodInfo a signature where
+    overloadedMethod _ = selectionSelectAllSelection
 
 
diff --git a/GI/Atk/Interfaces/Selection.hs-boot b/GI/Atk/Interfaces/Selection.hs-boot
--- a/GI/Atk/Interfaces/Selection.hs-boot
+++ b/GI/Atk/Interfaces/Selection.hs-boot
@@ -11,3 +11,10 @@
 data SelectionSelectionChangedSignalInfo
 class ForeignPtrNewtype a => SelectionK a
 instance (ForeignPtrNewtype o, IsDescendantOf Selection o) => SelectionK o
+data SelectionAddSelectionMethodInfo
+data SelectionClearSelectionMethodInfo
+data SelectionGetSelectionCountMethodInfo
+data SelectionIsChildSelectedMethodInfo
+data SelectionRefSelectionMethodInfo
+data SelectionRemoveSelectionMethodInfo
+data SelectionSelectAllSelectionMethodInfo
diff --git a/GI/Atk/Interfaces/StreamableContent.hs b/GI/Atk/Interfaces/StreamableContent.hs
--- a/GI/Atk/Interfaces/StreamableContent.hs
+++ b/GI/Atk/Interfaces/StreamableContent.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,18 +17,22 @@
 
  -- * Methods
 -- ** streamableContentGetMimeType
+    StreamableContentGetMimeTypeMethodInfo  ,
     streamableContentGetMimeType            ,
 
 
 -- ** streamableContentGetNMimeTypes
+    StreamableContentGetNMimeTypesMethodInfo,
     streamableContentGetNMimeTypes          ,
 
 
 -- ** streamableContentGetStream
+    StreamableContentGetStreamMethodInfo    ,
     streamableContentGetStream              ,
 
 
 -- ** streamableContentGetUri
+    StreamableContentGetUriMethodInfo       ,
     streamableContentGetUri                 ,
 
 
@@ -52,6 +57,21 @@
 noStreamableContent :: Maybe StreamableContent
 noStreamableContent = Nothing
 
+type family ResolveStreamableContentMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStreamableContentMethod "getMimeType" o = StreamableContentGetMimeTypeMethodInfo
+    ResolveStreamableContentMethod "getNMimeTypes" o = StreamableContentGetNMimeTypesMethodInfo
+    ResolveStreamableContentMethod "getStream" o = StreamableContentGetStreamMethodInfo
+    ResolveStreamableContentMethod "getUri" o = StreamableContentGetUriMethodInfo
+    ResolveStreamableContentMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStreamableContentMethod t StreamableContent, MethodInfo info StreamableContent p) => IsLabelProxy t (StreamableContent -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStreamableContentMethod t StreamableContent, MethodInfo info StreamableContent p) => IsLabel t (StreamableContent -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList StreamableContent = StreamableContentAttributeList
 type StreamableContentAttributeList = ('[ ] :: [(Symbol, *)])
 
@@ -65,9 +85,8 @@
 
 -- method StreamableContent::get_mime_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -80,9 +99,9 @@
 
 streamableContentGetMimeType ::
     (MonadIO m, StreamableContentK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m T.Text                             -- result
 streamableContentGetMimeType _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_streamable_content_get_mime_type _obj' i
@@ -91,11 +110,14 @@
     touchManagedPtr _obj
     return result'
 
+data StreamableContentGetMimeTypeMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, StreamableContentK a) => MethodInfo StreamableContentGetMimeTypeMethodInfo a signature where
+    overloadedMethod _ = streamableContentGetMimeType
+
 -- method StreamableContent::get_n_mime_types
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -107,19 +129,22 @@
 
 streamableContentGetNMimeTypes ::
     (MonadIO m, StreamableContentK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 streamableContentGetNMimeTypes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_streamable_content_get_n_mime_types _obj'
     touchManagedPtr _obj
     return result
 
+data StreamableContentGetNMimeTypesMethodInfo
+instance (signature ~ (m Int32), MonadIO m, StreamableContentK a) => MethodInfo StreamableContentGetNMimeTypesMethodInfo a signature where
+    overloadedMethod _ = streamableContentGetNMimeTypes
+
 -- method StreamableContent::get_stream
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GLib" "IOChannel"
 -- throws : False
 -- Skip return : False
@@ -132,24 +157,27 @@
 
 streamableContentGetStream ::
     (MonadIO m, StreamableContentK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- mime_type
-    m GLib.IOChannel
-streamableContentGetStream _obj mime_type = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- mimeType
+    -> m GLib.IOChannel                     -- result
+streamableContentGetStream _obj mimeType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    mime_type' <- textToCString mime_type
-    result <- atk_streamable_content_get_stream _obj' mime_type'
+    mimeType' <- textToCString mimeType
+    result <- atk_streamable_content_get_stream _obj' mimeType'
     checkUnexpectedReturnNULL "atk_streamable_content_get_stream" result
     result' <- (wrapBoxed GLib.IOChannel) result
     touchManagedPtr _obj
-    freeMem mime_type'
+    freeMem mimeType'
     return result'
 
+data StreamableContentGetStreamMethodInfo
+instance (signature ~ (T.Text -> m GLib.IOChannel), MonadIO m, StreamableContentK a) => MethodInfo StreamableContentGetStreamMethodInfo a signature where
+    overloadedMethod _ = streamableContentGetStream
+
 -- method StreamableContent::get_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StreamableContent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -162,17 +190,21 @@
 
 streamableContentGetUri ::
     (MonadIO m, StreamableContentK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- mime_type
-    m T.Text
-streamableContentGetUri _obj mime_type = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- mimeType
+    -> m T.Text                             -- result
+streamableContentGetUri _obj mimeType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    mime_type' <- textToCString mime_type
-    result <- atk_streamable_content_get_uri _obj' mime_type'
+    mimeType' <- textToCString mimeType
+    result <- atk_streamable_content_get_uri _obj' mimeType'
     checkUnexpectedReturnNULL "atk_streamable_content_get_uri" result
     result' <- cstringToText result
     touchManagedPtr _obj
-    freeMem mime_type'
+    freeMem mimeType'
     return result'
+
+data StreamableContentGetUriMethodInfo
+instance (signature ~ (T.Text -> m T.Text), MonadIO m, StreamableContentK a) => MethodInfo StreamableContentGetUriMethodInfo a signature where
+    overloadedMethod _ = streamableContentGetUri
 
 
diff --git a/GI/Atk/Interfaces/StreamableContent.hs-boot b/GI/Atk/Interfaces/StreamableContent.hs-boot
--- a/GI/Atk/Interfaces/StreamableContent.hs-boot
+++ b/GI/Atk/Interfaces/StreamableContent.hs-boot
@@ -10,3 +10,7 @@
 newtype StreamableContent = StreamableContent (ForeignPtr StreamableContent)
 class ForeignPtrNewtype a => StreamableContentK a
 instance (ForeignPtrNewtype o, IsDescendantOf StreamableContent o) => StreamableContentK o
+data StreamableContentGetMimeTypeMethodInfo
+data StreamableContentGetNMimeTypesMethodInfo
+data StreamableContentGetStreamMethodInfo
+data StreamableContentGetUriMethodInfo
diff --git a/GI/Atk/Interfaces/Table.hs b/GI/Atk/Interfaces/Table.hs
--- a/GI/Atk/Interfaces/Table.hs
+++ b/GI/Atk/Interfaces/Table.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,118 +17,147 @@
 
  -- * Methods
 -- ** tableAddColumnSelection
+    TableAddColumnSelectionMethodInfo       ,
     tableAddColumnSelection                 ,
 
 
 -- ** tableAddRowSelection
+    TableAddRowSelectionMethodInfo          ,
     tableAddRowSelection                    ,
 
 
 -- ** tableGetCaption
+    TableGetCaptionMethodInfo               ,
     tableGetCaption                         ,
 
 
 -- ** tableGetColumnAtIndex
+    TableGetColumnAtIndexMethodInfo         ,
     tableGetColumnAtIndex                   ,
 
 
 -- ** tableGetColumnDescription
+    TableGetColumnDescriptionMethodInfo     ,
     tableGetColumnDescription               ,
 
 
 -- ** tableGetColumnExtentAt
+    TableGetColumnExtentAtMethodInfo        ,
     tableGetColumnExtentAt                  ,
 
 
 -- ** tableGetColumnHeader
+    TableGetColumnHeaderMethodInfo          ,
     tableGetColumnHeader                    ,
 
 
 -- ** tableGetIndexAt
+    TableGetIndexAtMethodInfo               ,
     tableGetIndexAt                         ,
 
 
 -- ** tableGetNColumns
+    TableGetNColumnsMethodInfo              ,
     tableGetNColumns                        ,
 
 
 -- ** tableGetNRows
+    TableGetNRowsMethodInfo                 ,
     tableGetNRows                           ,
 
 
 -- ** tableGetRowAtIndex
+    TableGetRowAtIndexMethodInfo            ,
     tableGetRowAtIndex                      ,
 
 
 -- ** tableGetRowDescription
+    TableGetRowDescriptionMethodInfo        ,
     tableGetRowDescription                  ,
 
 
 -- ** tableGetRowExtentAt
+    TableGetRowExtentAtMethodInfo           ,
     tableGetRowExtentAt                     ,
 
 
 -- ** tableGetRowHeader
+    TableGetRowHeaderMethodInfo             ,
     tableGetRowHeader                       ,
 
 
 -- ** tableGetSelectedColumns
+    TableGetSelectedColumnsMethodInfo       ,
     tableGetSelectedColumns                 ,
 
 
 -- ** tableGetSelectedRows
+    TableGetSelectedRowsMethodInfo          ,
     tableGetSelectedRows                    ,
 
 
 -- ** tableGetSummary
+    TableGetSummaryMethodInfo               ,
     tableGetSummary                         ,
 
 
 -- ** tableIsColumnSelected
+    TableIsColumnSelectedMethodInfo         ,
     tableIsColumnSelected                   ,
 
 
 -- ** tableIsRowSelected
+    TableIsRowSelectedMethodInfo            ,
     tableIsRowSelected                      ,
 
 
 -- ** tableIsSelected
+    TableIsSelectedMethodInfo               ,
     tableIsSelected                         ,
 
 
 -- ** tableRefAt
+    TableRefAtMethodInfo                    ,
     tableRefAt                              ,
 
 
 -- ** tableRemoveColumnSelection
+    TableRemoveColumnSelectionMethodInfo    ,
     tableRemoveColumnSelection              ,
 
 
 -- ** tableRemoveRowSelection
+    TableRemoveRowSelectionMethodInfo       ,
     tableRemoveRowSelection                 ,
 
 
 -- ** tableSetCaption
+    TableSetCaptionMethodInfo               ,
     tableSetCaption                         ,
 
 
 -- ** tableSetColumnDescription
+    TableSetColumnDescriptionMethodInfo     ,
     tableSetColumnDescription               ,
 
 
 -- ** tableSetColumnHeader
+    TableSetColumnHeaderMethodInfo          ,
     tableSetColumnHeader                    ,
 
 
 -- ** tableSetRowDescription
+    TableSetRowDescriptionMethodInfo        ,
     tableSetRowDescription                  ,
 
 
 -- ** tableSetRowHeader
+    TableSetRowHeaderMethodInfo             ,
     tableSetRowHeader                       ,
 
 
 -- ** tableSetSummary
+    TableSetSummaryMethodInfo               ,
     tableSetSummary                         ,
 
 
@@ -238,6 +268,46 @@
 noTable :: Maybe Table
 noTable = Nothing
 
+type family ResolveTableMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTableMethod "addColumnSelection" o = TableAddColumnSelectionMethodInfo
+    ResolveTableMethod "addRowSelection" o = TableAddRowSelectionMethodInfo
+    ResolveTableMethod "isColumnSelected" o = TableIsColumnSelectedMethodInfo
+    ResolveTableMethod "isRowSelected" o = TableIsRowSelectedMethodInfo
+    ResolveTableMethod "isSelected" o = TableIsSelectedMethodInfo
+    ResolveTableMethod "refAt" o = TableRefAtMethodInfo
+    ResolveTableMethod "removeColumnSelection" o = TableRemoveColumnSelectionMethodInfo
+    ResolveTableMethod "removeRowSelection" o = TableRemoveRowSelectionMethodInfo
+    ResolveTableMethod "getCaption" o = TableGetCaptionMethodInfo
+    ResolveTableMethod "getColumnAtIndex" o = TableGetColumnAtIndexMethodInfo
+    ResolveTableMethod "getColumnDescription" o = TableGetColumnDescriptionMethodInfo
+    ResolveTableMethod "getColumnExtentAt" o = TableGetColumnExtentAtMethodInfo
+    ResolveTableMethod "getColumnHeader" o = TableGetColumnHeaderMethodInfo
+    ResolveTableMethod "getIndexAt" o = TableGetIndexAtMethodInfo
+    ResolveTableMethod "getNColumns" o = TableGetNColumnsMethodInfo
+    ResolveTableMethod "getNRows" o = TableGetNRowsMethodInfo
+    ResolveTableMethod "getRowAtIndex" o = TableGetRowAtIndexMethodInfo
+    ResolveTableMethod "getRowDescription" o = TableGetRowDescriptionMethodInfo
+    ResolveTableMethod "getRowExtentAt" o = TableGetRowExtentAtMethodInfo
+    ResolveTableMethod "getRowHeader" o = TableGetRowHeaderMethodInfo
+    ResolveTableMethod "getSelectedColumns" o = TableGetSelectedColumnsMethodInfo
+    ResolveTableMethod "getSelectedRows" o = TableGetSelectedRowsMethodInfo
+    ResolveTableMethod "getSummary" o = TableGetSummaryMethodInfo
+    ResolveTableMethod "setCaption" o = TableSetCaptionMethodInfo
+    ResolveTableMethod "setColumnDescription" o = TableSetColumnDescriptionMethodInfo
+    ResolveTableMethod "setColumnHeader" o = TableSetColumnHeaderMethodInfo
+    ResolveTableMethod "setRowDescription" o = TableSetRowDescriptionMethodInfo
+    ResolveTableMethod "setRowHeader" o = TableSetRowHeaderMethodInfo
+    ResolveTableMethod "setSummary" o = TableSetSummaryMethodInfo
+    ResolveTableMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTableMethod t Table, MethodInfo info Table p) => IsLabelProxy t (Table -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTableMethod t Table, MethodInfo info Table p) => IsLabel t (Table -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Table::column-deleted
 type TableColumnDeletedCallback =
     Int32 ->
@@ -567,7 +637,7 @@
     connectSignal _ = connectTableRowReordered
 
 type instance SignalList Table = TableSignalList
-type TableSignalList = ('[ '("column-deleted", TableColumnDeletedSignalInfo), '("column-inserted", TableColumnInsertedSignalInfo), '("column-reordered", TableColumnReorderedSignalInfo), '("model-changed", TableModelChangedSignalInfo), '("row-deleted", TableRowDeletedSignalInfo), '("row-inserted", TableRowInsertedSignalInfo), '("row-reordered", TableRowReorderedSignalInfo)] :: [(Symbol, *)])
+type TableSignalList = ('[ '("columnDeleted", TableColumnDeletedSignalInfo), '("columnInserted", TableColumnInsertedSignalInfo), '("columnReordered", TableColumnReorderedSignalInfo), '("modelChanged", TableModelChangedSignalInfo), '("rowDeleted", TableRowDeletedSignalInfo), '("rowInserted", TableRowInsertedSignalInfo), '("rowReordered", TableRowReorderedSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => TableK a
 instance (ForeignPtrNewtype o, IsDescendantOf Table o) => TableK o
@@ -576,9 +646,8 @@
 
 -- method Table::add_column_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -591,9 +660,9 @@
 
 tableAddColumnSelection ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> m Bool                               -- result
 tableAddColumnSelection _obj column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_add_column_selection _obj' column
@@ -601,11 +670,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableAddColumnSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableAddColumnSelectionMethodInfo a signature where
+    overloadedMethod _ = tableAddColumnSelection
+
 -- method Table::add_row_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -618,9 +690,9 @@
 
 tableAddRowSelection ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> m Bool                               -- result
 tableAddRowSelection _obj row = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_add_row_selection _obj' row
@@ -628,11 +700,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableAddRowSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableAddRowSelectionMethodInfo a signature where
+    overloadedMethod _ = tableAddRowSelection
+
 -- method Table::get_caption
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -644,8 +719,8 @@
 
 tableGetCaption ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    m Object
+    a                                       -- _obj
+    -> m Object                             -- result
 tableGetCaption _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_caption _obj'
@@ -654,11 +729,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableGetCaptionMethodInfo
+instance (signature ~ (m Object), MonadIO m, TableK a) => MethodInfo TableGetCaptionMethodInfo a signature where
+    overloadedMethod _ = tableGetCaption
+
 -- method Table::get_column_at_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -671,20 +749,23 @@
 {-# DEPRECATED tableGetColumnAtIndex ["Since 2.12."]#-}
 tableGetColumnAtIndex ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- index_
-    m Int32
-tableGetColumnAtIndex _obj index_ = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- index
+    -> m Int32                              -- result
+tableGetColumnAtIndex _obj index = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_table_get_column_at_index _obj' index_
+    result <- atk_table_get_column_at_index _obj' index
     touchManagedPtr _obj
     return result
 
+data TableGetColumnAtIndexMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetColumnAtIndexMethodInfo a signature where
+    overloadedMethod _ = tableGetColumnAtIndex
+
 -- method Table::get_column_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -697,9 +778,9 @@
 
 tableGetColumnDescription ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> m T.Text                             -- result
 tableGetColumnDescription _obj column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_column_description _obj' column
@@ -708,11 +789,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableGetColumnDescriptionMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, TableK a) => MethodInfo TableGetColumnDescriptionMethodInfo a signature where
+    overloadedMethod _ = tableGetColumnDescription
+
 -- method Table::get_column_extent_at
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -726,21 +810,24 @@
 
 tableGetColumnExtentAt ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    Int32 ->                                -- column
-    m Int32
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> Int32                                -- column
+    -> m Int32                              -- result
 tableGetColumnExtentAt _obj row column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_column_extent_at _obj' row column
     touchManagedPtr _obj
     return result
 
+data TableGetColumnExtentAtMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetColumnExtentAtMethodInfo a signature where
+    overloadedMethod _ = tableGetColumnExtentAt
+
 -- method Table::get_column_header
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -753,9 +840,9 @@
 
 tableGetColumnHeader ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    m Object
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> m Object                             -- result
 tableGetColumnHeader _obj column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_column_header _obj' column
@@ -764,11 +851,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableGetColumnHeaderMethodInfo
+instance (signature ~ (Int32 -> m Object), MonadIO m, TableK a) => MethodInfo TableGetColumnHeaderMethodInfo a signature where
+    overloadedMethod _ = tableGetColumnHeader
+
 -- method Table::get_index_at
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -782,21 +872,24 @@
 {-# DEPRECATED tableGetIndexAt ["Since 2.12. Use atk_table_ref_at() in order to get the","accessible that represents the cell at (@row, @column)"]#-}
 tableGetIndexAt ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    Int32 ->                                -- column
-    m Int32
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> Int32                                -- column
+    -> m Int32                              -- result
 tableGetIndexAt _obj row column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_index_at _obj' row column
     touchManagedPtr _obj
     return result
 
+data TableGetIndexAtMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetIndexAtMethodInfo a signature where
+    overloadedMethod _ = tableGetIndexAt
+
 -- method Table::get_n_columns
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -808,19 +901,22 @@
 
 tableGetNColumns ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 tableGetNColumns _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_n_columns _obj'
     touchManagedPtr _obj
     return result
 
+data TableGetNColumnsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TableK a) => MethodInfo TableGetNColumnsMethodInfo a signature where
+    overloadedMethod _ = tableGetNColumns
+
 -- method Table::get_n_rows
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -832,19 +928,22 @@
 
 tableGetNRows ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 tableGetNRows _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_n_rows _obj'
     touchManagedPtr _obj
     return result
 
+data TableGetNRowsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TableK a) => MethodInfo TableGetNRowsMethodInfo a signature where
+    overloadedMethod _ = tableGetNRows
+
 -- method Table::get_row_at_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -857,20 +956,23 @@
 {-# DEPRECATED tableGetRowAtIndex ["since 2.12."]#-}
 tableGetRowAtIndex ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- index_
-    m Int32
-tableGetRowAtIndex _obj index_ = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- index
+    -> m Int32                              -- result
+tableGetRowAtIndex _obj index = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_table_get_row_at_index _obj' index_
+    result <- atk_table_get_row_at_index _obj' index
     touchManagedPtr _obj
     return result
 
+data TableGetRowAtIndexMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetRowAtIndexMethodInfo a signature where
+    overloadedMethod _ = tableGetRowAtIndex
+
 -- method Table::get_row_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -883,9 +985,9 @@
 
 tableGetRowDescription ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> m T.Text                             -- result
 tableGetRowDescription _obj row = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_row_description _obj' row
@@ -894,11 +996,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableGetRowDescriptionMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, TableK a) => MethodInfo TableGetRowDescriptionMethodInfo a signature where
+    overloadedMethod _ = tableGetRowDescription
+
 -- method Table::get_row_extent_at
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -912,21 +1017,24 @@
 
 tableGetRowExtentAt ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    Int32 ->                                -- column
-    m Int32
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> Int32                                -- column
+    -> m Int32                              -- result
 tableGetRowExtentAt _obj row column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_row_extent_at _obj' row column
     touchManagedPtr _obj
     return result
 
+data TableGetRowExtentAtMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetRowExtentAtMethodInfo a signature where
+    overloadedMethod _ = tableGetRowExtentAt
+
 -- method Table::get_row_header
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -939,9 +1047,9 @@
 
 tableGetRowHeader ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    m Object
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> m Object                             -- result
 tableGetRowHeader _obj row = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_row_header _obj' row
@@ -950,11 +1058,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableGetRowHeaderMethodInfo
+instance (signature ~ (Int32 -> m Object), MonadIO m, TableK a) => MethodInfo TableGetRowHeaderMethodInfo a signature where
+    overloadedMethod _ = tableGetRowHeader
+
 -- method Table::get_selected_columns
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selected", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selected", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selected", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -967,20 +1078,23 @@
 
 tableGetSelectedColumns ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- selected
-    m Int32
+    a                                       -- _obj
+    -> Int32                                -- selected
+    -> m Int32                              -- result
 tableGetSelectedColumns _obj selected = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_selected_columns _obj' selected
     touchManagedPtr _obj
     return result
 
+data TableGetSelectedColumnsMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetSelectedColumnsMethodInfo a signature where
+    overloadedMethod _ = tableGetSelectedColumns
+
 -- method Table::get_selected_rows
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selected", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selected", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selected", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -993,20 +1107,23 @@
 
 tableGetSelectedRows ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- selected
-    m Int32
+    a                                       -- _obj
+    -> Int32                                -- selected
+    -> m Int32                              -- result
 tableGetSelectedRows _obj selected = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_selected_rows _obj' selected
     touchManagedPtr _obj
     return result
 
+data TableGetSelectedRowsMethodInfo
+instance (signature ~ (Int32 -> m Int32), MonadIO m, TableK a) => MethodInfo TableGetSelectedRowsMethodInfo a signature where
+    overloadedMethod _ = tableGetSelectedRows
+
 -- method Table::get_summary
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -1018,8 +1135,8 @@
 
 tableGetSummary ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    m Object
+    a                                       -- _obj
+    -> m Object                             -- result
 tableGetSummary _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_get_summary _obj'
@@ -1028,11 +1145,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableGetSummaryMethodInfo
+instance (signature ~ (m Object), MonadIO m, TableK a) => MethodInfo TableGetSummaryMethodInfo a signature where
+    overloadedMethod _ = tableGetSummary
+
 -- method Table::is_column_selected
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1045,9 +1165,9 @@
 
 tableIsColumnSelected ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> m Bool                               -- result
 tableIsColumnSelected _obj column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_is_column_selected _obj' column
@@ -1055,11 +1175,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableIsColumnSelectedMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableIsColumnSelectedMethodInfo a signature where
+    overloadedMethod _ = tableIsColumnSelected
+
 -- method Table::is_row_selected
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1072,9 +1195,9 @@
 
 tableIsRowSelected ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> m Bool                               -- result
 tableIsRowSelected _obj row = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_is_row_selected _obj' row
@@ -1082,11 +1205,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableIsRowSelectedMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableIsRowSelectedMethodInfo a signature where
+    overloadedMethod _ = tableIsRowSelected
+
 -- method Table::is_selected
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1100,10 +1226,10 @@
 
 tableIsSelected ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    Int32 ->                                -- column
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> Int32                                -- column
+    -> m Bool                               -- result
 tableIsSelected _obj row column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_is_selected _obj' row column
@@ -1111,11 +1237,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableIsSelectedMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableIsSelectedMethodInfo a signature where
+    overloadedMethod _ = tableIsSelected
+
 -- method Table::ref_at
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -1129,10 +1258,10 @@
 
 tableRefAt ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    Int32 ->                                -- column
-    m Object
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> Int32                                -- column
+    -> m Object                             -- result
 tableRefAt _obj row column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_ref_at _obj' row column
@@ -1141,11 +1270,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableRefAtMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Object), MonadIO m, TableK a) => MethodInfo TableRefAtMethodInfo a signature where
+    overloadedMethod _ = tableRefAt
+
 -- method Table::remove_column_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1158,9 +1290,9 @@
 
 tableRemoveColumnSelection ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> m Bool                               -- result
 tableRemoveColumnSelection _obj column = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_remove_column_selection _obj' column
@@ -1168,11 +1300,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableRemoveColumnSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableRemoveColumnSelectionMethodInfo a signature where
+    overloadedMethod _ = tableRemoveColumnSelection
+
 -- method Table::remove_row_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1185,9 +1320,9 @@
 
 tableRemoveRowSelection ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> m Bool                               -- result
 tableRemoveRowSelection _obj row = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_remove_row_selection _obj' row
@@ -1195,11 +1330,14 @@
     touchManagedPtr _obj
     return result'
 
+data TableRemoveRowSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TableK a) => MethodInfo TableRemoveRowSelectionMethodInfo a signature where
+    overloadedMethod _ = tableRemoveRowSelection
+
 -- method Table::set_caption
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "caption", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caption", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "caption", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1212,9 +1350,9 @@
 
 tableSetCaption ::
     (MonadIO m, TableK a, ObjectK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- caption
-    m ()
+    a                                       -- _obj
+    -> b                                    -- caption
+    -> m ()                                 -- result
 tableSetCaption _obj caption = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let caption' = unsafeManagedPtrCastPtr caption
@@ -1223,11 +1361,14 @@
     touchManagedPtr caption
     return ()
 
+data TableSetCaptionMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, TableK a, ObjectK b) => MethodInfo TableSetCaptionMethodInfo a signature where
+    overloadedMethod _ = tableSetCaption
+
 -- method Table::set_column_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1241,10 +1382,10 @@
 
 tableSetColumnDescription ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    T.Text ->                               -- description
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> T.Text                               -- description
+    -> m ()                                 -- result
 tableSetColumnDescription _obj column description = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     description' <- textToCString description
@@ -1253,11 +1394,14 @@
     freeMem description'
     return ()
 
+data TableSetColumnDescriptionMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, TableK a) => MethodInfo TableSetColumnDescriptionMethodInfo a signature where
+    overloadedMethod _ = tableSetColumnDescription
+
 -- method Table::set_column_header
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "header", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "header", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "header", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1271,10 +1415,10 @@
 
 tableSetColumnHeader ::
     (MonadIO m, TableK a, ObjectK b) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- column
-    b ->                                    -- header
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- column
+    -> b                                    -- header
+    -> m ()                                 -- result
 tableSetColumnHeader _obj column header = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let header' = unsafeManagedPtrCastPtr header
@@ -1283,11 +1427,14 @@
     touchManagedPtr header
     return ()
 
+data TableSetColumnHeaderMethodInfo
+instance (signature ~ (Int32 -> b -> m ()), MonadIO m, TableK a, ObjectK b) => MethodInfo TableSetColumnHeaderMethodInfo a signature where
+    overloadedMethod _ = tableSetColumnHeader
+
 -- method Table::set_row_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1301,10 +1448,10 @@
 
 tableSetRowDescription ::
     (MonadIO m, TableK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    T.Text ->                               -- description
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> T.Text                               -- description
+    -> m ()                                 -- result
 tableSetRowDescription _obj row description = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     description' <- textToCString description
@@ -1313,11 +1460,14 @@
     freeMem description'
     return ()
 
+data TableSetRowDescriptionMethodInfo
+instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m, TableK a) => MethodInfo TableSetRowDescriptionMethodInfo a signature where
+    overloadedMethod _ = tableSetRowDescription
+
 -- method Table::set_row_header
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "header", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "header", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "header", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1331,10 +1481,10 @@
 
 tableSetRowHeader ::
     (MonadIO m, TableK a, ObjectK b) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- row
-    b ->                                    -- header
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- row
+    -> b                                    -- header
+    -> m ()                                 -- result
 tableSetRowHeader _obj row header = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let header' = unsafeManagedPtrCastPtr header
@@ -1343,11 +1493,14 @@
     touchManagedPtr header
     return ()
 
+data TableSetRowHeaderMethodInfo
+instance (signature ~ (Int32 -> b -> m ()), MonadIO m, TableK a, ObjectK b) => MethodInfo TableSetRowHeaderMethodInfo a signature where
+    overloadedMethod _ = tableSetRowHeader
+
 -- method Table::set_summary
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accessible", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accessible", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Table", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accessible", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1360,9 +1513,9 @@
 
 tableSetSummary ::
     (MonadIO m, TableK a, ObjectK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- accessible
-    m ()
+    a                                       -- _obj
+    -> b                                    -- accessible
+    -> m ()                                 -- result
 tableSetSummary _obj accessible = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let accessible' = unsafeManagedPtrCastPtr accessible
@@ -1370,5 +1523,9 @@
     touchManagedPtr _obj
     touchManagedPtr accessible
     return ()
+
+data TableSetSummaryMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, TableK a, ObjectK b) => MethodInfo TableSetSummaryMethodInfo a signature where
+    overloadedMethod _ = tableSetSummary
 
 
diff --git a/GI/Atk/Interfaces/Table.hs-boot b/GI/Atk/Interfaces/Table.hs-boot
--- a/GI/Atk/Interfaces/Table.hs-boot
+++ b/GI/Atk/Interfaces/Table.hs-boot
@@ -17,3 +17,32 @@
 data TableRowReorderedSignalInfo
 class ForeignPtrNewtype a => TableK a
 instance (ForeignPtrNewtype o, IsDescendantOf Table o) => TableK o
+data TableAddColumnSelectionMethodInfo
+data TableAddRowSelectionMethodInfo
+data TableGetCaptionMethodInfo
+data TableGetColumnAtIndexMethodInfo
+data TableGetColumnDescriptionMethodInfo
+data TableGetColumnExtentAtMethodInfo
+data TableGetColumnHeaderMethodInfo
+data TableGetIndexAtMethodInfo
+data TableGetNColumnsMethodInfo
+data TableGetNRowsMethodInfo
+data TableGetRowAtIndexMethodInfo
+data TableGetRowDescriptionMethodInfo
+data TableGetRowExtentAtMethodInfo
+data TableGetRowHeaderMethodInfo
+data TableGetSelectedColumnsMethodInfo
+data TableGetSelectedRowsMethodInfo
+data TableGetSummaryMethodInfo
+data TableIsColumnSelectedMethodInfo
+data TableIsRowSelectedMethodInfo
+data TableIsSelectedMethodInfo
+data TableRefAtMethodInfo
+data TableRemoveColumnSelectionMethodInfo
+data TableRemoveRowSelectionMethodInfo
+data TableSetCaptionMethodInfo
+data TableSetColumnDescriptionMethodInfo
+data TableSetColumnHeaderMethodInfo
+data TableSetRowDescriptionMethodInfo
+data TableSetRowHeaderMethodInfo
+data TableSetSummaryMethodInfo
diff --git a/GI/Atk/Interfaces/TableCell.hs b/GI/Atk/Interfaces/TableCell.hs
--- a/GI/Atk/Interfaces/TableCell.hs
+++ b/GI/Atk/Interfaces/TableCell.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,30 +18,37 @@
 
  -- * Methods
 -- ** tableCellGetColumnHeaderCells
+    TableCellGetColumnHeaderCellsMethodInfo ,
     tableCellGetColumnHeaderCells           ,
 
 
 -- ** tableCellGetColumnSpan
+    TableCellGetColumnSpanMethodInfo        ,
     tableCellGetColumnSpan                  ,
 
 
 -- ** tableCellGetPosition
+    TableCellGetPositionMethodInfo          ,
     tableCellGetPosition                    ,
 
 
 -- ** tableCellGetRowColumnSpan
+    TableCellGetRowColumnSpanMethodInfo     ,
     tableCellGetRowColumnSpan               ,
 
 
 -- ** tableCellGetRowHeaderCells
+    TableCellGetRowHeaderCellsMethodInfo    ,
     tableCellGetRowHeaderCells              ,
 
 
 -- ** tableCellGetRowSpan
+    TableCellGetRowSpanMethodInfo           ,
     tableCellGetRowSpan                     ,
 
 
 -- ** tableCellGetTable
+    TableCellGetTableMethodInfo             ,
     tableCellGetTable                       ,
 
 
@@ -65,11 +73,74 @@
 noTableCell :: Maybe TableCell
 noTableCell = Nothing
 
+type family ResolveTableCellMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTableCellMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolveTableCellMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveTableCellMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveTableCellMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveTableCellMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveTableCellMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolveTableCellMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveTableCellMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveTableCellMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveTableCellMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolveTableCellMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolveTableCellMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveTableCellMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolveTableCellMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolveTableCellMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveTableCellMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolveTableCellMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveTableCellMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolveTableCellMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveTableCellMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveTableCellMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveTableCellMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveTableCellMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveTableCellMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveTableCellMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveTableCellMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveTableCellMethod "getAttributes" o = ObjectGetAttributesMethodInfo
+    ResolveTableCellMethod "getColumnHeaderCells" o = TableCellGetColumnHeaderCellsMethodInfo
+    ResolveTableCellMethod "getColumnSpan" o = TableCellGetColumnSpanMethodInfo
+    ResolveTableCellMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveTableCellMethod "getDescription" o = ObjectGetDescriptionMethodInfo
+    ResolveTableCellMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolveTableCellMethod "getLayer" o = ObjectGetLayerMethodInfo
+    ResolveTableCellMethod "getMdiZorder" o = ObjectGetMdiZorderMethodInfo
+    ResolveTableCellMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolveTableCellMethod "getName" o = ObjectGetNameMethodInfo
+    ResolveTableCellMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolveTableCellMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolveTableCellMethod "getPosition" o = TableCellGetPositionMethodInfo
+    ResolveTableCellMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveTableCellMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveTableCellMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolveTableCellMethod "getRowColumnSpan" o = TableCellGetRowColumnSpanMethodInfo
+    ResolveTableCellMethod "getRowHeaderCells" o = TableCellGetRowHeaderCellsMethodInfo
+    ResolveTableCellMethod "getRowSpan" o = TableCellGetRowSpanMethodInfo
+    ResolveTableCellMethod "getTable" o = TableCellGetTableMethodInfo
+    ResolveTableCellMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveTableCellMethod "setDescription" o = ObjectSetDescriptionMethodInfo
+    ResolveTableCellMethod "setName" o = ObjectSetNameMethodInfo
+    ResolveTableCellMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolveTableCellMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveTableCellMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolveTableCellMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTableCellMethod t TableCell, MethodInfo info TableCell p) => IsLabelProxy t (TableCell -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTableCellMethod t TableCell, MethodInfo info TableCell p) => IsLabel t (TableCell -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList TableCell = TableCellAttributeList
-type TableCellAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type TableCellAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList TableCell = TableCellSignalList
-type TableCellSignalList = ('[ '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type TableCellSignalList = ('[ '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 foreign import ccall "atk_table_cell_get_type"
     c_atk_table_cell_get_type :: IO GType
@@ -90,9 +161,8 @@
 
 -- method TableCell::get_column_header_cells
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TPtrArray (TInterface "Atk" "Object")
 -- throws : False
 -- Skip return : False
@@ -104,8 +174,8 @@
 
 tableCellGetColumnHeaderCells ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m [Object]
+    a                                       -- _obj
+    -> m [Object]                           -- result
 tableCellGetColumnHeaderCells _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_cell_get_column_header_cells _obj'
@@ -116,11 +186,14 @@
     touchManagedPtr _obj
     return result''
 
+data TableCellGetColumnHeaderCellsMethodInfo
+instance (signature ~ (m [Object]), MonadIO m, TableCellK a) => MethodInfo TableCellGetColumnHeaderCellsMethodInfo a signature where
+    overloadedMethod _ = tableCellGetColumnHeaderCells
+
 -- method TableCell::get_column_span
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -132,19 +205,22 @@
 
 tableCellGetColumnSpan ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 tableCellGetColumnSpan _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_cell_get_column_span _obj'
     touchManagedPtr _obj
     return result
 
+data TableCellGetColumnSpanMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TableCellK a) => MethodInfo TableCellGetColumnSpanMethodInfo a signature where
+    overloadedMethod _ = tableCellGetColumnSpan
+
 -- method TableCell::get_position
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -158,8 +234,8 @@
 
 tableCellGetPosition ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m (Bool,Int32,Int32)
+    a                                       -- _obj
+    -> m (Bool,Int32,Int32)                 -- result
 tableCellGetPosition _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     row <- allocMem :: IO (Ptr Int32)
@@ -173,11 +249,14 @@
     freeMem column
     return (result', row', column')
 
+data TableCellGetPositionMethodInfo
+instance (signature ~ (m (Bool,Int32,Int32)), MonadIO m, TableCellK a) => MethodInfo TableCellGetPositionMethodInfo a signature where
+    overloadedMethod _ = tableCellGetPosition
+
 -- method TableCell::get_row_column_span
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "row", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "column", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "row_span", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "column_span", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "row", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "row_span", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "column_span", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -193,32 +272,35 @@
 
 tableCellGetRowColumnSpan ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m (Bool,Int32,Int32,Int32,Int32)
+    a                                       -- _obj
+    -> m (Bool,Int32,Int32,Int32,Int32)     -- result
 tableCellGetRowColumnSpan _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     row <- allocMem :: IO (Ptr Int32)
     column <- allocMem :: IO (Ptr Int32)
-    row_span <- allocMem :: IO (Ptr Int32)
-    column_span <- allocMem :: IO (Ptr Int32)
-    result <- atk_table_cell_get_row_column_span _obj' row column row_span column_span
+    rowSpan <- allocMem :: IO (Ptr Int32)
+    columnSpan <- allocMem :: IO (Ptr Int32)
+    result <- atk_table_cell_get_row_column_span _obj' row column rowSpan columnSpan
     let result' = (/= 0) result
     row' <- peek row
     column' <- peek column
-    row_span' <- peek row_span
-    column_span' <- peek column_span
+    rowSpan' <- peek rowSpan
+    columnSpan' <- peek columnSpan
     touchManagedPtr _obj
     freeMem row
     freeMem column
-    freeMem row_span
-    freeMem column_span
-    return (result', row', column', row_span', column_span')
+    freeMem rowSpan
+    freeMem columnSpan
+    return (result', row', column', rowSpan', columnSpan')
 
+data TableCellGetRowColumnSpanMethodInfo
+instance (signature ~ (m (Bool,Int32,Int32,Int32,Int32)), MonadIO m, TableCellK a) => MethodInfo TableCellGetRowColumnSpanMethodInfo a signature where
+    overloadedMethod _ = tableCellGetRowColumnSpan
+
 -- method TableCell::get_row_header_cells
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TPtrArray (TInterface "Atk" "Object")
 -- throws : False
 -- Skip return : False
@@ -230,8 +312,8 @@
 
 tableCellGetRowHeaderCells ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m [Object]
+    a                                       -- _obj
+    -> m [Object]                           -- result
 tableCellGetRowHeaderCells _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_cell_get_row_header_cells _obj'
@@ -242,11 +324,14 @@
     touchManagedPtr _obj
     return result''
 
+data TableCellGetRowHeaderCellsMethodInfo
+instance (signature ~ (m [Object]), MonadIO m, TableCellK a) => MethodInfo TableCellGetRowHeaderCellsMethodInfo a signature where
+    overloadedMethod _ = tableCellGetRowHeaderCells
+
 -- method TableCell::get_row_span
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -258,19 +343,22 @@
 
 tableCellGetRowSpan ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 tableCellGetRowSpan _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_cell_get_row_span _obj'
     touchManagedPtr _obj
     return result
 
+data TableCellGetRowSpanMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TableCellK a) => MethodInfo TableCellGetRowSpanMethodInfo a signature where
+    overloadedMethod _ = tableCellGetRowSpan
+
 -- method TableCell::get_table
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "TableCell", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -282,8 +370,8 @@
 
 tableCellGetTable ::
     (MonadIO m, TableCellK a) =>
-    a ->                                    -- _obj
-    m Object
+    a                                       -- _obj
+    -> m Object                             -- result
 tableCellGetTable _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_table_cell_get_table _obj'
@@ -291,5 +379,9 @@
     result' <- (wrapObject Object) result
     touchManagedPtr _obj
     return result'
+
+data TableCellGetTableMethodInfo
+instance (signature ~ (m Object), MonadIO m, TableCellK a) => MethodInfo TableCellGetTableMethodInfo a signature where
+    overloadedMethod _ = tableCellGetTable
 
 
diff --git a/GI/Atk/Interfaces/TableCell.hs-boot b/GI/Atk/Interfaces/TableCell.hs-boot
--- a/GI/Atk/Interfaces/TableCell.hs-boot
+++ b/GI/Atk/Interfaces/TableCell.hs-boot
@@ -11,3 +11,10 @@
 instance GObject TableCell where
 class GObject o => TableCellK o
 instance (GObject o, IsDescendantOf TableCell o) => TableCellK o
+data TableCellGetColumnHeaderCellsMethodInfo
+data TableCellGetColumnSpanMethodInfo
+data TableCellGetPositionMethodInfo
+data TableCellGetRowColumnSpanMethodInfo
+data TableCellGetRowHeaderCellsMethodInfo
+data TableCellGetRowSpanMethodInfo
+data TableCellGetTableMethodInfo
diff --git a/GI/Atk/Interfaces/Text.hs b/GI/Atk/Interfaces/Text.hs
--- a/GI/Atk/Interfaces/Text.hs
+++ b/GI/Atk/Interfaces/Text.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,82 +17,106 @@
 
  -- * Methods
 -- ** textAddSelection
+    TextAddSelectionMethodInfo              ,
     textAddSelection                        ,
 
 
+-- ** textFreeRanges
+    textFreeRanges                          ,
+
+
 -- ** textGetBoundedRanges
+    TextGetBoundedRangesMethodInfo          ,
     textGetBoundedRanges                    ,
 
 
 -- ** textGetCaretOffset
+    TextGetCaretOffsetMethodInfo            ,
     textGetCaretOffset                      ,
 
 
 -- ** textGetCharacterAtOffset
+    TextGetCharacterAtOffsetMethodInfo      ,
     textGetCharacterAtOffset                ,
 
 
 -- ** textGetCharacterCount
+    TextGetCharacterCountMethodInfo         ,
     textGetCharacterCount                   ,
 
 
 -- ** textGetCharacterExtents
+    TextGetCharacterExtentsMethodInfo       ,
     textGetCharacterExtents                 ,
 
 
 -- ** textGetDefaultAttributes
+    TextGetDefaultAttributesMethodInfo      ,
     textGetDefaultAttributes                ,
 
 
 -- ** textGetNSelections
+    TextGetNSelectionsMethodInfo            ,
     textGetNSelections                      ,
 
 
 -- ** textGetOffsetAtPoint
+    TextGetOffsetAtPointMethodInfo          ,
     textGetOffsetAtPoint                    ,
 
 
 -- ** textGetRangeExtents
+    TextGetRangeExtentsMethodInfo           ,
     textGetRangeExtents                     ,
 
 
 -- ** textGetRunAttributes
+    TextGetRunAttributesMethodInfo          ,
     textGetRunAttributes                    ,
 
 
 -- ** textGetSelection
+    TextGetSelectionMethodInfo              ,
     textGetSelection                        ,
 
 
 -- ** textGetStringAtOffset
+    TextGetStringAtOffsetMethodInfo         ,
     textGetStringAtOffset                   ,
 
 
 -- ** textGetText
+    TextGetTextMethodInfo                   ,
     textGetText                             ,
 
 
 -- ** textGetTextAfterOffset
+    TextGetTextAfterOffsetMethodInfo        ,
     textGetTextAfterOffset                  ,
 
 
 -- ** textGetTextAtOffset
+    TextGetTextAtOffsetMethodInfo           ,
     textGetTextAtOffset                     ,
 
 
 -- ** textGetTextBeforeOffset
+    TextGetTextBeforeOffsetMethodInfo       ,
     textGetTextBeforeOffset                 ,
 
 
 -- ** textRemoveSelection
+    TextRemoveSelectionMethodInfo           ,
     textRemoveSelection                     ,
 
 
 -- ** textSetCaretOffset
+    TextSetCaretOffsetMethodInfo            ,
     textSetCaretOffset                      ,
 
 
 -- ** textSetSelection
+    TextSetSelectionMethodInfo              ,
     textSetSelection                        ,
 
 
@@ -190,6 +215,37 @@
 noText :: Maybe Text
 noText = Nothing
 
+type family ResolveTextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextMethod "addSelection" o = TextAddSelectionMethodInfo
+    ResolveTextMethod "removeSelection" o = TextRemoveSelectionMethodInfo
+    ResolveTextMethod "getBoundedRanges" o = TextGetBoundedRangesMethodInfo
+    ResolveTextMethod "getCaretOffset" o = TextGetCaretOffsetMethodInfo
+    ResolveTextMethod "getCharacterAtOffset" o = TextGetCharacterAtOffsetMethodInfo
+    ResolveTextMethod "getCharacterCount" o = TextGetCharacterCountMethodInfo
+    ResolveTextMethod "getCharacterExtents" o = TextGetCharacterExtentsMethodInfo
+    ResolveTextMethod "getDefaultAttributes" o = TextGetDefaultAttributesMethodInfo
+    ResolveTextMethod "getNSelections" o = TextGetNSelectionsMethodInfo
+    ResolveTextMethod "getOffsetAtPoint" o = TextGetOffsetAtPointMethodInfo
+    ResolveTextMethod "getRangeExtents" o = TextGetRangeExtentsMethodInfo
+    ResolveTextMethod "getRunAttributes" o = TextGetRunAttributesMethodInfo
+    ResolveTextMethod "getSelection" o = TextGetSelectionMethodInfo
+    ResolveTextMethod "getStringAtOffset" o = TextGetStringAtOffsetMethodInfo
+    ResolveTextMethod "getText" o = TextGetTextMethodInfo
+    ResolveTextMethod "getTextAfterOffset" o = TextGetTextAfterOffsetMethodInfo
+    ResolveTextMethod "getTextAtOffset" o = TextGetTextAtOffsetMethodInfo
+    ResolveTextMethod "getTextBeforeOffset" o = TextGetTextBeforeOffsetMethodInfo
+    ResolveTextMethod "setCaretOffset" o = TextSetCaretOffsetMethodInfo
+    ResolveTextMethod "setSelection" o = TextSetSelectionMethodInfo
+    ResolveTextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTextMethod t Text, MethodInfo info Text p) => IsLabelProxy t (Text -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTextMethod t Text, MethodInfo info Text p) => IsLabel t (Text -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Text::text-attributes-changed
 type TextTextAttributesChangedCallback =
     IO ()
@@ -481,7 +537,7 @@
     connectSignal _ = connectTextTextSelectionChanged
 
 type instance SignalList Text = TextSignalList
-type TextSignalList = ('[ '("text-attributes-changed", TextTextAttributesChangedSignalInfo), '("text-caret-moved", TextTextCaretMovedSignalInfo), '("text-changed", TextTextChangedSignalInfo), '("text-insert", TextTextInsertSignalInfo), '("text-remove", TextTextRemoveSignalInfo), '("text-selection-changed", TextTextSelectionChangedSignalInfo)] :: [(Symbol, *)])
+type TextSignalList = ('[ '("textAttributesChanged", TextTextAttributesChangedSignalInfo), '("textCaretMoved", TextTextCaretMovedSignalInfo), '("textChanged", TextTextChangedSignalInfo), '("textInsert", TextTextInsertSignalInfo), '("textRemove", TextTextRemoveSignalInfo), '("textSelectionChanged", TextTextSelectionChangedSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => TextK a
 instance (ForeignPtrNewtype o, IsDescendantOf Text o) => TextK o
@@ -490,9 +546,8 @@
 
 -- method Text::add_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -506,22 +561,25 @@
 
 textAddSelection ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- start_offset
-    Int32 ->                                -- end_offset
-    m Bool
-textAddSelection _obj start_offset end_offset = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- startOffset
+    -> Int32                                -- endOffset
+    -> m Bool                               -- result
+textAddSelection _obj startOffset endOffset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_text_add_selection _obj' start_offset end_offset
+    result <- atk_text_add_selection _obj' startOffset endOffset
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data TextAddSelectionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Bool), MonadIO m, TextK a) => MethodInfo TextAddSelectionMethodInfo a signature where
+    overloadedMethod _ = textAddSelection
+
 -- method Text::get_bounded_ranges
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Atk" "TextRectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_clip_type", argType = TInterface "Atk" "TextClipType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_clip_type", argType = TInterface "Atk" "TextClipType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface "Atk" "TextRectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_clip_type", argType = TInterface "Atk" "TextClipType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y_clip_type", argType = TInterface "Atk" "TextClipType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Atk" "TextRectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_clip_type", argType = TInterface "Atk" "TextClipType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y_clip_type", argType = TInterface "Atk" "TextClipType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TCArray True (-1) (-1) (TInterface "Atk" "TextRange")
 -- throws : False
 -- Skip return : False
@@ -537,19 +595,19 @@
 
 textGetBoundedRanges ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    TextRectangle ->                        -- rect
-    CoordType ->                            -- coord_type
-    TextClipType ->                         -- x_clip_type
-    TextClipType ->                         -- y_clip_type
-    m [TextRange]
-textGetBoundedRanges _obj rect coord_type x_clip_type y_clip_type = liftIO $ do
+    a                                       -- _obj
+    -> TextRectangle                        -- rect
+    -> CoordType                            -- coordType
+    -> TextClipType                         -- xClipType
+    -> TextClipType                         -- yClipType
+    -> m [TextRange]                        -- result
+textGetBoundedRanges _obj rect coordType xClipType yClipType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let rect' = unsafeManagedPtrGetPtr rect
-    let coord_type' = (fromIntegral . fromEnum) coord_type
-    let x_clip_type' = (fromIntegral . fromEnum) x_clip_type
-    let y_clip_type' = (fromIntegral . fromEnum) y_clip_type
-    result <- atk_text_get_bounded_ranges _obj' rect' coord_type' x_clip_type' y_clip_type'
+    let coordType' = (fromIntegral . fromEnum) coordType
+    let xClipType' = (fromIntegral . fromEnum) xClipType
+    let yClipType' = (fromIntegral . fromEnum) yClipType
+    result <- atk_text_get_bounded_ranges _obj' rect' coordType' xClipType' yClipType'
     checkUnexpectedReturnNULL "atk_text_get_bounded_ranges" result
     result' <- unpackZeroTerminatedPtrArray result
     result'' <- mapM (wrapBoxed TextRange) result'
@@ -558,11 +616,14 @@
     touchManagedPtr rect
     return result''
 
+data TextGetBoundedRangesMethodInfo
+instance (signature ~ (TextRectangle -> CoordType -> TextClipType -> TextClipType -> m [TextRange]), MonadIO m, TextK a) => MethodInfo TextGetBoundedRangesMethodInfo a signature where
+    overloadedMethod _ = textGetBoundedRanges
+
 -- method Text::get_caret_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -574,19 +635,22 @@
 
 textGetCaretOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 textGetCaretOffset _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_text_get_caret_offset _obj'
     touchManagedPtr _obj
     return result
 
+data TextGetCaretOffsetMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TextK a) => MethodInfo TextGetCaretOffsetMethodInfo a signature where
+    overloadedMethod _ = textGetCaretOffset
+
 -- method Text::get_character_at_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUniChar
 -- throws : False
 -- Skip return : False
@@ -599,9 +663,9 @@
 
 textGetCharacterAtOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    m Char
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> m Char                               -- result
 textGetCharacterAtOffset _obj offset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_text_get_character_at_offset _obj' offset
@@ -609,11 +673,14 @@
     touchManagedPtr _obj
     return result'
 
+data TextGetCharacterAtOffsetMethodInfo
+instance (signature ~ (Int32 -> m Char), MonadIO m, TextK a) => MethodInfo TextGetCharacterAtOffsetMethodInfo a signature where
+    overloadedMethod _ = textGetCharacterAtOffset
+
 -- method Text::get_character_count
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -625,19 +692,22 @@
 
 textGetCharacterCount ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 textGetCharacterCount _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_text_get_character_count _obj'
     touchManagedPtr _obj
     return result
 
+data TextGetCharacterCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TextK a) => MethodInfo TextGetCharacterCountMethodInfo a signature where
+    overloadedMethod _ = textGetCharacterCount
+
 -- method Text::get_character_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coords", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coords", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coords", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -655,14 +725,14 @@
 
 textGetCharacterExtents ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    CoordType ->                            -- coords
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> CoordType                            -- coords
+    -> m ()                                 -- result
 textGetCharacterExtents _obj offset x y width height coords = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let coords' = (fromIntegral . fromEnum) coords
@@ -670,11 +740,14 @@
     touchManagedPtr _obj
     return ()
 
+data TextGetCharacterExtentsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> CoordType -> m ()), MonadIO m, TextK a) => MethodInfo TextGetCharacterExtentsMethodInfo a signature where
+    overloadedMethod _ = textGetCharacterExtents
+
 -- method Text::get_default_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TBasicType TVoid)
 -- throws : False
 -- Skip return : False
@@ -686,8 +759,8 @@
 
 textGetDefaultAttributes ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    m [Ptr ()]
+    a                                       -- _obj
+    -> m [Ptr ()]                           -- result
 textGetDefaultAttributes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_text_get_default_attributes _obj'
@@ -697,11 +770,14 @@
     touchManagedPtr _obj
     return result'
 
+data TextGetDefaultAttributesMethodInfo
+instance (signature ~ (m [Ptr ()]), MonadIO m, TextK a) => MethodInfo TextGetDefaultAttributesMethodInfo a signature where
+    overloadedMethod _ = textGetDefaultAttributes
+
 -- method Text::get_n_selections
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -713,19 +789,22 @@
 
 textGetNSelections ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 textGetNSelections _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_text_get_n_selections _obj'
     touchManagedPtr _obj
     return result
 
+data TextGetNSelectionsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, TextK a) => MethodInfo TextGetNSelectionsMethodInfo a signature where
+    overloadedMethod _ = textGetNSelections
+
 -- method Text::get_offset_at_point
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coords", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coords", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coords", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -740,11 +819,11 @@
 
 textGetOffsetAtPoint ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    CoordType ->                            -- coords
-    m Int32
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> CoordType                            -- coords
+    -> m Int32                              -- result
 textGetOffsetAtPoint _obj x y coords = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let coords' = (fromIntegral . fromEnum) coords
@@ -752,11 +831,14 @@
     touchManagedPtr _obj
     return result
 
+data TextGetOffsetAtPointMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> m Int32), MonadIO m, TextK a) => MethodInfo TextGetOffsetAtPointMethodInfo a signature where
+    overloadedMethod _ = textGetOffsetAtPoint
+
 -- method Text::get_range_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Atk" "TextRectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rect", argType = TInterface "Atk" "TextRectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "coord_type", argType = TInterface "Atk" "CoordType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "rect", argType = TInterface "Atk" "TextRectangle", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -772,26 +854,29 @@
 
 textGetRangeExtents ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- start_offset
-    Int32 ->                                -- end_offset
-    CoordType ->                            -- coord_type
-    TextRectangle ->                        -- rect
-    m ()
-textGetRangeExtents _obj start_offset end_offset coord_type rect = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- startOffset
+    -> Int32                                -- endOffset
+    -> CoordType                            -- coordType
+    -> TextRectangle                        -- rect
+    -> m ()                                 -- result
+textGetRangeExtents _obj startOffset endOffset coordType rect = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let coord_type' = (fromIntegral . fromEnum) coord_type
+    let coordType' = (fromIntegral . fromEnum) coordType
     let rect' = unsafeManagedPtrGetPtr rect
-    atk_text_get_range_extents _obj' start_offset end_offset coord_type' rect'
+    atk_text_get_range_extents _obj' startOffset endOffset coordType' rect'
     touchManagedPtr _obj
     touchManagedPtr rect
     return ()
 
+data TextGetRangeExtentsMethodInfo
+instance (signature ~ (Int32 -> Int32 -> CoordType -> TextRectangle -> m ()), MonadIO m, TextK a) => MethodInfo TextGetRangeExtentsMethodInfo a signature where
+    overloadedMethod _ = textGetRangeExtents
+
 -- method Text::get_run_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TBasicType TVoid)
 -- throws : False
 -- Skip return : False
@@ -806,29 +891,32 @@
 
 textGetRunAttributes ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    m ([Ptr ()],Int32,Int32)
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> m ([Ptr ()],Int32,Int32)             -- result
 textGetRunAttributes _obj offset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    start_offset <- allocMem :: IO (Ptr Int32)
-    end_offset <- allocMem :: IO (Ptr Int32)
-    result <- atk_text_get_run_attributes _obj' offset start_offset end_offset
+    startOffset <- allocMem :: IO (Ptr Int32)
+    endOffset <- allocMem :: IO (Ptr Int32)
+    result <- atk_text_get_run_attributes _obj' offset startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_run_attributes" result
     result' <- unpackGSList result
     g_slist_free result
-    start_offset' <- peek start_offset
-    end_offset' <- peek end_offset
+    startOffset' <- peek startOffset
+    endOffset' <- peek endOffset
     touchManagedPtr _obj
-    freeMem start_offset
-    freeMem end_offset
-    return (result', start_offset', end_offset')
+    freeMem startOffset
+    freeMem endOffset
+    return (result', startOffset', endOffset')
 
+data TextGetRunAttributesMethodInfo
+instance (signature ~ (Int32 -> m ([Ptr ()],Int32,Int32)), MonadIO m, TextK a) => MethodInfo TextGetRunAttributesMethodInfo a signature where
+    overloadedMethod _ = textGetRunAttributes
+
 -- method Text::get_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -843,29 +931,32 @@
 
 textGetSelection ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- selection_num
-    m (T.Text,Int32,Int32)
-textGetSelection _obj selection_num = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- selectionNum
+    -> m (T.Text,Int32,Int32)               -- result
+textGetSelection _obj selectionNum = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    start_offset <- allocMem :: IO (Ptr Int32)
-    end_offset <- allocMem :: IO (Ptr Int32)
-    result <- atk_text_get_selection _obj' selection_num start_offset end_offset
+    startOffset <- allocMem :: IO (Ptr Int32)
+    endOffset <- allocMem :: IO (Ptr Int32)
+    result <- atk_text_get_selection _obj' selectionNum startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_selection" result
     result' <- cstringToText result
     freeMem result
-    start_offset' <- peek start_offset
-    end_offset' <- peek end_offset
+    startOffset' <- peek startOffset
+    endOffset' <- peek endOffset
     touchManagedPtr _obj
-    freeMem start_offset
-    freeMem end_offset
-    return (result', start_offset', end_offset')
+    freeMem startOffset
+    freeMem endOffset
+    return (result', startOffset', endOffset')
 
+data TextGetSelectionMethodInfo
+instance (signature ~ (Int32 -> m (T.Text,Int32,Int32)), MonadIO m, TextK a) => MethodInfo TextGetSelectionMethodInfo a signature where
+    overloadedMethod _ = textGetSelection
+
 -- method Text::get_string_at_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "granularity", argType = TInterface "Atk" "TextGranularity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "granularity", argType = TInterface "Atk" "TextGranularity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "granularity", argType = TInterface "Atk" "TextGranularity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -881,31 +972,34 @@
 
 textGetStringAtOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    TextGranularity ->                      -- granularity
-    m (T.Text,Int32,Int32)
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> TextGranularity                      -- granularity
+    -> m (T.Text,Int32,Int32)               -- result
 textGetStringAtOffset _obj offset granularity = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let granularity' = (fromIntegral . fromEnum) granularity
-    start_offset <- allocMem :: IO (Ptr Int32)
-    end_offset <- allocMem :: IO (Ptr Int32)
-    result <- atk_text_get_string_at_offset _obj' offset granularity' start_offset end_offset
+    startOffset <- allocMem :: IO (Ptr Int32)
+    endOffset <- allocMem :: IO (Ptr Int32)
+    result <- atk_text_get_string_at_offset _obj' offset granularity' startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_string_at_offset" result
     result' <- cstringToText result
     freeMem result
-    start_offset' <- peek start_offset
-    end_offset' <- peek end_offset
+    startOffset' <- peek startOffset
+    endOffset' <- peek endOffset
     touchManagedPtr _obj
-    freeMem start_offset
-    freeMem end_offset
-    return (result', start_offset', end_offset')
+    freeMem startOffset
+    freeMem endOffset
+    return (result', startOffset', endOffset')
 
+data TextGetStringAtOffsetMethodInfo
+instance (signature ~ (Int32 -> TextGranularity -> m (T.Text,Int32,Int32)), MonadIO m, TextK a) => MethodInfo TextGetStringAtOffsetMethodInfo a signature where
+    overloadedMethod _ = textGetStringAtOffset
+
 -- method Text::get_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -919,24 +1013,27 @@
 
 textGetText ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- start_offset
-    Int32 ->                                -- end_offset
-    m T.Text
-textGetText _obj start_offset end_offset = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- startOffset
+    -> Int32                                -- endOffset
+    -> m T.Text                             -- result
+textGetText _obj startOffset endOffset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_text_get_text _obj' start_offset end_offset
+    result <- atk_text_get_text _obj' startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_text" result
     result' <- cstringToText result
     freeMem result
     touchManagedPtr _obj
     return result'
 
+data TextGetTextMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m T.Text), MonadIO m, TextK a) => MethodInfo TextGetTextMethodInfo a signature where
+    overloadedMethod _ = textGetText
+
 -- method Text::get_text_after_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -952,31 +1049,34 @@
 {-# DEPRECATED textGetTextAfterOffset ["(Since version 2.9.3)","Please use atk_text_get_string_at_offset() instead."]#-}
 textGetTextAfterOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    TextBoundary ->                         -- boundary_type
-    m (T.Text,Int32,Int32)
-textGetTextAfterOffset _obj offset boundary_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> TextBoundary                         -- boundaryType
+    -> m (T.Text,Int32,Int32)               -- result
+textGetTextAfterOffset _obj offset boundaryType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let boundary_type' = (fromIntegral . fromEnum) boundary_type
-    start_offset <- allocMem :: IO (Ptr Int32)
-    end_offset <- allocMem :: IO (Ptr Int32)
-    result <- atk_text_get_text_after_offset _obj' offset boundary_type' start_offset end_offset
+    let boundaryType' = (fromIntegral . fromEnum) boundaryType
+    startOffset <- allocMem :: IO (Ptr Int32)
+    endOffset <- allocMem :: IO (Ptr Int32)
+    result <- atk_text_get_text_after_offset _obj' offset boundaryType' startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_text_after_offset" result
     result' <- cstringToText result
     freeMem result
-    start_offset' <- peek start_offset
-    end_offset' <- peek end_offset
+    startOffset' <- peek startOffset
+    endOffset' <- peek endOffset
     touchManagedPtr _obj
-    freeMem start_offset
-    freeMem end_offset
-    return (result', start_offset', end_offset')
+    freeMem startOffset
+    freeMem endOffset
+    return (result', startOffset', endOffset')
 
+data TextGetTextAfterOffsetMethodInfo
+instance (signature ~ (Int32 -> TextBoundary -> m (T.Text,Int32,Int32)), MonadIO m, TextK a) => MethodInfo TextGetTextAfterOffsetMethodInfo a signature where
+    overloadedMethod _ = textGetTextAfterOffset
+
 -- method Text::get_text_at_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -992,31 +1092,34 @@
 {-# DEPRECATED textGetTextAtOffset ["This method is deprecated since ATK version","2.9.4. Please use atk_text_get_string_at_offset() instead."]#-}
 textGetTextAtOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    TextBoundary ->                         -- boundary_type
-    m (T.Text,Int32,Int32)
-textGetTextAtOffset _obj offset boundary_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> TextBoundary                         -- boundaryType
+    -> m (T.Text,Int32,Int32)               -- result
+textGetTextAtOffset _obj offset boundaryType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let boundary_type' = (fromIntegral . fromEnum) boundary_type
-    start_offset <- allocMem :: IO (Ptr Int32)
-    end_offset <- allocMem :: IO (Ptr Int32)
-    result <- atk_text_get_text_at_offset _obj' offset boundary_type' start_offset end_offset
+    let boundaryType' = (fromIntegral . fromEnum) boundaryType
+    startOffset <- allocMem :: IO (Ptr Int32)
+    endOffset <- allocMem :: IO (Ptr Int32)
+    result <- atk_text_get_text_at_offset _obj' offset boundaryType' startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_text_at_offset" result
     result' <- cstringToText result
     freeMem result
-    start_offset' <- peek start_offset
-    end_offset' <- peek end_offset
+    startOffset' <- peek startOffset
+    endOffset' <- peek endOffset
     touchManagedPtr _obj
-    freeMem start_offset
-    freeMem end_offset
-    return (result', start_offset', end_offset')
+    freeMem startOffset
+    freeMem endOffset
+    return (result', startOffset', endOffset')
 
+data TextGetTextAtOffsetMethodInfo
+instance (signature ~ (Int32 -> TextBoundary -> m (T.Text,Int32,Int32)), MonadIO m, TextK a) => MethodInfo TextGetTextAtOffsetMethodInfo a signature where
+    overloadedMethod _ = textGetTextAtOffset
+
 -- method Text::get_text_before_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "boundary_type", argType = TInterface "Atk" "TextBoundary", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1032,31 +1135,34 @@
 {-# DEPRECATED textGetTextBeforeOffset ["(Since version 2.9.3)","Please use atk_text_get_string_at_offset() instead."]#-}
 textGetTextBeforeOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    TextBoundary ->                         -- boundary_type
-    m (T.Text,Int32,Int32)
-textGetTextBeforeOffset _obj offset boundary_type = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> TextBoundary                         -- boundaryType
+    -> m (T.Text,Int32,Int32)               -- result
+textGetTextBeforeOffset _obj offset boundaryType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let boundary_type' = (fromIntegral . fromEnum) boundary_type
-    start_offset <- allocMem :: IO (Ptr Int32)
-    end_offset <- allocMem :: IO (Ptr Int32)
-    result <- atk_text_get_text_before_offset _obj' offset boundary_type' start_offset end_offset
+    let boundaryType' = (fromIntegral . fromEnum) boundaryType
+    startOffset <- allocMem :: IO (Ptr Int32)
+    endOffset <- allocMem :: IO (Ptr Int32)
+    result <- atk_text_get_text_before_offset _obj' offset boundaryType' startOffset endOffset
     checkUnexpectedReturnNULL "atk_text_get_text_before_offset" result
     result' <- cstringToText result
     freeMem result
-    start_offset' <- peek start_offset
-    end_offset' <- peek end_offset
+    startOffset' <- peek startOffset
+    endOffset' <- peek endOffset
     touchManagedPtr _obj
-    freeMem start_offset
-    freeMem end_offset
-    return (result', start_offset', end_offset')
+    freeMem startOffset
+    freeMem endOffset
+    return (result', startOffset', endOffset')
 
+data TextGetTextBeforeOffsetMethodInfo
+instance (signature ~ (Int32 -> TextBoundary -> m (T.Text,Int32,Int32)), MonadIO m, TextK a) => MethodInfo TextGetTextBeforeOffsetMethodInfo a signature where
+    overloadedMethod _ = textGetTextBeforeOffset
+
 -- method Text::remove_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1069,21 +1175,24 @@
 
 textRemoveSelection ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- selection_num
-    m Bool
-textRemoveSelection _obj selection_num = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- selectionNum
+    -> m Bool                               -- result
+textRemoveSelection _obj selectionNum = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_text_remove_selection _obj' selection_num
+    result <- atk_text_remove_selection _obj' selectionNum
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
 
+data TextRemoveSelectionMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TextK a) => MethodInfo TextRemoveSelectionMethodInfo a signature where
+    overloadedMethod _ = textRemoveSelection
+
 -- method Text::set_caret_offset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1096,9 +1205,9 @@
 
 textSetCaretOffset ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- offset
-    m Bool
+    a                                       -- _obj
+    -> Int32                                -- offset
+    -> m Bool                               -- result
 textSetCaretOffset _obj offset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_text_set_caret_offset _obj' offset
@@ -1106,11 +1215,14 @@
     touchManagedPtr _obj
     return result'
 
+data TextSetCaretOffsetMethodInfo
+instance (signature ~ (Int32 -> m Bool), MonadIO m, TextK a) => MethodInfo TextSetCaretOffsetMethodInfo a signature where
+    overloadedMethod _ = textSetCaretOffset
+
 -- method Text::set_selection
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Text", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "selection_num", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1125,16 +1237,41 @@
 
 textSetSelection ::
     (MonadIO m, TextK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- selection_num
-    Int32 ->                                -- start_offset
-    Int32 ->                                -- end_offset
-    m Bool
-textSetSelection _obj selection_num start_offset end_offset = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- selectionNum
+    -> Int32                                -- startOffset
+    -> Int32                                -- endOffset
+    -> m Bool                               -- result
+textSetSelection _obj selectionNum startOffset endOffset = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    result <- atk_text_set_selection _obj' selection_num start_offset end_offset
+    result <- atk_text_set_selection _obj' selectionNum startOffset endOffset
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data TextSetSelectionMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> m Bool), MonadIO m, TextK a) => MethodInfo TextSetSelectionMethodInfo a signature where
+    overloadedMethod _ = textSetSelection
+
+-- method Text::free_ranges
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "ranges", argType = TCArray False (-1) (-1) (TInterface "Atk" "TextRange"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "atk_text_free_ranges" atk_text_free_ranges :: 
+    Ptr (Ptr TextRange) ->                  -- ranges : TCArray False (-1) (-1) (TInterface "Atk" "TextRange")
+    IO ()
+
+
+textFreeRanges ::
+    (MonadIO m) =>
+    Ptr (Ptr TextRange)                     -- ranges
+    -> m ()                                 -- result
+textFreeRanges ranges = liftIO $ do
+    atk_text_free_ranges ranges
+    return ()
 
 
diff --git a/GI/Atk/Interfaces/Text.hs-boot b/GI/Atk/Interfaces/Text.hs-boot
--- a/GI/Atk/Interfaces/Text.hs-boot
+++ b/GI/Atk/Interfaces/Text.hs-boot
@@ -16,3 +16,23 @@
 data TextTextSelectionChangedSignalInfo
 class ForeignPtrNewtype a => TextK a
 instance (ForeignPtrNewtype o, IsDescendantOf Text o) => TextK o
+data TextAddSelectionMethodInfo
+data TextGetBoundedRangesMethodInfo
+data TextGetCaretOffsetMethodInfo
+data TextGetCharacterAtOffsetMethodInfo
+data TextGetCharacterCountMethodInfo
+data TextGetCharacterExtentsMethodInfo
+data TextGetDefaultAttributesMethodInfo
+data TextGetNSelectionsMethodInfo
+data TextGetOffsetAtPointMethodInfo
+data TextGetRangeExtentsMethodInfo
+data TextGetRunAttributesMethodInfo
+data TextGetSelectionMethodInfo
+data TextGetStringAtOffsetMethodInfo
+data TextGetTextMethodInfo
+data TextGetTextAfterOffsetMethodInfo
+data TextGetTextAtOffsetMethodInfo
+data TextGetTextBeforeOffsetMethodInfo
+data TextRemoveSelectionMethodInfo
+data TextSetCaretOffsetMethodInfo
+data TextSetSelectionMethodInfo
diff --git a/GI/Atk/Interfaces/Value.hs b/GI/Atk/Interfaces/Value.hs
--- a/GI/Atk/Interfaces/Value.hs
+++ b/GI/Atk/Interfaces/Value.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,42 +17,52 @@
 
  -- * Methods
 -- ** valueGetCurrentValue
+    ValueGetCurrentValueMethodInfo          ,
     valueGetCurrentValue                    ,
 
 
 -- ** valueGetIncrement
+    ValueGetIncrementMethodInfo             ,
     valueGetIncrement                       ,
 
 
 -- ** valueGetMaximumValue
+    ValueGetMaximumValueMethodInfo          ,
     valueGetMaximumValue                    ,
 
 
 -- ** valueGetMinimumIncrement
+    ValueGetMinimumIncrementMethodInfo      ,
     valueGetMinimumIncrement                ,
 
 
 -- ** valueGetMinimumValue
+    ValueGetMinimumValueMethodInfo          ,
     valueGetMinimumValue                    ,
 
 
 -- ** valueGetRange
+    ValueGetRangeMethodInfo                 ,
     valueGetRange                           ,
 
 
 -- ** valueGetSubRanges
+    ValueGetSubRangesMethodInfo             ,
     valueGetSubRanges                       ,
 
 
 -- ** valueGetValueAndText
+    ValueGetValueAndTextMethodInfo          ,
     valueGetValueAndText                    ,
 
 
 -- ** valueSetCurrentValue
+    ValueSetCurrentValueMethodInfo          ,
     valueSetCurrentValue                    ,
 
 
 -- ** valueSetValue
+    ValueSetValueMethodInfo                 ,
     valueSetValue                           ,
 
 
@@ -90,6 +101,27 @@
 noValue :: Maybe Value
 noValue = Nothing
 
+type family ResolveValueMethod (t :: Symbol) (o :: *) :: * where
+    ResolveValueMethod "getCurrentValue" o = ValueGetCurrentValueMethodInfo
+    ResolveValueMethod "getIncrement" o = ValueGetIncrementMethodInfo
+    ResolveValueMethod "getMaximumValue" o = ValueGetMaximumValueMethodInfo
+    ResolveValueMethod "getMinimumIncrement" o = ValueGetMinimumIncrementMethodInfo
+    ResolveValueMethod "getMinimumValue" o = ValueGetMinimumValueMethodInfo
+    ResolveValueMethod "getRange" o = ValueGetRangeMethodInfo
+    ResolveValueMethod "getSubRanges" o = ValueGetSubRangesMethodInfo
+    ResolveValueMethod "getValueAndText" o = ValueGetValueAndTextMethodInfo
+    ResolveValueMethod "setCurrentValue" o = ValueSetCurrentValueMethodInfo
+    ResolveValueMethod "setValue" o = ValueSetValueMethodInfo
+    ResolveValueMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveValueMethod t Value, MethodInfo info Value p) => IsLabelProxy t (Value -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveValueMethod t Value, MethodInfo info Value p) => IsLabel t (Value -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Value::value-changed
 type ValueValueChangedCallback =
     Double ->
@@ -145,7 +177,7 @@
     connectSignal _ = connectValueValueChanged
 
 type instance SignalList Value = ValueSignalList
-type ValueSignalList = ('[ '("value-changed", ValueValueChangedSignalInfo)] :: [(Symbol, *)])
+type ValueSignalList = ('[ '("valueChanged", ValueValueChangedSignalInfo)] :: [(Symbol, *)])
 
 class ForeignPtrNewtype a => ValueK a
 instance (ForeignPtrNewtype o, IsDescendantOf Value o) => ValueK o
@@ -154,9 +186,8 @@
 
 -- method Value::get_current_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -169,9 +200,9 @@
 {-# DEPRECATED valueGetCurrentValue ["Since 2.12. Use atk_value_get_value_and_text()","instead."]#-}
 valueGetCurrentValue ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    GValue ->                               -- value
-    m ()
+    a                                       -- _obj
+    -> GValue                               -- value
+    -> m ()                                 -- result
 valueGetCurrentValue _obj value = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let value' = unsafeManagedPtrGetPtr value
@@ -180,11 +211,14 @@
     touchManagedPtr value
     return ()
 
+data ValueGetCurrentValueMethodInfo
+instance (signature ~ (GValue -> m ()), MonadIO m, ValueK a) => MethodInfo ValueGetCurrentValueMethodInfo a signature where
+    overloadedMethod _ = valueGetCurrentValue
+
 -- method Value::get_increment
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TDouble
 -- throws : False
 -- Skip return : False
@@ -196,8 +230,8 @@
 
 valueGetIncrement ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    m Double
+    a                                       -- _obj
+    -> m Double                             -- result
 valueGetIncrement _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_value_get_increment _obj'
@@ -205,11 +239,14 @@
     touchManagedPtr _obj
     return result'
 
+data ValueGetIncrementMethodInfo
+instance (signature ~ (m Double), MonadIO m, ValueK a) => MethodInfo ValueGetIncrementMethodInfo a signature where
+    overloadedMethod _ = valueGetIncrement
+
 -- method Value::get_maximum_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -222,9 +259,9 @@
 {-# DEPRECATED valueGetMaximumValue ["Since 2.12. Use atk_value_get_range() instead."]#-}
 valueGetMaximumValue ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    GValue ->                               -- value
-    m ()
+    a                                       -- _obj
+    -> GValue                               -- value
+    -> m ()                                 -- result
 valueGetMaximumValue _obj value = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let value' = unsafeManagedPtrGetPtr value
@@ -233,11 +270,14 @@
     touchManagedPtr value
     return ()
 
+data ValueGetMaximumValueMethodInfo
+instance (signature ~ (GValue -> m ()), MonadIO m, ValueK a) => MethodInfo ValueGetMaximumValueMethodInfo a signature where
+    overloadedMethod _ = valueGetMaximumValue
+
 -- method Value::get_minimum_increment
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -250,9 +290,9 @@
 {-# DEPRECATED valueGetMinimumIncrement ["Since 2.12. Use atk_value_get_increment() instead."]#-}
 valueGetMinimumIncrement ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    GValue ->                               -- value
-    m ()
+    a                                       -- _obj
+    -> GValue                               -- value
+    -> m ()                                 -- result
 valueGetMinimumIncrement _obj value = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let value' = unsafeManagedPtrGetPtr value
@@ -261,11 +301,14 @@
     touchManagedPtr value
     return ()
 
+data ValueGetMinimumIncrementMethodInfo
+instance (signature ~ (GValue -> m ()), MonadIO m, ValueK a) => MethodInfo ValueGetMinimumIncrementMethodInfo a signature where
+    overloadedMethod _ = valueGetMinimumIncrement
+
 -- method Value::get_minimum_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -278,9 +321,9 @@
 {-# DEPRECATED valueGetMinimumValue ["Since 2.12. Use atk_value_get_range() instead."]#-}
 valueGetMinimumValue ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    GValue ->                               -- value
-    m ()
+    a                                       -- _obj
+    -> GValue                               -- value
+    -> m ()                                 -- result
 valueGetMinimumValue _obj value = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let value' = unsafeManagedPtrGetPtr value
@@ -289,11 +332,14 @@
     touchManagedPtr value
     return ()
 
+data ValueGetMinimumValueMethodInfo
+instance (signature ~ (GValue -> m ()), MonadIO m, ValueK a) => MethodInfo ValueGetMinimumValueMethodInfo a signature where
+    overloadedMethod _ = valueGetMinimumValue
+
 -- method Value::get_range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Range"
 -- throws : False
 -- Skip return : False
@@ -305,8 +351,8 @@
 
 valueGetRange ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    m Range
+    a                                       -- _obj
+    -> m Range                              -- result
 valueGetRange _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_value_get_range _obj'
@@ -315,11 +361,14 @@
     touchManagedPtr _obj
     return result'
 
+data ValueGetRangeMethodInfo
+instance (signature ~ (m Range), MonadIO m, ValueK a) => MethodInfo ValueGetRangeMethodInfo a signature where
+    overloadedMethod _ = valueGetRange
+
 -- method Value::get_sub_ranges
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Atk" "Range")
 -- throws : False
 -- Skip return : False
@@ -331,8 +380,8 @@
 
 valueGetSubRanges ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    m [Range]
+    a                                       -- _obj
+    -> m [Range]                            -- result
 valueGetSubRanges _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_value_get_sub_ranges _obj'
@@ -343,11 +392,14 @@
     touchManagedPtr _obj
     return result''
 
+data ValueGetSubRangesMethodInfo
+instance (signature ~ (m [Range]), MonadIO m, ValueK a) => MethodInfo ValueGetSubRangesMethodInfo a signature where
+    overloadedMethod _ = valueGetSubRanges
+
 -- method Value::get_value_and_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -361,8 +413,8 @@
 
 valueGetValueAndText ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    m (Double,T.Text)
+    a                                       -- _obj
+    -> m (Double,T.Text)                    -- result
 valueGetValueAndText _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     value <- allocMem :: IO (Ptr CDouble)
@@ -378,11 +430,14 @@
     freeMem text
     return (value'', text'')
 
+data ValueGetValueAndTextMethodInfo
+instance (signature ~ (m (Double,T.Text)), MonadIO m, ValueK a) => MethodInfo ValueGetValueAndTextMethodInfo a signature where
+    overloadedMethod _ = valueGetValueAndText
+
 -- method Value::set_current_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -395,9 +450,9 @@
 {-# DEPRECATED valueSetCurrentValue ["Since 2.12. Use atk_value_set_value() instead."]#-}
 valueSetCurrentValue ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    GValue ->                               -- value
-    m Bool
+    a                                       -- _obj
+    -> GValue                               -- value
+    -> m Bool                               -- result
 valueSetCurrentValue _obj value = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let value' = unsafeManagedPtrGetPtr value
@@ -407,11 +462,14 @@
     touchManagedPtr value
     return result'
 
+data ValueSetCurrentValueMethodInfo
+instance (signature ~ (GValue -> m Bool), MonadIO m, ValueK a) => MethodInfo ValueSetCurrentValueMethodInfo a signature where
+    overloadedMethod _ = valueSetCurrentValue
+
 -- method Value::set_value
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -424,14 +482,18 @@
 
 valueSetValue ::
     (MonadIO m, ValueK a) =>
-    a ->                                    -- _obj
-    Double ->                               -- new_value
-    m ()
-valueSetValue _obj new_value = liftIO $ do
+    a                                       -- _obj
+    -> Double                               -- newValue
+    -> m ()                                 -- result
+valueSetValue _obj newValue = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let new_value' = realToFrac new_value
-    atk_value_set_value _obj' new_value'
+    let newValue' = realToFrac newValue
+    atk_value_set_value _obj' newValue'
     touchManagedPtr _obj
     return ()
+
+data ValueSetValueMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m, ValueK a) => MethodInfo ValueSetValueMethodInfo a signature where
+    overloadedMethod _ = valueSetValue
 
 
diff --git a/GI/Atk/Interfaces/Value.hs-boot b/GI/Atk/Interfaces/Value.hs-boot
--- a/GI/Atk/Interfaces/Value.hs-boot
+++ b/GI/Atk/Interfaces/Value.hs-boot
@@ -11,3 +11,13 @@
 data ValueValueChangedSignalInfo
 class ForeignPtrNewtype a => ValueK a
 instance (ForeignPtrNewtype o, IsDescendantOf Value o) => ValueK o
+data ValueGetCurrentValueMethodInfo
+data ValueGetIncrementMethodInfo
+data ValueGetMaximumValueMethodInfo
+data ValueGetMinimumIncrementMethodInfo
+data ValueGetMinimumValueMethodInfo
+data ValueGetRangeMethodInfo
+data ValueGetSubRangesMethodInfo
+data ValueGetValueAndTextMethodInfo
+data ValueSetCurrentValueMethodInfo
+data ValueSetValueMethodInfo
diff --git a/GI/Atk/Interfaces/Window.hs b/GI/Atk/Interfaces/Window.hs
--- a/GI/Atk/Interfaces/Window.hs
+++ b/GI/Atk/Interfaces/Window.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -145,6 +146,62 @@
 noWindow :: Maybe Window
 noWindow = Nothing
 
+type family ResolveWindowMethod (t :: Symbol) (o :: *) :: * where
+    ResolveWindowMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolveWindowMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveWindowMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveWindowMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveWindowMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveWindowMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolveWindowMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveWindowMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveWindowMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveWindowMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolveWindowMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolveWindowMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveWindowMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolveWindowMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolveWindowMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveWindowMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolveWindowMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveWindowMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolveWindowMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveWindowMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveWindowMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveWindowMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveWindowMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveWindowMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveWindowMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveWindowMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveWindowMethod "getAttributes" o = ObjectGetAttributesMethodInfo
+    ResolveWindowMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveWindowMethod "getDescription" o = ObjectGetDescriptionMethodInfo
+    ResolveWindowMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolveWindowMethod "getLayer" o = ObjectGetLayerMethodInfo
+    ResolveWindowMethod "getMdiZorder" o = ObjectGetMdiZorderMethodInfo
+    ResolveWindowMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolveWindowMethod "getName" o = ObjectGetNameMethodInfo
+    ResolveWindowMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolveWindowMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolveWindowMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveWindowMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveWindowMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolveWindowMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveWindowMethod "setDescription" o = ObjectSetDescriptionMethodInfo
+    ResolveWindowMethod "setName" o = ObjectSetNameMethodInfo
+    ResolveWindowMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolveWindowMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveWindowMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolveWindowMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveWindowMethod t Window, MethodInfo info Window p) => IsLabelProxy t (Window -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveWindowMethod t Window, MethodInfo info Window p) => IsLabel t (Window -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Window::activate
 type WindowActivateCallback =
     IO ()
@@ -488,7 +545,7 @@
     connectSignalFunPtr obj "restore" cb' after
 
 type instance AttributeList Window = WindowAttributeList
-type WindowAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type WindowAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 data WindowActivateSignalInfo
 instance SignalInfo WindowActivateSignalInfo where
@@ -536,7 +593,7 @@
     connectSignal _ = connectWindowRestore
 
 type instance SignalList Window = WindowSignalList
-type WindowSignalList = ('[ '("activate", WindowActivateSignalInfo), '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("create", WindowCreateSignalInfo), '("deactivate", WindowDeactivateSignalInfo), '("destroy", WindowDestroySignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("maximize", WindowMaximizeSignalInfo), '("minimize", WindowMinimizeSignalInfo), '("move", WindowMoveSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("resize", WindowResizeSignalInfo), '("restore", WindowRestoreSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type WindowSignalList = ('[ '("activate", WindowActivateSignalInfo), '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("create", WindowCreateSignalInfo), '("deactivate", WindowDeactivateSignalInfo), '("destroy", WindowDestroySignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("maximize", WindowMaximizeSignalInfo), '("minimize", WindowMinimizeSignalInfo), '("move", WindowMoveSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("resize", WindowResizeSignalInfo), '("restore", WindowRestoreSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 foreign import ccall "atk_window_get_type"
     c_atk_window_get_type :: IO GType
diff --git a/GI/Atk/Objects.hs b/GI/Atk/Objects.hs
--- a/GI/Atk/Objects.hs
+++ b/GI/Atk/Objects.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Atk/Objects/GObjectAccessible.hs b/GI/Atk/Objects/GObjectAccessible.hs
--- a/GI/Atk/Objects/GObjectAccessible.hs
+++ b/GI/Atk/Objects/GObjectAccessible.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -21,6 +22,7 @@
 
 
 -- ** gObjectAccessibleGetObject
+    GObjectAccessibleGetObjectMethodInfo    ,
     gObjectAccessibleGetObject              ,
 
 
@@ -60,17 +62,73 @@
 noGObjectAccessible :: Maybe GObjectAccessible
 noGObjectAccessible = Nothing
 
+type family ResolveGObjectAccessibleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGObjectAccessibleMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolveGObjectAccessibleMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveGObjectAccessibleMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveGObjectAccessibleMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveGObjectAccessibleMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveGObjectAccessibleMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolveGObjectAccessibleMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveGObjectAccessibleMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveGObjectAccessibleMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveGObjectAccessibleMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolveGObjectAccessibleMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolveGObjectAccessibleMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveGObjectAccessibleMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolveGObjectAccessibleMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolveGObjectAccessibleMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveGObjectAccessibleMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolveGObjectAccessibleMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveGObjectAccessibleMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolveGObjectAccessibleMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveGObjectAccessibleMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveGObjectAccessibleMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveGObjectAccessibleMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveGObjectAccessibleMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveGObjectAccessibleMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveGObjectAccessibleMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveGObjectAccessibleMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveGObjectAccessibleMethod "getAttributes" o = ObjectGetAttributesMethodInfo
+    ResolveGObjectAccessibleMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveGObjectAccessibleMethod "getDescription" o = ObjectGetDescriptionMethodInfo
+    ResolveGObjectAccessibleMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolveGObjectAccessibleMethod "getLayer" o = ObjectGetLayerMethodInfo
+    ResolveGObjectAccessibleMethod "getMdiZorder" o = ObjectGetMdiZorderMethodInfo
+    ResolveGObjectAccessibleMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolveGObjectAccessibleMethod "getName" o = ObjectGetNameMethodInfo
+    ResolveGObjectAccessibleMethod "getObject" o = GObjectAccessibleGetObjectMethodInfo
+    ResolveGObjectAccessibleMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolveGObjectAccessibleMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolveGObjectAccessibleMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveGObjectAccessibleMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveGObjectAccessibleMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolveGObjectAccessibleMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveGObjectAccessibleMethod "setDescription" o = ObjectSetDescriptionMethodInfo
+    ResolveGObjectAccessibleMethod "setName" o = ObjectSetNameMethodInfo
+    ResolveGObjectAccessibleMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolveGObjectAccessibleMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveGObjectAccessibleMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolveGObjectAccessibleMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGObjectAccessibleMethod t GObjectAccessible, MethodInfo info GObjectAccessible p) => IsLabelProxy t (GObjectAccessible -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGObjectAccessibleMethod t GObjectAccessible, MethodInfo info GObjectAccessible p) => IsLabel t (GObjectAccessible -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList GObjectAccessible = GObjectAccessibleAttributeList
-type GObjectAccessibleAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type GObjectAccessibleAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList GObjectAccessible = GObjectAccessibleSignalList
-type GObjectAccessibleSignalList = ('[ '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type GObjectAccessibleSignalList = ('[ '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 -- method GObjectAccessible::get_object
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "GObjectAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "GObjectAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "GObjectAccessible", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GObject" "Object"
 -- throws : False
 -- Skip return : False
@@ -82,8 +140,8 @@
 
 gObjectAccessibleGetObject ::
     (MonadIO m, GObjectAccessibleK a) =>
-    a ->                                    -- _obj
-    m GObject.Object
+    a                                       -- _obj
+    -> m GObject.Object                     -- result
 gObjectAccessibleGetObject _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_gobject_accessible_get_object _obj'
@@ -92,11 +150,14 @@
     touchManagedPtr _obj
     return result'
 
+data GObjectAccessibleGetObjectMethodInfo
+instance (signature ~ (m GObject.Object), MonadIO m, GObjectAccessibleK a) => MethodInfo GObjectAccessibleGetObjectMethodInfo a signature where
+    overloadedMethod _ = gObjectAccessibleGetObject
+
 -- method GObjectAccessible::for_object
 -- method type : MemberFunction
--- Args : [Arg {argName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -108,8 +169,8 @@
 
 gObjectAccessibleForObject ::
     (MonadIO m, GObject.ObjectK a) =>
-    a ->                                    -- obj
-    m Object
+    a                                       -- obj
+    -> m Object                             -- result
 gObjectAccessibleForObject obj = liftIO $ do
     let obj' = unsafeManagedPtrCastPtr obj
     result <- atk_gobject_accessible_for_object obj'
diff --git a/GI/Atk/Objects/GObjectAccessible.hs-boot b/GI/Atk/Objects/GObjectAccessible.hs-boot
--- a/GI/Atk/Objects/GObjectAccessible.hs-boot
+++ b/GI/Atk/Objects/GObjectAccessible.hs-boot
@@ -11,3 +11,4 @@
 instance GObject GObjectAccessible where
 class GObject o => GObjectAccessibleK o
 instance (GObject o, IsDescendantOf GObjectAccessible o) => GObjectAccessibleK o
+data GObjectAccessibleGetObjectMethodInfo
diff --git a/GI/Atk/Objects/Hyperlink.hs b/GI/Atk/Objects/Hyperlink.hs
--- a/GI/Atk/Objects/Hyperlink.hs
+++ b/GI/Atk/Objects/Hyperlink.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,34 +18,42 @@
 
  -- * Methods
 -- ** hyperlinkGetEndIndex
+    HyperlinkGetEndIndexMethodInfo          ,
     hyperlinkGetEndIndex                    ,
 
 
 -- ** hyperlinkGetNAnchors
+    HyperlinkGetNAnchorsMethodInfo          ,
     hyperlinkGetNAnchors                    ,
 
 
 -- ** hyperlinkGetObject
+    HyperlinkGetObjectMethodInfo            ,
     hyperlinkGetObject                      ,
 
 
 -- ** hyperlinkGetStartIndex
+    HyperlinkGetStartIndexMethodInfo        ,
     hyperlinkGetStartIndex                  ,
 
 
 -- ** hyperlinkGetUri
+    HyperlinkGetUriMethodInfo               ,
     hyperlinkGetUri                         ,
 
 
 -- ** hyperlinkIsInline
+    HyperlinkIsInlineMethodInfo             ,
     hyperlinkIsInline                       ,
 
 
 -- ** hyperlinkIsSelectedLink
+    HyperlinkIsSelectedLinkMethodInfo       ,
     hyperlinkIsSelectedLink                 ,
 
 
 -- ** hyperlinkIsValid
+    HyperlinkIsValidMethodInfo              ,
     hyperlinkIsValid                        ,
 
 
@@ -122,6 +131,54 @@
 noHyperlink :: Maybe Hyperlink
 noHyperlink = Nothing
 
+type family ResolveHyperlinkMethod (t :: Symbol) (o :: *) :: * where
+    ResolveHyperlinkMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveHyperlinkMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveHyperlinkMethod "doAction" o = ActionDoActionMethodInfo
+    ResolveHyperlinkMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveHyperlinkMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveHyperlinkMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveHyperlinkMethod "isInline" o = HyperlinkIsInlineMethodInfo
+    ResolveHyperlinkMethod "isSelectedLink" o = HyperlinkIsSelectedLinkMethodInfo
+    ResolveHyperlinkMethod "isValid" o = HyperlinkIsValidMethodInfo
+    ResolveHyperlinkMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveHyperlinkMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveHyperlinkMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveHyperlinkMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveHyperlinkMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveHyperlinkMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveHyperlinkMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveHyperlinkMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveHyperlinkMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveHyperlinkMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveHyperlinkMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveHyperlinkMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveHyperlinkMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveHyperlinkMethod "getDescription" o = ActionGetDescriptionMethodInfo
+    ResolveHyperlinkMethod "getEndIndex" o = HyperlinkGetEndIndexMethodInfo
+    ResolveHyperlinkMethod "getKeybinding" o = ActionGetKeybindingMethodInfo
+    ResolveHyperlinkMethod "getLocalizedName" o = ActionGetLocalizedNameMethodInfo
+    ResolveHyperlinkMethod "getNActions" o = ActionGetNActionsMethodInfo
+    ResolveHyperlinkMethod "getNAnchors" o = HyperlinkGetNAnchorsMethodInfo
+    ResolveHyperlinkMethod "getName" o = ActionGetNameMethodInfo
+    ResolveHyperlinkMethod "getObject" o = HyperlinkGetObjectMethodInfo
+    ResolveHyperlinkMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveHyperlinkMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveHyperlinkMethod "getStartIndex" o = HyperlinkGetStartIndexMethodInfo
+    ResolveHyperlinkMethod "getUri" o = HyperlinkGetUriMethodInfo
+    ResolveHyperlinkMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveHyperlinkMethod "setDescription" o = ActionSetDescriptionMethodInfo
+    ResolveHyperlinkMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveHyperlinkMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveHyperlinkMethod t Hyperlink, MethodInfo info Hyperlink p) => IsLabelProxy t (Hyperlink -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveHyperlinkMethod t Hyperlink, MethodInfo info Hyperlink p) => IsLabel t (Hyperlink -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Hyperlink::link-activated
 type HyperlinkLinkActivatedCallback =
     IO ()
@@ -173,7 +230,7 @@
     type AttrSetTypeConstraint HyperlinkEndIndexPropertyInfo = (~) ()
     type AttrBaseTypeConstraint HyperlinkEndIndexPropertyInfo = HyperlinkK
     type AttrGetType HyperlinkEndIndexPropertyInfo = Int32
-    type AttrLabel HyperlinkEndIndexPropertyInfo = "Hyperlink::end-index"
+    type AttrLabel HyperlinkEndIndexPropertyInfo = "end-index"
     attrGet _ = getHyperlinkEndIndex
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -191,7 +248,7 @@
     type AttrSetTypeConstraint HyperlinkNumberOfAnchorsPropertyInfo = (~) ()
     type AttrBaseTypeConstraint HyperlinkNumberOfAnchorsPropertyInfo = HyperlinkK
     type AttrGetType HyperlinkNumberOfAnchorsPropertyInfo = Int32
-    type AttrLabel HyperlinkNumberOfAnchorsPropertyInfo = "Hyperlink::number-of-anchors"
+    type AttrLabel HyperlinkNumberOfAnchorsPropertyInfo = "number-of-anchors"
     attrGet _ = getHyperlinkNumberOfAnchors
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -209,7 +266,7 @@
     type AttrSetTypeConstraint HyperlinkSelectedLinkPropertyInfo = (~) ()
     type AttrBaseTypeConstraint HyperlinkSelectedLinkPropertyInfo = HyperlinkK
     type AttrGetType HyperlinkSelectedLinkPropertyInfo = Bool
-    type AttrLabel HyperlinkSelectedLinkPropertyInfo = "Hyperlink::selected-link"
+    type AttrLabel HyperlinkSelectedLinkPropertyInfo = "selected-link"
     attrGet _ = getHyperlinkSelectedLink
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -227,13 +284,13 @@
     type AttrSetTypeConstraint HyperlinkStartIndexPropertyInfo = (~) ()
     type AttrBaseTypeConstraint HyperlinkStartIndexPropertyInfo = HyperlinkK
     type AttrGetType HyperlinkStartIndexPropertyInfo = Int32
-    type AttrLabel HyperlinkStartIndexPropertyInfo = "Hyperlink::start-index"
+    type AttrLabel HyperlinkStartIndexPropertyInfo = "start-index"
     attrGet _ = getHyperlinkStartIndex
     attrSet _ = undefined
     attrConstruct _ = undefined
 
 type instance AttributeList Hyperlink = HyperlinkAttributeList
-type HyperlinkAttributeList = ('[ '("end-index", HyperlinkEndIndexPropertyInfo), '("number-of-anchors", HyperlinkNumberOfAnchorsPropertyInfo), '("selected-link", HyperlinkSelectedLinkPropertyInfo), '("start-index", HyperlinkStartIndexPropertyInfo)] :: [(Symbol, *)])
+type HyperlinkAttributeList = ('[ '("endIndex", HyperlinkEndIndexPropertyInfo), '("numberOfAnchors", HyperlinkNumberOfAnchorsPropertyInfo), '("selectedLink", HyperlinkSelectedLinkPropertyInfo), '("startIndex", HyperlinkStartIndexPropertyInfo)] :: [(Symbol, *)])
 
 data HyperlinkLinkActivatedSignalInfo
 instance SignalInfo HyperlinkLinkActivatedSignalInfo where
@@ -241,13 +298,12 @@
     connectSignal _ = connectHyperlinkLinkActivated
 
 type instance SignalList Hyperlink = HyperlinkSignalList
-type HyperlinkSignalList = ('[ '("link-activated", HyperlinkLinkActivatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type HyperlinkSignalList = ('[ '("linkActivated", HyperlinkLinkActivatedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Hyperlink::get_end_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -259,19 +315,22 @@
 
 hyperlinkGetEndIndex ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 hyperlinkGetEndIndex _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_get_end_index _obj'
     touchManagedPtr _obj
     return result
 
+data HyperlinkGetEndIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkGetEndIndexMethodInfo a signature where
+    overloadedMethod _ = hyperlinkGetEndIndex
+
 -- method Hyperlink::get_n_anchors
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -283,19 +342,22 @@
 
 hyperlinkGetNAnchors ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 hyperlinkGetNAnchors _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_get_n_anchors _obj'
     touchManagedPtr _obj
     return result
 
+data HyperlinkGetNAnchorsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkGetNAnchorsMethodInfo a signature where
+    overloadedMethod _ = hyperlinkGetNAnchors
+
 -- method Hyperlink::get_object
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -308,9 +370,9 @@
 
 hyperlinkGetObject ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Object
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Object                             -- result
 hyperlinkGetObject _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_get_object _obj' i
@@ -319,11 +381,14 @@
     touchManagedPtr _obj
     return result'
 
+data HyperlinkGetObjectMethodInfo
+instance (signature ~ (Int32 -> m Object), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkGetObjectMethodInfo a signature where
+    overloadedMethod _ = hyperlinkGetObject
+
 -- method Hyperlink::get_start_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -335,19 +400,22 @@
 
 hyperlinkGetStartIndex ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 hyperlinkGetStartIndex _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_get_start_index _obj'
     touchManagedPtr _obj
     return result
 
+data HyperlinkGetStartIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkGetStartIndexMethodInfo a signature where
+    overloadedMethod _ = hyperlinkGetStartIndex
+
 -- method Hyperlink::get_uri
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -360,9 +428,9 @@
 
 hyperlinkGetUri ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m T.Text
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m T.Text                             -- result
 hyperlinkGetUri _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_get_uri _obj' i
@@ -372,11 +440,14 @@
     touchManagedPtr _obj
     return result'
 
+data HyperlinkGetUriMethodInfo
+instance (signature ~ (Int32 -> m T.Text), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkGetUriMethodInfo a signature where
+    overloadedMethod _ = hyperlinkGetUri
+
 -- method Hyperlink::is_inline
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -388,8 +459,8 @@
 
 hyperlinkIsInline ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 hyperlinkIsInline _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_is_inline _obj'
@@ -397,11 +468,14 @@
     touchManagedPtr _obj
     return result'
 
+data HyperlinkIsInlineMethodInfo
+instance (signature ~ (m Bool), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkIsInlineMethodInfo a signature where
+    overloadedMethod _ = hyperlinkIsInline
+
 -- method Hyperlink::is_selected_link
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -413,8 +487,8 @@
 {-# DEPRECATED hyperlinkIsSelectedLink ["(Since version 1.8)","Please use ATK_STATE_FOCUSABLE for all links,","and ATK_STATE_FOCUSED for focused links."]#-}
 hyperlinkIsSelectedLink ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 hyperlinkIsSelectedLink _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_is_selected_link _obj'
@@ -422,11 +496,14 @@
     touchManagedPtr _obj
     return result'
 
+data HyperlinkIsSelectedLinkMethodInfo
+instance (signature ~ (m Bool), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkIsSelectedLinkMethodInfo a signature where
+    overloadedMethod _ = hyperlinkIsSelectedLink
+
 -- method Hyperlink::is_valid
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Hyperlink", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -438,13 +515,17 @@
 
 hyperlinkIsValid ::
     (MonadIO m, HyperlinkK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 hyperlinkIsValid _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_hyperlink_is_valid _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data HyperlinkIsValidMethodInfo
+instance (signature ~ (m Bool), MonadIO m, HyperlinkK a) => MethodInfo HyperlinkIsValidMethodInfo a signature where
+    overloadedMethod _ = hyperlinkIsValid
 
 
diff --git a/GI/Atk/Objects/Hyperlink.hs-boot b/GI/Atk/Objects/Hyperlink.hs-boot
--- a/GI/Atk/Objects/Hyperlink.hs-boot
+++ b/GI/Atk/Objects/Hyperlink.hs-boot
@@ -16,3 +16,11 @@
 data HyperlinkSelectedLinkPropertyInfo
 data HyperlinkStartIndexPropertyInfo
 data HyperlinkLinkActivatedSignalInfo
+data HyperlinkGetEndIndexMethodInfo
+data HyperlinkGetNAnchorsMethodInfo
+data HyperlinkGetObjectMethodInfo
+data HyperlinkGetStartIndexMethodInfo
+data HyperlinkGetUriMethodInfo
+data HyperlinkIsInlineMethodInfo
+data HyperlinkIsSelectedLinkMethodInfo
+data HyperlinkIsValidMethodInfo
diff --git a/GI/Atk/Objects/Misc.hs b/GI/Atk/Objects/Misc.hs
--- a/GI/Atk/Objects/Misc.hs
+++ b/GI/Atk/Objects/Misc.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -21,10 +22,12 @@
 
 
 -- ** miscThreadsEnter
+    MiscThreadsEnterMethodInfo              ,
     miscThreadsEnter                        ,
 
 
 -- ** miscThreadsLeave
+    MiscThreadsLeaveMethodInfo              ,
     miscThreadsLeave                        ,
 
 
@@ -64,17 +67,51 @@
 noMisc :: Maybe Misc
 noMisc = Nothing
 
+type family ResolveMiscMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMiscMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveMiscMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveMiscMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveMiscMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveMiscMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveMiscMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveMiscMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveMiscMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveMiscMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveMiscMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveMiscMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveMiscMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveMiscMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveMiscMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveMiscMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveMiscMethod "threadsEnter" o = MiscThreadsEnterMethodInfo
+    ResolveMiscMethod "threadsLeave" o = MiscThreadsLeaveMethodInfo
+    ResolveMiscMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveMiscMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveMiscMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveMiscMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveMiscMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveMiscMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveMiscMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveMiscMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMiscMethod t Misc, MethodInfo info Misc p) => IsLabelProxy t (Misc -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMiscMethod t Misc, MethodInfo info Misc p) => IsLabel t (Misc -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Misc = MiscAttributeList
 type MiscAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Misc = MiscSignalList
-type MiscSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type MiscSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Misc::threads_enter
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Misc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Misc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Misc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -86,19 +123,22 @@
 {-# DEPRECATED miscThreadsEnter ["Since 2.12."]#-}
 miscThreadsEnter ::
     (MonadIO m, MiscK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 miscThreadsEnter _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_misc_threads_enter _obj'
     touchManagedPtr _obj
     return ()
 
+data MiscThreadsEnterMethodInfo
+instance (signature ~ (m ()), MonadIO m, MiscK a) => MethodInfo MiscThreadsEnterMethodInfo a signature where
+    overloadedMethod _ = miscThreadsEnter
+
 -- method Misc::threads_leave
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Misc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Misc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Misc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -110,19 +150,22 @@
 {-# DEPRECATED miscThreadsLeave ["Since 2.12."]#-}
 miscThreadsLeave ::
     (MonadIO m, MiscK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 miscThreadsLeave _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_misc_threads_leave _obj'
     touchManagedPtr _obj
     return ()
 
+data MiscThreadsLeaveMethodInfo
+instance (signature ~ (m ()), MonadIO m, MiscK a) => MethodInfo MiscThreadsLeaveMethodInfo a signature where
+    overloadedMethod _ = miscThreadsLeave
+
 -- method Misc::get_instance
 -- method type : MemberFunction
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "Misc"
 -- throws : False
 -- Skip return : False
@@ -133,7 +176,7 @@
 {-# DEPRECATED miscGetInstance ["Since 2.12."]#-}
 miscGetInstance ::
     (MonadIO m) =>
-    m Misc
+    m Misc                                  -- result
 miscGetInstance  = liftIO $ do
     result <- atk_misc_get_instance
     checkUnexpectedReturnNULL "atk_misc_get_instance" result
diff --git a/GI/Atk/Objects/Misc.hs-boot b/GI/Atk/Objects/Misc.hs-boot
--- a/GI/Atk/Objects/Misc.hs-boot
+++ b/GI/Atk/Objects/Misc.hs-boot
@@ -11,3 +11,5 @@
 instance GObject Misc where
 class GObject o => MiscK o
 instance (GObject o, IsDescendantOf Misc o) => MiscK o
+data MiscThreadsEnterMethodInfo
+data MiscThreadsLeaveMethodInfo
diff --git a/GI/Atk/Objects/NoOpObject.hs b/GI/Atk/Objects/NoOpObject.hs
--- a/GI/Atk/Objects/NoOpObject.hs
+++ b/GI/Atk/Objects/NoOpObject.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -56,17 +57,170 @@
 noNoOpObject :: Maybe NoOpObject
 noNoOpObject = Nothing
 
+type family ResolveNoOpObjectMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNoOpObjectMethod "addColumnSelection" o = TableAddColumnSelectionMethodInfo
+    ResolveNoOpObjectMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolveNoOpObjectMethod "addRowSelection" o = TableAddRowSelectionMethodInfo
+    ResolveNoOpObjectMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveNoOpObjectMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveNoOpObjectMethod "clearSelection" o = SelectionClearSelectionMethodInfo
+    ResolveNoOpObjectMethod "contains" o = ComponentContainsMethodInfo
+    ResolveNoOpObjectMethod "copyText" o = EditableTextCopyTextMethodInfo
+    ResolveNoOpObjectMethod "cutText" o = EditableTextCutTextMethodInfo
+    ResolveNoOpObjectMethod "deleteText" o = EditableTextDeleteTextMethodInfo
+    ResolveNoOpObjectMethod "doAction" o = ActionDoActionMethodInfo
+    ResolveNoOpObjectMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveNoOpObjectMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveNoOpObjectMethod "grabFocus" o = ComponentGrabFocusMethodInfo
+    ResolveNoOpObjectMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolveNoOpObjectMethod "insertText" o = EditableTextInsertTextMethodInfo
+    ResolveNoOpObjectMethod "isChildSelected" o = SelectionIsChildSelectedMethodInfo
+    ResolveNoOpObjectMethod "isColumnSelected" o = TableIsColumnSelectedMethodInfo
+    ResolveNoOpObjectMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveNoOpObjectMethod "isRowSelected" o = TableIsRowSelectedMethodInfo
+    ResolveNoOpObjectMethod "isSelected" o = TableIsSelectedMethodInfo
+    ResolveNoOpObjectMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveNoOpObjectMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveNoOpObjectMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolveNoOpObjectMethod "pasteText" o = EditableTextPasteTextMethodInfo
+    ResolveNoOpObjectMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolveNoOpObjectMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveNoOpObjectMethod "refAccessibleAtPoint" o = ComponentRefAccessibleAtPointMethodInfo
+    ResolveNoOpObjectMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolveNoOpObjectMethod "refAt" o = TableRefAtMethodInfo
+    ResolveNoOpObjectMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolveNoOpObjectMethod "refSelection" o = SelectionRefSelectionMethodInfo
+    ResolveNoOpObjectMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveNoOpObjectMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolveNoOpObjectMethod "removeColumnSelection" o = TableRemoveColumnSelectionMethodInfo
+    ResolveNoOpObjectMethod "removeFocusHandler" o = ComponentRemoveFocusHandlerMethodInfo
+    ResolveNoOpObjectMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveNoOpObjectMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolveNoOpObjectMethod "removeRowSelection" o = TableRemoveRowSelectionMethodInfo
+    ResolveNoOpObjectMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveNoOpObjectMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveNoOpObjectMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveNoOpObjectMethod "selectAllSelection" o = SelectionSelectAllSelectionMethodInfo
+    ResolveNoOpObjectMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveNoOpObjectMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveNoOpObjectMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveNoOpObjectMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveNoOpObjectMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveNoOpObjectMethod "getAlpha" o = ComponentGetAlphaMethodInfo
+    ResolveNoOpObjectMethod "getAttributeValue" o = DocumentGetAttributeValueMethodInfo
+    ResolveNoOpObjectMethod "getBoundedRanges" o = TextGetBoundedRangesMethodInfo
+    ResolveNoOpObjectMethod "getCaption" o = TableGetCaptionMethodInfo
+    ResolveNoOpObjectMethod "getCaretOffset" o = TextGetCaretOffsetMethodInfo
+    ResolveNoOpObjectMethod "getCharacterAtOffset" o = TextGetCharacterAtOffsetMethodInfo
+    ResolveNoOpObjectMethod "getCharacterCount" o = TextGetCharacterCountMethodInfo
+    ResolveNoOpObjectMethod "getCharacterExtents" o = TextGetCharacterExtentsMethodInfo
+    ResolveNoOpObjectMethod "getColumnAtIndex" o = TableGetColumnAtIndexMethodInfo
+    ResolveNoOpObjectMethod "getColumnDescription" o = TableGetColumnDescriptionMethodInfo
+    ResolveNoOpObjectMethod "getColumnExtentAt" o = TableGetColumnExtentAtMethodInfo
+    ResolveNoOpObjectMethod "getColumnHeader" o = TableGetColumnHeaderMethodInfo
+    ResolveNoOpObjectMethod "getColumnHeaderCells" o = TableCellGetColumnHeaderCellsMethodInfo
+    ResolveNoOpObjectMethod "getColumnSpan" o = TableCellGetColumnSpanMethodInfo
+    ResolveNoOpObjectMethod "getCurrentPageNumber" o = DocumentGetCurrentPageNumberMethodInfo
+    ResolveNoOpObjectMethod "getCurrentValue" o = ValueGetCurrentValueMethodInfo
+    ResolveNoOpObjectMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveNoOpObjectMethod "getDefaultAttributes" o = TextGetDefaultAttributesMethodInfo
+    ResolveNoOpObjectMethod "getDocument" o = DocumentGetDocumentMethodInfo
+    ResolveNoOpObjectMethod "getDocumentType" o = DocumentGetDocumentTypeMethodInfo
+    ResolveNoOpObjectMethod "getExtents" o = ComponentGetExtentsMethodInfo
+    ResolveNoOpObjectMethod "getImageDescription" o = ImageGetImageDescriptionMethodInfo
+    ResolveNoOpObjectMethod "getImageLocale" o = ImageGetImageLocaleMethodInfo
+    ResolveNoOpObjectMethod "getImagePosition" o = ImageGetImagePositionMethodInfo
+    ResolveNoOpObjectMethod "getImageSize" o = ImageGetImageSizeMethodInfo
+    ResolveNoOpObjectMethod "getIncrement" o = ValueGetIncrementMethodInfo
+    ResolveNoOpObjectMethod "getIndexAt" o = TableGetIndexAtMethodInfo
+    ResolveNoOpObjectMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolveNoOpObjectMethod "getKeybinding" o = ActionGetKeybindingMethodInfo
+    ResolveNoOpObjectMethod "getLink" o = HypertextGetLinkMethodInfo
+    ResolveNoOpObjectMethod "getLinkIndex" o = HypertextGetLinkIndexMethodInfo
+    ResolveNoOpObjectMethod "getLocale" o = DocumentGetLocaleMethodInfo
+    ResolveNoOpObjectMethod "getLocalizedName" o = ActionGetLocalizedNameMethodInfo
+    ResolveNoOpObjectMethod "getMaximumValue" o = ValueGetMaximumValueMethodInfo
+    ResolveNoOpObjectMethod "getMinimumIncrement" o = ValueGetMinimumIncrementMethodInfo
+    ResolveNoOpObjectMethod "getMinimumValue" o = ValueGetMinimumValueMethodInfo
+    ResolveNoOpObjectMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolveNoOpObjectMethod "getNActions" o = ActionGetNActionsMethodInfo
+    ResolveNoOpObjectMethod "getNColumns" o = TableGetNColumnsMethodInfo
+    ResolveNoOpObjectMethod "getNLinks" o = HypertextGetNLinksMethodInfo
+    ResolveNoOpObjectMethod "getNRows" o = TableGetNRowsMethodInfo
+    ResolveNoOpObjectMethod "getNSelections" o = TextGetNSelectionsMethodInfo
+    ResolveNoOpObjectMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolveNoOpObjectMethod "getOffsetAtPoint" o = TextGetOffsetAtPointMethodInfo
+    ResolveNoOpObjectMethod "getPageCount" o = DocumentGetPageCountMethodInfo
+    ResolveNoOpObjectMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolveNoOpObjectMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveNoOpObjectMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveNoOpObjectMethod "getRange" o = ValueGetRangeMethodInfo
+    ResolveNoOpObjectMethod "getRangeExtents" o = TextGetRangeExtentsMethodInfo
+    ResolveNoOpObjectMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolveNoOpObjectMethod "getRowAtIndex" o = TableGetRowAtIndexMethodInfo
+    ResolveNoOpObjectMethod "getRowColumnSpan" o = TableCellGetRowColumnSpanMethodInfo
+    ResolveNoOpObjectMethod "getRowDescription" o = TableGetRowDescriptionMethodInfo
+    ResolveNoOpObjectMethod "getRowExtentAt" o = TableGetRowExtentAtMethodInfo
+    ResolveNoOpObjectMethod "getRowHeader" o = TableGetRowHeaderMethodInfo
+    ResolveNoOpObjectMethod "getRowHeaderCells" o = TableCellGetRowHeaderCellsMethodInfo
+    ResolveNoOpObjectMethod "getRowSpan" o = TableCellGetRowSpanMethodInfo
+    ResolveNoOpObjectMethod "getRunAttributes" o = TextGetRunAttributesMethodInfo
+    ResolveNoOpObjectMethod "getSelectedColumns" o = TableGetSelectedColumnsMethodInfo
+    ResolveNoOpObjectMethod "getSelectedRows" o = TableGetSelectedRowsMethodInfo
+    ResolveNoOpObjectMethod "getSelection" o = TextGetSelectionMethodInfo
+    ResolveNoOpObjectMethod "getSelectionCount" o = SelectionGetSelectionCountMethodInfo
+    ResolveNoOpObjectMethod "getSize" o = ComponentGetSizeMethodInfo
+    ResolveNoOpObjectMethod "getStringAtOffset" o = TextGetStringAtOffsetMethodInfo
+    ResolveNoOpObjectMethod "getSubRanges" o = ValueGetSubRangesMethodInfo
+    ResolveNoOpObjectMethod "getSummary" o = TableGetSummaryMethodInfo
+    ResolveNoOpObjectMethod "getTable" o = TableCellGetTableMethodInfo
+    ResolveNoOpObjectMethod "getText" o = TextGetTextMethodInfo
+    ResolveNoOpObjectMethod "getTextAfterOffset" o = TextGetTextAfterOffsetMethodInfo
+    ResolveNoOpObjectMethod "getTextAtOffset" o = TextGetTextAtOffsetMethodInfo
+    ResolveNoOpObjectMethod "getTextBeforeOffset" o = TextGetTextBeforeOffsetMethodInfo
+    ResolveNoOpObjectMethod "getValueAndText" o = ValueGetValueAndTextMethodInfo
+    ResolveNoOpObjectMethod "setAttributeValue" o = DocumentSetAttributeValueMethodInfo
+    ResolveNoOpObjectMethod "setCaption" o = TableSetCaptionMethodInfo
+    ResolveNoOpObjectMethod "setCaretOffset" o = TextSetCaretOffsetMethodInfo
+    ResolveNoOpObjectMethod "setColumnDescription" o = TableSetColumnDescriptionMethodInfo
+    ResolveNoOpObjectMethod "setColumnHeader" o = TableSetColumnHeaderMethodInfo
+    ResolveNoOpObjectMethod "setCurrentValue" o = ValueSetCurrentValueMethodInfo
+    ResolveNoOpObjectMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveNoOpObjectMethod "setExtents" o = ComponentSetExtentsMethodInfo
+    ResolveNoOpObjectMethod "setImageDescription" o = ImageSetImageDescriptionMethodInfo
+    ResolveNoOpObjectMethod "setName" o = ObjectSetNameMethodInfo
+    ResolveNoOpObjectMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolveNoOpObjectMethod "setPosition" o = ComponentSetPositionMethodInfo
+    ResolveNoOpObjectMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveNoOpObjectMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolveNoOpObjectMethod "setRowDescription" o = TableSetRowDescriptionMethodInfo
+    ResolveNoOpObjectMethod "setRowHeader" o = TableSetRowHeaderMethodInfo
+    ResolveNoOpObjectMethod "setRunAttributes" o = EditableTextSetRunAttributesMethodInfo
+    ResolveNoOpObjectMethod "setSelection" o = TextSetSelectionMethodInfo
+    ResolveNoOpObjectMethod "setSize" o = ComponentSetSizeMethodInfo
+    ResolveNoOpObjectMethod "setSummary" o = TableSetSummaryMethodInfo
+    ResolveNoOpObjectMethod "setTextContents" o = EditableTextSetTextContentsMethodInfo
+    ResolveNoOpObjectMethod "setValue" o = ValueSetValueMethodInfo
+    ResolveNoOpObjectMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveNoOpObjectMethod t NoOpObject, MethodInfo info NoOpObject p) => IsLabelProxy t (NoOpObject -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveNoOpObjectMethod t NoOpObject, MethodInfo info NoOpObject p) => IsLabel t (NoOpObject -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList NoOpObject = NoOpObjectAttributeList
-type NoOpObjectAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type NoOpObjectAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList NoOpObject = NoOpObjectSignalList
-type NoOpObjectSignalList = ('[ '("activate", WindowActivateSignalInfo), '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("bounds-changed", ComponentBoundsChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("column-deleted", TableColumnDeletedSignalInfo), '("column-inserted", TableColumnInsertedSignalInfo), '("column-reordered", TableColumnReorderedSignalInfo), '("create", WindowCreateSignalInfo), '("deactivate", WindowDeactivateSignalInfo), '("destroy", WindowDestroySignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("link-selected", HypertextLinkSelectedSignalInfo), '("load-complete", DocumentLoadCompleteSignalInfo), '("load-stopped", DocumentLoadStoppedSignalInfo), '("maximize", WindowMaximizeSignalInfo), '("minimize", WindowMinimizeSignalInfo), '("model-changed", TableModelChangedSignalInfo), '("move", WindowMoveSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("page-changed", DocumentPageChangedSignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("reload", DocumentReloadSignalInfo), '("resize", WindowResizeSignalInfo), '("restore", WindowRestoreSignalInfo), '("row-deleted", TableRowDeletedSignalInfo), '("row-inserted", TableRowInsertedSignalInfo), '("row-reordered", TableRowReorderedSignalInfo), '("selection-changed", SelectionSelectionChangedSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("text-attributes-changed", TextTextAttributesChangedSignalInfo), '("text-caret-moved", TextTextCaretMovedSignalInfo), '("text-changed", TextTextChangedSignalInfo), '("text-insert", TextTextInsertSignalInfo), '("text-remove", TextTextRemoveSignalInfo), '("text-selection-changed", TextTextSelectionChangedSignalInfo), '("value-changed", ValueValueChangedSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type NoOpObjectSignalList = ('[ '("activate", WindowActivateSignalInfo), '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", ComponentBoundsChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("columnDeleted", TableColumnDeletedSignalInfo), '("columnInserted", TableColumnInsertedSignalInfo), '("columnReordered", TableColumnReorderedSignalInfo), '("create", WindowCreateSignalInfo), '("deactivate", WindowDeactivateSignalInfo), '("destroy", WindowDestroySignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("linkSelected", HypertextLinkSelectedSignalInfo), '("loadComplete", DocumentLoadCompleteSignalInfo), '("loadStopped", DocumentLoadStoppedSignalInfo), '("maximize", WindowMaximizeSignalInfo), '("minimize", WindowMinimizeSignalInfo), '("modelChanged", TableModelChangedSignalInfo), '("move", WindowMoveSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("pageChanged", DocumentPageChangedSignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("reload", DocumentReloadSignalInfo), '("resize", WindowResizeSignalInfo), '("restore", WindowRestoreSignalInfo), '("rowDeleted", TableRowDeletedSignalInfo), '("rowInserted", TableRowInsertedSignalInfo), '("rowReordered", TableRowReorderedSignalInfo), '("selectionChanged", SelectionSelectionChangedSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("textAttributesChanged", TextTextAttributesChangedSignalInfo), '("textCaretMoved", TextTextCaretMovedSignalInfo), '("textChanged", TextTextChangedSignalInfo), '("textInsert", TextTextInsertSignalInfo), '("textRemove", TextTextRemoveSignalInfo), '("textSelectionChanged", TextTextSelectionChangedSignalInfo), '("valueChanged", ValueValueChangedSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 -- method NoOpObject::new
 -- method type : Constructor
--- Args : [Arg {argName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "NoOpObject"
 -- throws : False
 -- Skip return : False
@@ -78,8 +232,8 @@
 
 noOpObjectNew ::
     (MonadIO m, GObject.ObjectK a) =>
-    a ->                                    -- obj
-    m NoOpObject
+    a                                       -- obj
+    -> m NoOpObject                         -- result
 noOpObjectNew obj = liftIO $ do
     let obj' = unsafeManagedPtrCastPtr obj
     result <- atk_no_op_object_new obj'
diff --git a/GI/Atk/Objects/NoOpObjectFactory.hs b/GI/Atk/Objects/NoOpObjectFactory.hs
--- a/GI/Atk/Objects/NoOpObjectFactory.hs
+++ b/GI/Atk/Objects/NoOpObjectFactory.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -56,17 +57,52 @@
 noNoOpObjectFactory :: Maybe NoOpObjectFactory
 noNoOpObjectFactory = Nothing
 
+type family ResolveNoOpObjectFactoryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveNoOpObjectFactoryMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveNoOpObjectFactoryMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveNoOpObjectFactoryMethod "createAccessible" o = ObjectFactoryCreateAccessibleMethodInfo
+    ResolveNoOpObjectFactoryMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveNoOpObjectFactoryMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveNoOpObjectFactoryMethod "invalidate" o = ObjectFactoryInvalidateMethodInfo
+    ResolveNoOpObjectFactoryMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveNoOpObjectFactoryMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveNoOpObjectFactoryMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveNoOpObjectFactoryMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveNoOpObjectFactoryMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveNoOpObjectFactoryMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveNoOpObjectFactoryMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveNoOpObjectFactoryMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveNoOpObjectFactoryMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveNoOpObjectFactoryMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveNoOpObjectFactoryMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveNoOpObjectFactoryMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveNoOpObjectFactoryMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveNoOpObjectFactoryMethod "getAccessibleType" o = ObjectFactoryGetAccessibleTypeMethodInfo
+    ResolveNoOpObjectFactoryMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveNoOpObjectFactoryMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveNoOpObjectFactoryMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveNoOpObjectFactoryMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveNoOpObjectFactoryMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveNoOpObjectFactoryMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveNoOpObjectFactoryMethod t NoOpObjectFactory, MethodInfo info NoOpObjectFactory p) => IsLabelProxy t (NoOpObjectFactory -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveNoOpObjectFactoryMethod t NoOpObjectFactory, MethodInfo info NoOpObjectFactory p) => IsLabel t (NoOpObjectFactory -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList NoOpObjectFactory = NoOpObjectFactoryAttributeList
 type NoOpObjectFactoryAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList NoOpObjectFactory = NoOpObjectFactorySignalList
-type NoOpObjectFactorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type NoOpObjectFactorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method NoOpObjectFactory::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "NoOpObjectFactory"
 -- throws : False
 -- Skip return : False
@@ -77,7 +113,7 @@
 
 noOpObjectFactoryNew ::
     (MonadIO m) =>
-    m NoOpObjectFactory
+    m NoOpObjectFactory                     -- result
 noOpObjectFactoryNew  = liftIO $ do
     result <- atk_no_op_object_factory_new
     checkUnexpectedReturnNULL "atk_no_op_object_factory_new" result
diff --git a/GI/Atk/Objects/Object.hs b/GI/Atk/Objects/Object.hs
--- a/GI/Atk/Objects/Object.hs
+++ b/GI/Atk/Objects/Object.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,94 +18,117 @@
 
  -- * Methods
 -- ** objectAddRelationship
+    ObjectAddRelationshipMethodInfo         ,
     objectAddRelationship                   ,
 
 
 -- ** objectGetAttributes
+    ObjectGetAttributesMethodInfo           ,
     objectGetAttributes                     ,
 
 
 -- ** objectGetDescription
+    ObjectGetDescriptionMethodInfo          ,
     objectGetDescription                    ,
 
 
 -- ** objectGetIndexInParent
+    ObjectGetIndexInParentMethodInfo        ,
     objectGetIndexInParent                  ,
 
 
 -- ** objectGetLayer
+    ObjectGetLayerMethodInfo                ,
     objectGetLayer                          ,
 
 
 -- ** objectGetMdiZorder
+    ObjectGetMdiZorderMethodInfo            ,
     objectGetMdiZorder                      ,
 
 
 -- ** objectGetNAccessibleChildren
+    ObjectGetNAccessibleChildrenMethodInfo  ,
     objectGetNAccessibleChildren            ,
 
 
 -- ** objectGetName
+    ObjectGetNameMethodInfo                 ,
     objectGetName                           ,
 
 
 -- ** objectGetObjectLocale
+    ObjectGetObjectLocaleMethodInfo         ,
     objectGetObjectLocale                   ,
 
 
 -- ** objectGetParent
+    ObjectGetParentMethodInfo               ,
     objectGetParent                         ,
 
 
 -- ** objectGetRole
+    ObjectGetRoleMethodInfo                 ,
     objectGetRole                           ,
 
 
 -- ** objectInitialize
+    ObjectInitializeMethodInfo              ,
     objectInitialize                        ,
 
 
 -- ** objectNotifyStateChange
+    ObjectNotifyStateChangeMethodInfo       ,
     objectNotifyStateChange                 ,
 
 
 -- ** objectPeekParent
+    ObjectPeekParentMethodInfo              ,
     objectPeekParent                        ,
 
 
 -- ** objectRefAccessibleChild
+    ObjectRefAccessibleChildMethodInfo      ,
     objectRefAccessibleChild                ,
 
 
 -- ** objectRefRelationSet
+    ObjectRefRelationSetMethodInfo          ,
     objectRefRelationSet                    ,
 
 
 -- ** objectRefStateSet
+    ObjectRefStateSetMethodInfo             ,
     objectRefStateSet                       ,
 
 
 -- ** objectRemovePropertyChangeHandler
+    ObjectRemovePropertyChangeHandlerMethodInfo,
     objectRemovePropertyChangeHandler       ,
 
 
 -- ** objectRemoveRelationship
+    ObjectRemoveRelationshipMethodInfo      ,
     objectRemoveRelationship                ,
 
 
 -- ** objectSetDescription
+    ObjectSetDescriptionMethodInfo          ,
     objectSetDescription                    ,
 
 
 -- ** objectSetName
+    ObjectSetNameMethodInfo                 ,
     objectSetName                           ,
 
 
 -- ** objectSetParent
+    ObjectSetParentMethodInfo               ,
     objectSetParent                         ,
 
 
 -- ** objectSetRole
+    ObjectSetRoleMethodInfo                 ,
     objectSetRole                           ,
 
 
@@ -321,6 +345,62 @@
 noObject :: Maybe Object
 noObject = Nothing
 
+type family ResolveObjectMethod (t :: Symbol) (o :: *) :: * where
+    ResolveObjectMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolveObjectMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveObjectMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveObjectMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveObjectMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveObjectMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolveObjectMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveObjectMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveObjectMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveObjectMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolveObjectMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolveObjectMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveObjectMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolveObjectMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolveObjectMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveObjectMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolveObjectMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveObjectMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolveObjectMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveObjectMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveObjectMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveObjectMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveObjectMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveObjectMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveObjectMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveObjectMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveObjectMethod "getAttributes" o = ObjectGetAttributesMethodInfo
+    ResolveObjectMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveObjectMethod "getDescription" o = ObjectGetDescriptionMethodInfo
+    ResolveObjectMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolveObjectMethod "getLayer" o = ObjectGetLayerMethodInfo
+    ResolveObjectMethod "getMdiZorder" o = ObjectGetMdiZorderMethodInfo
+    ResolveObjectMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolveObjectMethod "getName" o = ObjectGetNameMethodInfo
+    ResolveObjectMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolveObjectMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolveObjectMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveObjectMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveObjectMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolveObjectMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveObjectMethod "setDescription" o = ObjectSetDescriptionMethodInfo
+    ResolveObjectMethod "setName" o = ObjectSetNameMethodInfo
+    ResolveObjectMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolveObjectMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveObjectMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolveObjectMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveObjectMethod t Object, MethodInfo info Object p) => IsLabelProxy t (Object -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveObjectMethod t Object, MethodInfo info Object p) => IsLabel t (Object -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- signal Object::active-descendant-changed
 type ObjectActiveDescendantChangedCallback =
     Ptr () ->
@@ -586,7 +666,7 @@
     type AttrSetTypeConstraint ObjectAccessibleComponentLayerPropertyInfo = (~) ()
     type AttrBaseTypeConstraint ObjectAccessibleComponentLayerPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleComponentLayerPropertyInfo = Int32
-    type AttrLabel ObjectAccessibleComponentLayerPropertyInfo = "Object::accessible-component-layer"
+    type AttrLabel ObjectAccessibleComponentLayerPropertyInfo = "accessible-component-layer"
     attrGet _ = getObjectAccessibleComponentLayer
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -604,7 +684,7 @@
     type AttrSetTypeConstraint ObjectAccessibleComponentMdiZorderPropertyInfo = (~) ()
     type AttrBaseTypeConstraint ObjectAccessibleComponentMdiZorderPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleComponentMdiZorderPropertyInfo = Int32
-    type AttrLabel ObjectAccessibleComponentMdiZorderPropertyInfo = "Object::accessible-component-mdi-zorder"
+    type AttrLabel ObjectAccessibleComponentMdiZorderPropertyInfo = "accessible-component-mdi-zorder"
     attrGet _ = getObjectAccessibleComponentMdiZorder
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -628,7 +708,7 @@
     type AttrSetTypeConstraint ObjectAccessibleDescriptionPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ObjectAccessibleDescriptionPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleDescriptionPropertyInfo = T.Text
-    type AttrLabel ObjectAccessibleDescriptionPropertyInfo = "Object::accessible-description"
+    type AttrLabel ObjectAccessibleDescriptionPropertyInfo = "accessible-description"
     attrGet _ = getObjectAccessibleDescription
     attrSet _ = setObjectAccessibleDescription
     attrConstruct _ = constructObjectAccessibleDescription
@@ -646,7 +726,7 @@
     type AttrSetTypeConstraint ObjectAccessibleHypertextNlinksPropertyInfo = (~) ()
     type AttrBaseTypeConstraint ObjectAccessibleHypertextNlinksPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleHypertextNlinksPropertyInfo = Int32
-    type AttrLabel ObjectAccessibleHypertextNlinksPropertyInfo = "Object::accessible-hypertext-nlinks"
+    type AttrLabel ObjectAccessibleHypertextNlinksPropertyInfo = "accessible-hypertext-nlinks"
     attrGet _ = getObjectAccessibleHypertextNlinks
     attrSet _ = undefined
     attrConstruct _ = undefined
@@ -670,7 +750,7 @@
     type AttrSetTypeConstraint ObjectAccessibleNamePropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ObjectAccessibleNamePropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleNamePropertyInfo = T.Text
-    type AttrLabel ObjectAccessibleNamePropertyInfo = "Object::accessible-name"
+    type AttrLabel ObjectAccessibleNamePropertyInfo = "accessible-name"
     attrGet _ = getObjectAccessibleName
     attrSet _ = setObjectAccessibleName
     attrConstruct _ = constructObjectAccessibleName
@@ -694,7 +774,7 @@
     type AttrSetTypeConstraint ObjectAccessibleParentPropertyInfo = ObjectK
     type AttrBaseTypeConstraint ObjectAccessibleParentPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleParentPropertyInfo = Object
-    type AttrLabel ObjectAccessibleParentPropertyInfo = "Object::accessible-parent"
+    type AttrLabel ObjectAccessibleParentPropertyInfo = "accessible-parent"
     attrGet _ = getObjectAccessibleParent
     attrSet _ = setObjectAccessibleParent
     attrConstruct _ = constructObjectAccessibleParent
@@ -718,7 +798,7 @@
     type AttrSetTypeConstraint ObjectAccessibleRolePropertyInfo = (~) Int32
     type AttrBaseTypeConstraint ObjectAccessibleRolePropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleRolePropertyInfo = Int32
-    type AttrLabel ObjectAccessibleRolePropertyInfo = "Object::accessible-role"
+    type AttrLabel ObjectAccessibleRolePropertyInfo = "accessible-role"
     attrGet _ = getObjectAccessibleRole
     attrSet _ = setObjectAccessibleRole
     attrConstruct _ = constructObjectAccessibleRole
@@ -742,7 +822,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableCaptionPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ObjectAccessibleTableCaptionPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableCaptionPropertyInfo = T.Text
-    type AttrLabel ObjectAccessibleTableCaptionPropertyInfo = "Object::accessible-table-caption"
+    type AttrLabel ObjectAccessibleTableCaptionPropertyInfo = "accessible-table-caption"
     attrGet _ = getObjectAccessibleTableCaption
     attrSet _ = setObjectAccessibleTableCaption
     attrConstruct _ = constructObjectAccessibleTableCaption
@@ -766,7 +846,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableCaptionObjectPropertyInfo = ObjectK
     type AttrBaseTypeConstraint ObjectAccessibleTableCaptionObjectPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableCaptionObjectPropertyInfo = Object
-    type AttrLabel ObjectAccessibleTableCaptionObjectPropertyInfo = "Object::accessible-table-caption-object"
+    type AttrLabel ObjectAccessibleTableCaptionObjectPropertyInfo = "accessible-table-caption-object"
     attrGet _ = getObjectAccessibleTableCaptionObject
     attrSet _ = setObjectAccessibleTableCaptionObject
     attrConstruct _ = constructObjectAccessibleTableCaptionObject
@@ -790,7 +870,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableColumnDescriptionPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ObjectAccessibleTableColumnDescriptionPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableColumnDescriptionPropertyInfo = T.Text
-    type AttrLabel ObjectAccessibleTableColumnDescriptionPropertyInfo = "Object::accessible-table-column-description"
+    type AttrLabel ObjectAccessibleTableColumnDescriptionPropertyInfo = "accessible-table-column-description"
     attrGet _ = getObjectAccessibleTableColumnDescription
     attrSet _ = setObjectAccessibleTableColumnDescription
     attrConstruct _ = constructObjectAccessibleTableColumnDescription
@@ -814,7 +894,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableColumnHeaderPropertyInfo = ObjectK
     type AttrBaseTypeConstraint ObjectAccessibleTableColumnHeaderPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableColumnHeaderPropertyInfo = Object
-    type AttrLabel ObjectAccessibleTableColumnHeaderPropertyInfo = "Object::accessible-table-column-header"
+    type AttrLabel ObjectAccessibleTableColumnHeaderPropertyInfo = "accessible-table-column-header"
     attrGet _ = getObjectAccessibleTableColumnHeader
     attrSet _ = setObjectAccessibleTableColumnHeader
     attrConstruct _ = constructObjectAccessibleTableColumnHeader
@@ -838,7 +918,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableRowDescriptionPropertyInfo = (~) T.Text
     type AttrBaseTypeConstraint ObjectAccessibleTableRowDescriptionPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableRowDescriptionPropertyInfo = T.Text
-    type AttrLabel ObjectAccessibleTableRowDescriptionPropertyInfo = "Object::accessible-table-row-description"
+    type AttrLabel ObjectAccessibleTableRowDescriptionPropertyInfo = "accessible-table-row-description"
     attrGet _ = getObjectAccessibleTableRowDescription
     attrSet _ = setObjectAccessibleTableRowDescription
     attrConstruct _ = constructObjectAccessibleTableRowDescription
@@ -862,7 +942,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableRowHeaderPropertyInfo = ObjectK
     type AttrBaseTypeConstraint ObjectAccessibleTableRowHeaderPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableRowHeaderPropertyInfo = Object
-    type AttrLabel ObjectAccessibleTableRowHeaderPropertyInfo = "Object::accessible-table-row-header"
+    type AttrLabel ObjectAccessibleTableRowHeaderPropertyInfo = "accessible-table-row-header"
     attrGet _ = getObjectAccessibleTableRowHeader
     attrSet _ = setObjectAccessibleTableRowHeader
     attrConstruct _ = constructObjectAccessibleTableRowHeader
@@ -886,7 +966,7 @@
     type AttrSetTypeConstraint ObjectAccessibleTableSummaryPropertyInfo = ObjectK
     type AttrBaseTypeConstraint ObjectAccessibleTableSummaryPropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleTableSummaryPropertyInfo = Object
-    type AttrLabel ObjectAccessibleTableSummaryPropertyInfo = "Object::accessible-table-summary"
+    type AttrLabel ObjectAccessibleTableSummaryPropertyInfo = "accessible-table-summary"
     attrGet _ = getObjectAccessibleTableSummary
     attrSet _ = setObjectAccessibleTableSummary
     attrConstruct _ = constructObjectAccessibleTableSummary
@@ -910,13 +990,13 @@
     type AttrSetTypeConstraint ObjectAccessibleValuePropertyInfo = (~) Double
     type AttrBaseTypeConstraint ObjectAccessibleValuePropertyInfo = ObjectK
     type AttrGetType ObjectAccessibleValuePropertyInfo = Double
-    type AttrLabel ObjectAccessibleValuePropertyInfo = "Object::accessible-value"
+    type AttrLabel ObjectAccessibleValuePropertyInfo = "accessible-value"
     attrGet _ = getObjectAccessibleValue
     attrSet _ = setObjectAccessibleValue
     attrConstruct _ = constructObjectAccessibleValue
 
 type instance AttributeList Object = ObjectAttributeList
-type ObjectAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type ObjectAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 data ObjectActiveDescendantChangedSignalInfo
 instance SignalInfo ObjectActiveDescendantChangedSignalInfo where
@@ -949,13 +1029,12 @@
     connectSignal _ = connectObjectVisibleDataChanged
 
 type instance SignalList Object = ObjectSignalList
-type ObjectSignalList = ('[ '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ObjectSignalList = ('[ '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 -- method Object::add_relationship
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -969,10 +1048,10 @@
 
 objectAddRelationship ::
     (MonadIO m, ObjectK a, ObjectK b) =>
-    a ->                                    -- _obj
-    RelationType ->                         -- relationship
-    b ->                                    -- target
-    m Bool
+    a                                       -- _obj
+    -> RelationType                         -- relationship
+    -> b                                    -- target
+    -> m Bool                               -- result
 objectAddRelationship _obj relationship target = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relationship' = (fromIntegral . fromEnum) relationship
@@ -983,11 +1062,14 @@
     touchManagedPtr target
     return result'
 
+data ObjectAddRelationshipMethodInfo
+instance (signature ~ (RelationType -> b -> m Bool), MonadIO m, ObjectK a, ObjectK b) => MethodInfo ObjectAddRelationshipMethodInfo a signature where
+    overloadedMethod _ = objectAddRelationship
+
 -- method Object::get_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TBasicType TVoid)
 -- throws : False
 -- Skip return : False
@@ -999,8 +1081,8 @@
 
 objectGetAttributes ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m [Ptr ()]
+    a                                       -- _obj
+    -> m [Ptr ()]                           -- result
 objectGetAttributes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_attributes _obj'
@@ -1010,11 +1092,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetAttributesMethodInfo
+instance (signature ~ (m [Ptr ()]), MonadIO m, ObjectK a) => MethodInfo ObjectGetAttributesMethodInfo a signature where
+    overloadedMethod _ = objectGetAttributes
+
 -- method Object::get_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1026,8 +1111,8 @@
 
 objectGetDescription ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 objectGetDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_description _obj'
@@ -1036,11 +1121,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetDescriptionMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, ObjectK a) => MethodInfo ObjectGetDescriptionMethodInfo a signature where
+    overloadedMethod _ = objectGetDescription
+
 -- method Object::get_index_in_parent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -1052,19 +1140,22 @@
 
 objectGetIndexInParent ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 objectGetIndexInParent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_index_in_parent _obj'
     touchManagedPtr _obj
     return result
 
+data ObjectGetIndexInParentMethodInfo
+instance (signature ~ (m Int32), MonadIO m, ObjectK a) => MethodInfo ObjectGetIndexInParentMethodInfo a signature where
+    overloadedMethod _ = objectGetIndexInParent
+
 -- method Object::get_layer
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Layer"
 -- throws : False
 -- Skip return : False
@@ -1076,8 +1167,8 @@
 {-# DEPRECATED objectGetLayer ["Use atk_component_get_layer instead."]#-}
 objectGetLayer ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Layer
+    a                                       -- _obj
+    -> m Layer                              -- result
 objectGetLayer _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_layer _obj'
@@ -1085,11 +1176,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetLayerMethodInfo
+instance (signature ~ (m Layer), MonadIO m, ObjectK a) => MethodInfo ObjectGetLayerMethodInfo a signature where
+    overloadedMethod _ = objectGetLayer
+
 -- method Object::get_mdi_zorder
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -1101,19 +1195,22 @@
 {-# DEPRECATED objectGetMdiZorder ["Use atk_component_get_mdi_zorder instead."]#-}
 objectGetMdiZorder ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 objectGetMdiZorder _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_mdi_zorder _obj'
     touchManagedPtr _obj
     return result
 
+data ObjectGetMdiZorderMethodInfo
+instance (signature ~ (m Int32), MonadIO m, ObjectK a) => MethodInfo ObjectGetMdiZorderMethodInfo a signature where
+    overloadedMethod _ = objectGetMdiZorder
+
 -- method Object::get_n_accessible_children
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -1125,19 +1222,22 @@
 
 objectGetNAccessibleChildren ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 objectGetNAccessibleChildren _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_n_accessible_children _obj'
     touchManagedPtr _obj
     return result
 
+data ObjectGetNAccessibleChildrenMethodInfo
+instance (signature ~ (m Int32), MonadIO m, ObjectK a) => MethodInfo ObjectGetNAccessibleChildrenMethodInfo a signature where
+    overloadedMethod _ = objectGetNAccessibleChildren
+
 -- method Object::get_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1149,8 +1249,8 @@
 
 objectGetName ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 objectGetName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_name _obj'
@@ -1159,11 +1259,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, ObjectK a) => MethodInfo ObjectGetNameMethodInfo a signature where
+    overloadedMethod _ = objectGetName
+
 -- method Object::get_object_locale
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1175,8 +1278,8 @@
 
 objectGetObjectLocale ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 objectGetObjectLocale _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_object_locale _obj'
@@ -1185,11 +1288,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetObjectLocaleMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, ObjectK a) => MethodInfo ObjectGetObjectLocaleMethodInfo a signature where
+    overloadedMethod _ = objectGetObjectLocale
+
 -- method Object::get_parent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -1201,8 +1307,8 @@
 
 objectGetParent ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Object
+    a                                       -- _obj
+    -> m Object                             -- result
 objectGetParent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_parent _obj'
@@ -1211,11 +1317,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetParentMethodInfo
+instance (signature ~ (m Object), MonadIO m, ObjectK a) => MethodInfo ObjectGetParentMethodInfo a signature where
+    overloadedMethod _ = objectGetParent
+
 -- method Object::get_role
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Role"
 -- throws : False
 -- Skip return : False
@@ -1227,8 +1336,8 @@
 
 objectGetRole ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Role
+    a                                       -- _obj
+    -> m Role                               -- result
 objectGetRole _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_get_role _obj'
@@ -1236,11 +1345,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectGetRoleMethodInfo
+instance (signature ~ (m Role), MonadIO m, ObjectK a) => MethodInfo ObjectGetRoleMethodInfo a signature where
+    overloadedMethod _ = objectGetRole
+
 -- method Object::initialize
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1253,20 +1365,23 @@
 
 objectInitialize ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    Ptr () ->                               -- data
-    m ()
+    a                                       -- _obj
+    -> Ptr ()                               -- data_
+    -> m ()                                 -- result
 objectInitialize _obj data_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_object_initialize _obj' data_
     touchManagedPtr _obj
     return ()
 
+data ObjectInitializeMethodInfo
+instance (signature ~ (Ptr () -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectInitializeMethodInfo a signature where
+    overloadedMethod _ = objectInitialize
+
 -- method Object::notify_state_change
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "state", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1280,10 +1395,10 @@
 
 objectNotifyStateChange ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    Word64 ->                               -- state
-    Bool ->                                 -- value
-    m ()
+    a                                       -- _obj
+    -> Word64                               -- state
+    -> Bool                                 -- value
+    -> m ()                                 -- result
 objectNotifyStateChange _obj state value = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let value' = (fromIntegral . fromEnum) value
@@ -1291,11 +1406,14 @@
     touchManagedPtr _obj
     return ()
 
+data ObjectNotifyStateChangeMethodInfo
+instance (signature ~ (Word64 -> Bool -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectNotifyStateChangeMethodInfo a signature where
+    overloadedMethod _ = objectNotifyStateChange
+
 -- method Object::peek_parent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -1307,8 +1425,8 @@
 
 objectPeekParent ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m Object
+    a                                       -- _obj
+    -> m Object                             -- result
 objectPeekParent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_peek_parent _obj'
@@ -1317,11 +1435,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectPeekParentMethodInfo
+instance (signature ~ (m Object), MonadIO m, ObjectK a) => MethodInfo ObjectPeekParentMethodInfo a signature where
+    overloadedMethod _ = objectPeekParent
+
 -- method Object::ref_accessible_child
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -1334,9 +1455,9 @@
 
 objectRefAccessibleChild ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Object
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Object                             -- result
 objectRefAccessibleChild _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_ref_accessible_child _obj' i
@@ -1345,11 +1466,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectRefAccessibleChildMethodInfo
+instance (signature ~ (Int32 -> m Object), MonadIO m, ObjectK a) => MethodInfo ObjectRefAccessibleChildMethodInfo a signature where
+    overloadedMethod _ = objectRefAccessibleChild
+
 -- method Object::ref_relation_set
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "RelationSet"
 -- throws : False
 -- Skip return : False
@@ -1361,8 +1485,8 @@
 
 objectRefRelationSet ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m RelationSet
+    a                                       -- _obj
+    -> m RelationSet                        -- result
 objectRefRelationSet _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_ref_relation_set _obj'
@@ -1371,11 +1495,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectRefRelationSetMethodInfo
+instance (signature ~ (m RelationSet), MonadIO m, ObjectK a) => MethodInfo ObjectRefRelationSetMethodInfo a signature where
+    overloadedMethod _ = objectRefRelationSet
+
 -- method Object::ref_state_set
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "StateSet"
 -- throws : False
 -- Skip return : False
@@ -1387,8 +1514,8 @@
 
 objectRefStateSet ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    m StateSet
+    a                                       -- _obj
+    -> m StateSet                           -- result
 objectRefStateSet _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_ref_state_set _obj'
@@ -1397,11 +1524,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectRefStateSetMethodInfo
+instance (signature ~ (m StateSet), MonadIO m, ObjectK a) => MethodInfo ObjectRefStateSetMethodInfo a signature where
+    overloadedMethod _ = objectRefStateSet
+
 -- method Object::remove_property_change_handler
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "handler_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1414,20 +1544,23 @@
 {-# DEPRECATED objectRemovePropertyChangeHandler ["Since 2.12.","","Removes a property change handler."]#-}
 objectRemovePropertyChangeHandler ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- handler_id
-    m ()
-objectRemovePropertyChangeHandler _obj handler_id = liftIO $ do
+    a                                       -- _obj
+    -> Word32                               -- handlerId
+    -> m ()                                 -- result
+objectRemovePropertyChangeHandler _obj handlerId = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    atk_object_remove_property_change_handler _obj' handler_id
+    atk_object_remove_property_change_handler _obj' handlerId
     touchManagedPtr _obj
     return ()
 
+data ObjectRemovePropertyChangeHandlerMethodInfo
+instance (signature ~ (Word32 -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectRemovePropertyChangeHandlerMethodInfo a signature where
+    overloadedMethod _ = objectRemovePropertyChangeHandler
+
 -- method Object::remove_relationship
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1441,10 +1574,10 @@
 
 objectRemoveRelationship ::
     (MonadIO m, ObjectK a, ObjectK b) =>
-    a ->                                    -- _obj
-    RelationType ->                         -- relationship
-    b ->                                    -- target
-    m Bool
+    a                                       -- _obj
+    -> RelationType                         -- relationship
+    -> b                                    -- target
+    -> m Bool                               -- result
 objectRemoveRelationship _obj relationship target = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relationship' = (fromIntegral . fromEnum) relationship
@@ -1455,11 +1588,14 @@
     touchManagedPtr target
     return result'
 
+data ObjectRemoveRelationshipMethodInfo
+instance (signature ~ (RelationType -> b -> m Bool), MonadIO m, ObjectK a, ObjectK b) => MethodInfo ObjectRemoveRelationshipMethodInfo a signature where
+    overloadedMethod _ = objectRemoveRelationship
+
 -- method Object::set_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1472,9 +1608,9 @@
 
 objectSetDescription ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- description
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- description
+    -> m ()                                 -- result
 objectSetDescription _obj description = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     description' <- textToCString description
@@ -1483,11 +1619,14 @@
     freeMem description'
     return ()
 
+data ObjectSetDescriptionMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectSetDescriptionMethodInfo a signature where
+    overloadedMethod _ = objectSetDescription
+
 -- method Object::set_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1500,9 +1639,9 @@
 
 objectSetName ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- name
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- name
+    -> m ()                                 -- result
 objectSetName _obj name = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     name' <- textToCString name
@@ -1511,11 +1650,14 @@
     freeMem name'
     return ()
 
+data ObjectSetNameMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectSetNameMethodInfo a signature where
+    overloadedMethod _ = objectSetName
+
 -- method Object::set_parent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "parent", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1528,9 +1670,9 @@
 
 objectSetParent ::
     (MonadIO m, ObjectK a, ObjectK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- parent
-    m ()
+    a                                       -- _obj
+    -> b                                    -- parent
+    -> m ()                                 -- result
 objectSetParent _obj parent = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let parent' = unsafeManagedPtrCastPtr parent
@@ -1539,11 +1681,14 @@
     touchManagedPtr parent
     return ()
 
+data ObjectSetParentMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, ObjectK a, ObjectK b) => MethodInfo ObjectSetParentMethodInfo a signature where
+    overloadedMethod _ = objectSetParent
+
 -- method Object::set_role
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "role", argType = TInterface "Atk" "Role", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1556,14 +1701,18 @@
 
 objectSetRole ::
     (MonadIO m, ObjectK a) =>
-    a ->                                    -- _obj
-    Role ->                                 -- role
-    m ()
+    a                                       -- _obj
+    -> Role                                 -- role
+    -> m ()                                 -- result
 objectSetRole _obj role = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let role' = (fromIntegral . fromEnum) role
     atk_object_set_role _obj' role'
     touchManagedPtr _obj
     return ()
+
+data ObjectSetRoleMethodInfo
+instance (signature ~ (Role -> m ()), MonadIO m, ObjectK a) => MethodInfo ObjectSetRoleMethodInfo a signature where
+    overloadedMethod _ = objectSetRole
 
 
diff --git a/GI/Atk/Objects/Object.hs-boot b/GI/Atk/Objects/Object.hs-boot
--- a/GI/Atk/Objects/Object.hs-boot
+++ b/GI/Atk/Objects/Object.hs-boot
@@ -32,3 +32,26 @@
 data ObjectPropertyChangeSignalInfo
 data ObjectStateChangeSignalInfo
 data ObjectVisibleDataChangedSignalInfo
+data ObjectAddRelationshipMethodInfo
+data ObjectGetAttributesMethodInfo
+data ObjectGetDescriptionMethodInfo
+data ObjectGetIndexInParentMethodInfo
+data ObjectGetLayerMethodInfo
+data ObjectGetMdiZorderMethodInfo
+data ObjectGetNAccessibleChildrenMethodInfo
+data ObjectGetNameMethodInfo
+data ObjectGetObjectLocaleMethodInfo
+data ObjectGetParentMethodInfo
+data ObjectGetRoleMethodInfo
+data ObjectInitializeMethodInfo
+data ObjectNotifyStateChangeMethodInfo
+data ObjectPeekParentMethodInfo
+data ObjectRefAccessibleChildMethodInfo
+data ObjectRefRelationSetMethodInfo
+data ObjectRefStateSetMethodInfo
+data ObjectRemovePropertyChangeHandlerMethodInfo
+data ObjectRemoveRelationshipMethodInfo
+data ObjectSetDescriptionMethodInfo
+data ObjectSetNameMethodInfo
+data ObjectSetParentMethodInfo
+data ObjectSetRoleMethodInfo
diff --git a/GI/Atk/Objects/ObjectFactory.hs b/GI/Atk/Objects/ObjectFactory.hs
--- a/GI/Atk/Objects/ObjectFactory.hs
+++ b/GI/Atk/Objects/ObjectFactory.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,14 +18,17 @@
 
  -- * Methods
 -- ** objectFactoryCreateAccessible
+    ObjectFactoryCreateAccessibleMethodInfo ,
     objectFactoryCreateAccessible           ,
 
 
 -- ** objectFactoryGetAccessibleType
+    ObjectFactoryGetAccessibleTypeMethodInfo,
     objectFactoryGetAccessibleType          ,
 
 
 -- ** objectFactoryInvalidate
+    ObjectFactoryInvalidateMethodInfo       ,
     objectFactoryInvalidate                 ,
 
 
@@ -64,17 +68,52 @@
 noObjectFactory :: Maybe ObjectFactory
 noObjectFactory = Nothing
 
+type family ResolveObjectFactoryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveObjectFactoryMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveObjectFactoryMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveObjectFactoryMethod "createAccessible" o = ObjectFactoryCreateAccessibleMethodInfo
+    ResolveObjectFactoryMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveObjectFactoryMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveObjectFactoryMethod "invalidate" o = ObjectFactoryInvalidateMethodInfo
+    ResolveObjectFactoryMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveObjectFactoryMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveObjectFactoryMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveObjectFactoryMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveObjectFactoryMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveObjectFactoryMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveObjectFactoryMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveObjectFactoryMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveObjectFactoryMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveObjectFactoryMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveObjectFactoryMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveObjectFactoryMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveObjectFactoryMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveObjectFactoryMethod "getAccessibleType" o = ObjectFactoryGetAccessibleTypeMethodInfo
+    ResolveObjectFactoryMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveObjectFactoryMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveObjectFactoryMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveObjectFactoryMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveObjectFactoryMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveObjectFactoryMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveObjectFactoryMethod t ObjectFactory, MethodInfo info ObjectFactory p) => IsLabelProxy t (ObjectFactory -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveObjectFactoryMethod t ObjectFactory, MethodInfo info ObjectFactory p) => IsLabel t (ObjectFactory -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList ObjectFactory = ObjectFactoryAttributeList
 type ObjectFactoryAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList ObjectFactory = ObjectFactorySignalList
-type ObjectFactorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ObjectFactorySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method ObjectFactory::create_accessible
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "obj", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -87,9 +126,9 @@
 
 objectFactoryCreateAccessible ::
     (MonadIO m, ObjectFactoryK a, GObject.ObjectK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- obj
-    m Object
+    a                                       -- _obj
+    -> b                                    -- obj
+    -> m Object                             -- result
 objectFactoryCreateAccessible _obj obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let obj' = unsafeManagedPtrCastPtr obj
@@ -100,11 +139,14 @@
     touchManagedPtr obj
     return result'
 
+data ObjectFactoryCreateAccessibleMethodInfo
+instance (signature ~ (b -> m Object), MonadIO m, ObjectFactoryK a, GObject.ObjectK b) => MethodInfo ObjectFactoryCreateAccessibleMethodInfo a signature where
+    overloadedMethod _ = objectFactoryCreateAccessible
+
 -- method ObjectFactory::get_accessible_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TGType
 -- throws : False
 -- Skip return : False
@@ -116,8 +158,8 @@
 
 objectFactoryGetAccessibleType ::
     (MonadIO m, ObjectFactoryK a) =>
-    a ->                                    -- _obj
-    m GType
+    a                                       -- _obj
+    -> m GType                              -- result
 objectFactoryGetAccessibleType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_object_factory_get_accessible_type _obj'
@@ -125,11 +167,14 @@
     touchManagedPtr _obj
     return result'
 
+data ObjectFactoryGetAccessibleTypeMethodInfo
+instance (signature ~ (m GType), MonadIO m, ObjectFactoryK a) => MethodInfo ObjectFactoryGetAccessibleTypeMethodInfo a signature where
+    overloadedMethod _ = objectFactoryGetAccessibleType
+
 -- method ObjectFactory::invalidate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "ObjectFactory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -141,12 +186,16 @@
 
 objectFactoryInvalidate ::
     (MonadIO m, ObjectFactoryK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 objectFactoryInvalidate _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_object_factory_invalidate _obj'
     touchManagedPtr _obj
     return ()
+
+data ObjectFactoryInvalidateMethodInfo
+instance (signature ~ (m ()), MonadIO m, ObjectFactoryK a) => MethodInfo ObjectFactoryInvalidateMethodInfo a signature where
+    overloadedMethod _ = objectFactoryInvalidate
 
 
diff --git a/GI/Atk/Objects/ObjectFactory.hs-boot b/GI/Atk/Objects/ObjectFactory.hs-boot
--- a/GI/Atk/Objects/ObjectFactory.hs-boot
+++ b/GI/Atk/Objects/ObjectFactory.hs-boot
@@ -11,3 +11,6 @@
 instance GObject ObjectFactory where
 class GObject o => ObjectFactoryK o
 instance (GObject o, IsDescendantOf ObjectFactory o) => ObjectFactoryK o
+data ObjectFactoryCreateAccessibleMethodInfo
+data ObjectFactoryGetAccessibleTypeMethodInfo
+data ObjectFactoryInvalidateMethodInfo
diff --git a/GI/Atk/Objects/Plug.hs b/GI/Atk/Objects/Plug.hs
--- a/GI/Atk/Objects/Plug.hs
+++ b/GI/Atk/Objects/Plug.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,6 +18,7 @@
 
  -- * Methods
 -- ** plugGetId
+    PlugGetIdMethodInfo                     ,
     plugGetId                               ,
 
 
@@ -60,17 +62,82 @@
 noPlug :: Maybe Plug
 noPlug = Nothing
 
+type family ResolvePlugMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePlugMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolvePlugMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolvePlugMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolvePlugMethod "contains" o = ComponentContainsMethodInfo
+    ResolvePlugMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolvePlugMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolvePlugMethod "grabFocus" o = ComponentGrabFocusMethodInfo
+    ResolvePlugMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolvePlugMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolvePlugMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolvePlugMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolvePlugMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolvePlugMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolvePlugMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolvePlugMethod "refAccessibleAtPoint" o = ComponentRefAccessibleAtPointMethodInfo
+    ResolvePlugMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolvePlugMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolvePlugMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolvePlugMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolvePlugMethod "removeFocusHandler" o = ComponentRemoveFocusHandlerMethodInfo
+    ResolvePlugMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolvePlugMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolvePlugMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolvePlugMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolvePlugMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolvePlugMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolvePlugMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolvePlugMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolvePlugMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolvePlugMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolvePlugMethod "getAlpha" o = ComponentGetAlphaMethodInfo
+    ResolvePlugMethod "getAttributes" o = ObjectGetAttributesMethodInfo
+    ResolvePlugMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolvePlugMethod "getDescription" o = ObjectGetDescriptionMethodInfo
+    ResolvePlugMethod "getExtents" o = ComponentGetExtentsMethodInfo
+    ResolvePlugMethod "getId" o = PlugGetIdMethodInfo
+    ResolvePlugMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolvePlugMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolvePlugMethod "getName" o = ObjectGetNameMethodInfo
+    ResolvePlugMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolvePlugMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolvePlugMethod "getPosition" o = ComponentGetPositionMethodInfo
+    ResolvePlugMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolvePlugMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolvePlugMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolvePlugMethod "getSize" o = ComponentGetSizeMethodInfo
+    ResolvePlugMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolvePlugMethod "setDescription" o = ObjectSetDescriptionMethodInfo
+    ResolvePlugMethod "setExtents" o = ComponentSetExtentsMethodInfo
+    ResolvePlugMethod "setName" o = ObjectSetNameMethodInfo
+    ResolvePlugMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolvePlugMethod "setPosition" o = ComponentSetPositionMethodInfo
+    ResolvePlugMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolvePlugMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolvePlugMethod "setSize" o = ComponentSetSizeMethodInfo
+    ResolvePlugMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolvePlugMethod t Plug, MethodInfo info Plug p) => IsLabelProxy t (Plug -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolvePlugMethod t Plug, MethodInfo info Plug p) => IsLabel t (Plug -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Plug = PlugAttributeList
-type PlugAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type PlugAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Plug = PlugSignalList
-type PlugSignalList = ('[ '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("bounds-changed", ComponentBoundsChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type PlugSignalList = ('[ '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", ComponentBoundsChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 -- method Plug::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "Plug"
 -- throws : False
 -- Skip return : False
@@ -81,7 +148,7 @@
 
 plugNew ::
     (MonadIO m) =>
-    m Plug
+    m Plug                                  -- result
 plugNew  = liftIO $ do
     result <- atk_plug_new
     checkUnexpectedReturnNULL "atk_plug_new" result
@@ -90,9 +157,8 @@
 
 -- method Plug::get_id
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Plug", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Plug", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Plug", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -104,8 +170,8 @@
 
 plugGetId ::
     (MonadIO m, PlugK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 plugGetId _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_plug_get_id _obj'
@@ -114,5 +180,9 @@
     freeMem result
     touchManagedPtr _obj
     return result'
+
+data PlugGetIdMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, PlugK a) => MethodInfo PlugGetIdMethodInfo a signature where
+    overloadedMethod _ = plugGetId
 
 
diff --git a/GI/Atk/Objects/Plug.hs-boot b/GI/Atk/Objects/Plug.hs-boot
--- a/GI/Atk/Objects/Plug.hs-boot
+++ b/GI/Atk/Objects/Plug.hs-boot
@@ -11,3 +11,4 @@
 instance GObject Plug where
 class GObject o => PlugK o
 instance (GObject o, IsDescendantOf Plug o) => PlugK o
+data PlugGetIdMethodInfo
diff --git a/GI/Atk/Objects/Registry.hs b/GI/Atk/Objects/Registry.hs
--- a/GI/Atk/Objects/Registry.hs
+++ b/GI/Atk/Objects/Registry.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,14 +18,17 @@
 
  -- * Methods
 -- ** registryGetFactory
+    RegistryGetFactoryMethodInfo            ,
     registryGetFactory                      ,
 
 
 -- ** registryGetFactoryType
+    RegistryGetFactoryTypeMethodInfo        ,
     registryGetFactoryType                  ,
 
 
 -- ** registrySetFactoryType
+    RegistrySetFactoryTypeMethodInfo        ,
     registrySetFactoryType                  ,
 
 
@@ -64,17 +68,52 @@
 noRegistry :: Maybe Registry
 noRegistry = Nothing
 
+type family ResolveRegistryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRegistryMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRegistryMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRegistryMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRegistryMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRegistryMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRegistryMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRegistryMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRegistryMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRegistryMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRegistryMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRegistryMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRegistryMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRegistryMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRegistryMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRegistryMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRegistryMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRegistryMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRegistryMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRegistryMethod "getFactory" o = RegistryGetFactoryMethodInfo
+    ResolveRegistryMethod "getFactoryType" o = RegistryGetFactoryTypeMethodInfo
+    ResolveRegistryMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRegistryMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRegistryMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRegistryMethod "setFactoryType" o = RegistrySetFactoryTypeMethodInfo
+    ResolveRegistryMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRegistryMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRegistryMethod t Registry, MethodInfo info Registry p) => IsLabelProxy t (Registry -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRegistryMethod t Registry, MethodInfo info Registry p) => IsLabel t (Registry -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Registry = RegistryAttributeList
 type RegistryAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Registry = RegistrySignalList
-type RegistrySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RegistrySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Registry::get_factory
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "ObjectFactory"
 -- throws : False
 -- Skip return : False
@@ -87,9 +126,9 @@
 
 registryGetFactory ::
     (MonadIO m, RegistryK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- type
-    m ObjectFactory
+    a                                       -- _obj
+    -> GType                                -- type_
+    -> m ObjectFactory                      -- result
 registryGetFactory _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = gtypeToCGType type_
@@ -99,11 +138,14 @@
     touchManagedPtr _obj
     return result'
 
+data RegistryGetFactoryMethodInfo
+instance (signature ~ (GType -> m ObjectFactory), MonadIO m, RegistryK a) => MethodInfo RegistryGetFactoryMethodInfo a signature where
+    overloadedMethod _ = registryGetFactory
+
 -- method Registry::get_factory_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TGType
 -- throws : False
 -- Skip return : False
@@ -116,9 +158,9 @@
 
 registryGetFactoryType ::
     (MonadIO m, RegistryK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- type
-    m GType
+    a                                       -- _obj
+    -> GType                                -- type_
+    -> m GType                              -- result
 registryGetFactoryType _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = gtypeToCGType type_
@@ -127,11 +169,14 @@
     touchManagedPtr _obj
     return result'
 
+data RegistryGetFactoryTypeMethodInfo
+instance (signature ~ (GType -> m GType), MonadIO m, RegistryK a) => MethodInfo RegistryGetFactoryTypeMethodInfo a signature where
+    overloadedMethod _ = registryGetFactoryType
+
 -- method Registry::set_factory_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "factory_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factory_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Registry", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "factory_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -145,16 +190,20 @@
 
 registrySetFactoryType ::
     (MonadIO m, RegistryK a) =>
-    a ->                                    -- _obj
-    GType ->                                -- type
-    GType ->                                -- factory_type
-    m ()
-registrySetFactoryType _obj type_ factory_type = liftIO $ do
+    a                                       -- _obj
+    -> GType                                -- type_
+    -> GType                                -- factoryType
+    -> m ()                                 -- result
+registrySetFactoryType _obj type_ factoryType = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = gtypeToCGType type_
-    let factory_type' = gtypeToCGType factory_type
-    atk_registry_set_factory_type _obj' type_' factory_type'
+    let factoryType' = gtypeToCGType factoryType
+    atk_registry_set_factory_type _obj' type_' factoryType'
     touchManagedPtr _obj
     return ()
+
+data RegistrySetFactoryTypeMethodInfo
+instance (signature ~ (GType -> GType -> m ()), MonadIO m, RegistryK a) => MethodInfo RegistrySetFactoryTypeMethodInfo a signature where
+    overloadedMethod _ = registrySetFactoryType
 
 
diff --git a/GI/Atk/Objects/Registry.hs-boot b/GI/Atk/Objects/Registry.hs-boot
--- a/GI/Atk/Objects/Registry.hs-boot
+++ b/GI/Atk/Objects/Registry.hs-boot
@@ -11,3 +11,6 @@
 instance GObject Registry where
 class GObject o => RegistryK o
 instance (GObject o, IsDescendantOf Registry o) => RegistryK o
+data RegistryGetFactoryMethodInfo
+data RegistryGetFactoryTypeMethodInfo
+data RegistrySetFactoryTypeMethodInfo
diff --git a/GI/Atk/Objects/Relation.hs b/GI/Atk/Objects/Relation.hs
--- a/GI/Atk/Objects/Relation.hs
+++ b/GI/Atk/Objects/Relation.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,14 +18,17 @@
 
  -- * Methods
 -- ** relationAddTarget
+    RelationAddTargetMethodInfo             ,
     relationAddTarget                       ,
 
 
 -- ** relationGetRelationType
+    RelationGetRelationTypeMethodInfo       ,
     relationGetRelationType                 ,
 
 
 -- ** relationGetTarget
+    RelationGetTargetMethodInfo             ,
     relationGetTarget                       ,
 
 
@@ -33,6 +37,7 @@
 
 
 -- ** relationRemoveTarget
+    RelationRemoveTargetMethodInfo          ,
     relationRemoveTarget                    ,
 
 
@@ -89,6 +94,43 @@
 noRelation :: Maybe Relation
 noRelation = Nothing
 
+type family ResolveRelationMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRelationMethod "addTarget" o = RelationAddTargetMethodInfo
+    ResolveRelationMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRelationMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRelationMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRelationMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRelationMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRelationMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRelationMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRelationMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRelationMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRelationMethod "removeTarget" o = RelationRemoveTargetMethodInfo
+    ResolveRelationMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRelationMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRelationMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRelationMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRelationMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRelationMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRelationMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRelationMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRelationMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRelationMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRelationMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRelationMethod "getRelationType" o = RelationGetRelationTypeMethodInfo
+    ResolveRelationMethod "getTarget" o = RelationGetTargetMethodInfo
+    ResolveRelationMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRelationMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRelationMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRelationMethod t Relation, MethodInfo info Relation p) => IsLabelProxy t (Relation -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRelationMethod t Relation, MethodInfo info Relation p) => IsLabel t (Relation -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 -- VVV Prop "relation-type"
    -- Type: TInterface "Atk" "RelationType"
    -- Flags: [PropertyReadable,PropertyWritable]
@@ -108,7 +150,7 @@
     type AttrSetTypeConstraint RelationRelationTypePropertyInfo = (~) RelationType
     type AttrBaseTypeConstraint RelationRelationTypePropertyInfo = RelationK
     type AttrGetType RelationRelationTypePropertyInfo = RelationType
-    type AttrLabel RelationRelationTypePropertyInfo = "Relation::relation-type"
+    type AttrLabel RelationRelationTypePropertyInfo = "relation-type"
     attrGet _ = getRelationRelationType
     attrSet _ = setRelationRelationType
     attrConstruct _ = constructRelationRelationType
@@ -132,22 +174,21 @@
     type AttrSetTypeConstraint RelationTargetPropertyInfo = (~) GObject.ValueArray
     type AttrBaseTypeConstraint RelationTargetPropertyInfo = RelationK
     type AttrGetType RelationTargetPropertyInfo = GObject.ValueArray
-    type AttrLabel RelationTargetPropertyInfo = "Relation::target"
+    type AttrLabel RelationTargetPropertyInfo = "target"
     attrGet _ = getRelationTarget
     attrSet _ = setRelationTarget
     attrConstruct _ = constructRelationTarget
 
 type instance AttributeList Relation = RelationAttributeList
-type RelationAttributeList = ('[ '("relation-type", RelationRelationTypePropertyInfo), '("target", RelationTargetPropertyInfo)] :: [(Symbol, *)])
+type RelationAttributeList = ('[ '("relationType", RelationRelationTypePropertyInfo), '("target", RelationTargetPropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Relation = RelationSignalList
-type RelationSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RelationSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Relation::new
 -- method type : Constructor
--- Args : [Arg {argName = "targets", argType = TCArray False (-1) 1 (TInterface "Atk" "Object"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "targets", argType = TCArray False (-1) 1 (TInterface "Atk" "Object"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "targets", argType = TCArray False (-1) 1 (TInterface "Atk" "Object"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_targets", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Relation"
 -- throws : False
 -- Skip return : False
@@ -161,15 +202,15 @@
 
 relationNew ::
     (MonadIO m) =>
-    [Object] ->                             -- targets
-    RelationType ->                         -- relationship
-    m Relation
+    [Object]                                -- targets
+    -> RelationType                         -- relationship
+    -> m Relation                           -- result
 relationNew targets relationship = liftIO $ do
-    let n_targets = fromIntegral $ length targets
+    let nTargets = fromIntegral $ length targets
     let targets' = map unsafeManagedPtrCastPtr targets
     targets'' <- packPtrArray targets'
     let relationship' = (fromIntegral . fromEnum) relationship
-    result <- atk_relation_new targets'' n_targets relationship'
+    result <- atk_relation_new targets'' nTargets relationship'
     checkUnexpectedReturnNULL "atk_relation_new" result
     result' <- (wrapObject Relation) result
     mapM_ touchManagedPtr targets
@@ -178,9 +219,8 @@
 
 -- method Relation::add_target
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -193,9 +233,9 @@
 
 relationAddTarget ::
     (MonadIO m, RelationK a, ObjectK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- target
-    m ()
+    a                                       -- _obj
+    -> b                                    -- target
+    -> m ()                                 -- result
 relationAddTarget _obj target = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let target' = unsafeManagedPtrCastPtr target
@@ -204,11 +244,14 @@
     touchManagedPtr target
     return ()
 
+data RelationAddTargetMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, RelationK a, ObjectK b) => MethodInfo RelationAddTargetMethodInfo a signature where
+    overloadedMethod _ = relationAddTarget
+
 -- method Relation::get_relation_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "RelationType"
 -- throws : False
 -- Skip return : False
@@ -220,8 +263,8 @@
 
 relationGetRelationType ::
     (MonadIO m, RelationK a) =>
-    a ->                                    -- _obj
-    m RelationType
+    a                                       -- _obj
+    -> m RelationType                       -- result
 relationGetRelationType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_relation_get_relation_type _obj'
@@ -229,11 +272,14 @@
     touchManagedPtr _obj
     return result'
 
+data RelationGetRelationTypeMethodInfo
+instance (signature ~ (m RelationType), MonadIO m, RelationK a) => MethodInfo RelationGetRelationTypeMethodInfo a signature where
+    overloadedMethod _ = relationGetRelationType
+
 -- method Relation::get_target
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TPtrArray (TInterface "Atk" "Object")
 -- throws : False
 -- Skip return : False
@@ -245,8 +291,8 @@
 
 relationGetTarget ::
     (MonadIO m, RelationK a) =>
-    a ->                                    -- _obj
-    m [Object]
+    a                                       -- _obj
+    -> m [Object]                           -- result
 relationGetTarget _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_relation_get_target _obj'
@@ -256,11 +302,14 @@
     touchManagedPtr _obj
     return result''
 
+data RelationGetTargetMethodInfo
+instance (signature ~ (m [Object]), MonadIO m, RelationK a) => MethodInfo RelationGetTargetMethodInfo a signature where
+    overloadedMethod _ = relationGetTarget
+
 -- method Relation::remove_target
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -273,9 +322,9 @@
 
 relationRemoveTarget ::
     (MonadIO m, RelationK a, ObjectK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- target
-    m Bool
+    a                                       -- _obj
+    -> b                                    -- target
+    -> m Bool                               -- result
 relationRemoveTarget _obj target = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let target' = unsafeManagedPtrCastPtr target
@@ -284,5 +333,9 @@
     touchManagedPtr _obj
     touchManagedPtr target
     return result'
+
+data RelationRemoveTargetMethodInfo
+instance (signature ~ (b -> m Bool), MonadIO m, RelationK a, ObjectK b) => MethodInfo RelationRemoveTargetMethodInfo a signature where
+    overloadedMethod _ = relationRemoveTarget
 
 
diff --git a/GI/Atk/Objects/Relation.hs-boot b/GI/Atk/Objects/Relation.hs-boot
--- a/GI/Atk/Objects/Relation.hs-boot
+++ b/GI/Atk/Objects/Relation.hs-boot
@@ -13,3 +13,7 @@
 instance (GObject o, IsDescendantOf Relation o) => RelationK o
 data RelationRelationTypePropertyInfo
 data RelationTargetPropertyInfo
+data RelationAddTargetMethodInfo
+data RelationGetRelationTypeMethodInfo
+data RelationGetTargetMethodInfo
+data RelationRemoveTargetMethodInfo
diff --git a/GI/Atk/Objects/RelationSet.hs b/GI/Atk/Objects/RelationSet.hs
--- a/GI/Atk/Objects/RelationSet.hs
+++ b/GI/Atk/Objects/RelationSet.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,30 +18,37 @@
 
  -- * Methods
 -- ** relationSetAdd
+    RelationSetAddMethodInfo                ,
     relationSetAdd                          ,
 
 
 -- ** relationSetAddRelationByType
+    RelationSetAddRelationByTypeMethodInfo  ,
     relationSetAddRelationByType            ,
 
 
 -- ** relationSetContains
+    RelationSetContainsMethodInfo           ,
     relationSetContains                     ,
 
 
 -- ** relationSetContainsTarget
+    RelationSetContainsTargetMethodInfo     ,
     relationSetContainsTarget               ,
 
 
 -- ** relationSetGetNRelations
+    RelationSetGetNRelationsMethodInfo      ,
     relationSetGetNRelations                ,
 
 
 -- ** relationSetGetRelation
+    RelationSetGetRelationMethodInfo        ,
     relationSetGetRelation                  ,
 
 
 -- ** relationSetGetRelationByType
+    RelationSetGetRelationByTypeMethodInfo  ,
     relationSetGetRelationByType            ,
 
 
@@ -49,6 +57,7 @@
 
 
 -- ** relationSetRemove
+    RelationSetRemoveMethodInfo             ,
     relationSetRemove                       ,
 
 
@@ -88,17 +97,57 @@
 noRelationSet :: Maybe RelationSet
 noRelationSet = Nothing
 
+type family ResolveRelationSetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRelationSetMethod "add" o = RelationSetAddMethodInfo
+    ResolveRelationSetMethod "addRelationByType" o = RelationSetAddRelationByTypeMethodInfo
+    ResolveRelationSetMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRelationSetMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRelationSetMethod "contains" o = RelationSetContainsMethodInfo
+    ResolveRelationSetMethod "containsTarget" o = RelationSetContainsTargetMethodInfo
+    ResolveRelationSetMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRelationSetMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRelationSetMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRelationSetMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRelationSetMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRelationSetMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRelationSetMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRelationSetMethod "remove" o = RelationSetRemoveMethodInfo
+    ResolveRelationSetMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRelationSetMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRelationSetMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRelationSetMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRelationSetMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRelationSetMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRelationSetMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRelationSetMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRelationSetMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRelationSetMethod "getNRelations" o = RelationSetGetNRelationsMethodInfo
+    ResolveRelationSetMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRelationSetMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRelationSetMethod "getRelation" o = RelationSetGetRelationMethodInfo
+    ResolveRelationSetMethod "getRelationByType" o = RelationSetGetRelationByTypeMethodInfo
+    ResolveRelationSetMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRelationSetMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRelationSetMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRelationSetMethod t RelationSet, MethodInfo info RelationSet p) => IsLabelProxy t (RelationSet -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRelationSetMethod t RelationSet, MethodInfo info RelationSet p) => IsLabel t (RelationSet -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList RelationSet = RelationSetAttributeList
 type RelationSetAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList RelationSet = RelationSetSignalList
-type RelationSetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RelationSetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method RelationSet::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "RelationSet"
 -- throws : False
 -- Skip return : False
@@ -109,7 +158,7 @@
 
 relationSetNew ::
     (MonadIO m) =>
-    m RelationSet
+    m RelationSet                           -- result
 relationSetNew  = liftIO $ do
     result <- atk_relation_set_new
     checkUnexpectedReturnNULL "atk_relation_set_new" result
@@ -118,9 +167,8 @@
 
 -- method RelationSet::add
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relation", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relation", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relation", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -133,9 +181,9 @@
 
 relationSetAdd ::
     (MonadIO m, RelationSetK a, RelationK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- relation
-    m ()
+    a                                       -- _obj
+    -> b                                    -- relation
+    -> m ()                                 -- result
 relationSetAdd _obj relation = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relation' = unsafeManagedPtrCastPtr relation
@@ -144,11 +192,14 @@
     touchManagedPtr relation
     return ()
 
+data RelationSetAddMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, RelationSetK a, RelationK b) => MethodInfo RelationSetAddMethodInfo a signature where
+    overloadedMethod _ = relationSetAdd
+
 -- method RelationSet::add_relation_by_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -162,10 +213,10 @@
 
 relationSetAddRelationByType ::
     (MonadIO m, RelationSetK a, ObjectK b) =>
-    a ->                                    -- _obj
-    RelationType ->                         -- relationship
-    b ->                                    -- target
-    m ()
+    a                                       -- _obj
+    -> RelationType                         -- relationship
+    -> b                                    -- target
+    -> m ()                                 -- result
 relationSetAddRelationByType _obj relationship target = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relationship' = (fromIntegral . fromEnum) relationship
@@ -175,11 +226,14 @@
     touchManagedPtr target
     return ()
 
+data RelationSetAddRelationByTypeMethodInfo
+instance (signature ~ (RelationType -> b -> m ()), MonadIO m, RelationSetK a, ObjectK b) => MethodInfo RelationSetAddRelationByTypeMethodInfo a signature where
+    overloadedMethod _ = relationSetAddRelationByType
+
 -- method RelationSet::contains
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -192,9 +246,9 @@
 
 relationSetContains ::
     (MonadIO m, RelationSetK a) =>
-    a ->                                    -- _obj
-    RelationType ->                         -- relationship
-    m Bool
+    a                                       -- _obj
+    -> RelationType                         -- relationship
+    -> m Bool                               -- result
 relationSetContains _obj relationship = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relationship' = (fromIntegral . fromEnum) relationship
@@ -203,11 +257,14 @@
     touchManagedPtr _obj
     return result'
 
+data RelationSetContainsMethodInfo
+instance (signature ~ (RelationType -> m Bool), MonadIO m, RelationSetK a) => MethodInfo RelationSetContainsMethodInfo a signature where
+    overloadedMethod _ = relationSetContains
+
 -- method RelationSet::contains_target
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "target", argType = TInterface "Atk" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -221,10 +278,10 @@
 
 relationSetContainsTarget ::
     (MonadIO m, RelationSetK a, ObjectK b) =>
-    a ->                                    -- _obj
-    RelationType ->                         -- relationship
-    b ->                                    -- target
-    m Bool
+    a                                       -- _obj
+    -> RelationType                         -- relationship
+    -> b                                    -- target
+    -> m Bool                               -- result
 relationSetContainsTarget _obj relationship target = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relationship' = (fromIntegral . fromEnum) relationship
@@ -235,11 +292,14 @@
     touchManagedPtr target
     return result'
 
+data RelationSetContainsTargetMethodInfo
+instance (signature ~ (RelationType -> b -> m Bool), MonadIO m, RelationSetK a, ObjectK b) => MethodInfo RelationSetContainsTargetMethodInfo a signature where
+    overloadedMethod _ = relationSetContainsTarget
+
 -- method RelationSet::get_n_relations
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -251,19 +311,22 @@
 
 relationSetGetNRelations ::
     (MonadIO m, RelationSetK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 relationSetGetNRelations _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_relation_set_get_n_relations _obj'
     touchManagedPtr _obj
     return result
 
+data RelationSetGetNRelationsMethodInfo
+instance (signature ~ (m Int32), MonadIO m, RelationSetK a) => MethodInfo RelationSetGetNRelationsMethodInfo a signature where
+    overloadedMethod _ = relationSetGetNRelations
+
 -- method RelationSet::get_relation
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Relation"
 -- throws : False
 -- Skip return : False
@@ -276,9 +339,9 @@
 
 relationSetGetRelation ::
     (MonadIO m, RelationSetK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- i
-    m Relation
+    a                                       -- _obj
+    -> Int32                                -- i
+    -> m Relation                           -- result
 relationSetGetRelation _obj i = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_relation_set_get_relation _obj' i
@@ -287,11 +350,14 @@
     touchManagedPtr _obj
     return result'
 
+data RelationSetGetRelationMethodInfo
+instance (signature ~ (Int32 -> m Relation), MonadIO m, RelationSetK a) => MethodInfo RelationSetGetRelationMethodInfo a signature where
+    overloadedMethod _ = relationSetGetRelation
+
 -- method RelationSet::get_relation_by_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relationship", argType = TInterface "Atk" "RelationType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Relation"
 -- throws : False
 -- Skip return : False
@@ -304,9 +370,9 @@
 
 relationSetGetRelationByType ::
     (MonadIO m, RelationSetK a) =>
-    a ->                                    -- _obj
-    RelationType ->                         -- relationship
-    m Relation
+    a                                       -- _obj
+    -> RelationType                         -- relationship
+    -> m Relation                           -- result
 relationSetGetRelationByType _obj relationship = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relationship' = (fromIntegral . fromEnum) relationship
@@ -316,11 +382,14 @@
     touchManagedPtr _obj
     return result'
 
+data RelationSetGetRelationByTypeMethodInfo
+instance (signature ~ (RelationType -> m Relation), MonadIO m, RelationSetK a) => MethodInfo RelationSetGetRelationByTypeMethodInfo a signature where
+    overloadedMethod _ = relationSetGetRelationByType
+
 -- method RelationSet::remove
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relation", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relation", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "RelationSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "relation", argType = TInterface "Atk" "Relation", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -333,9 +402,9 @@
 
 relationSetRemove ::
     (MonadIO m, RelationSetK a, RelationK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- relation
-    m ()
+    a                                       -- _obj
+    -> b                                    -- relation
+    -> m ()                                 -- result
 relationSetRemove _obj relation = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let relation' = unsafeManagedPtrCastPtr relation
@@ -343,5 +412,9 @@
     touchManagedPtr _obj
     touchManagedPtr relation
     return ()
+
+data RelationSetRemoveMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, RelationSetK a, RelationK b) => MethodInfo RelationSetRemoveMethodInfo a signature where
+    overloadedMethod _ = relationSetRemove
 
 
diff --git a/GI/Atk/Objects/RelationSet.hs-boot b/GI/Atk/Objects/RelationSet.hs-boot
--- a/GI/Atk/Objects/RelationSet.hs-boot
+++ b/GI/Atk/Objects/RelationSet.hs-boot
@@ -11,3 +11,11 @@
 instance GObject RelationSet where
 class GObject o => RelationSetK o
 instance (GObject o, IsDescendantOf RelationSet o) => RelationSetK o
+data RelationSetAddMethodInfo
+data RelationSetAddRelationByTypeMethodInfo
+data RelationSetContainsMethodInfo
+data RelationSetContainsTargetMethodInfo
+data RelationSetGetNRelationsMethodInfo
+data RelationSetGetRelationMethodInfo
+data RelationSetGetRelationByTypeMethodInfo
+data RelationSetRemoveMethodInfo
diff --git a/GI/Atk/Objects/Socket.hs b/GI/Atk/Objects/Socket.hs
--- a/GI/Atk/Objects/Socket.hs
+++ b/GI/Atk/Objects/Socket.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,10 +18,12 @@
 
  -- * Methods
 -- ** socketEmbed
+    SocketEmbedMethodInfo                   ,
     socketEmbed                             ,
 
 
 -- ** socketIsOccupied
+    SocketIsOccupiedMethodInfo              ,
     socketIsOccupied                        ,
 
 
@@ -64,17 +67,83 @@
 noSocket :: Maybe Socket
 noSocket = Nothing
 
+type family ResolveSocketMethod (t :: Symbol) (o :: *) :: * where
+    ResolveSocketMethod "addRelationship" o = ObjectAddRelationshipMethodInfo
+    ResolveSocketMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveSocketMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveSocketMethod "contains" o = ComponentContainsMethodInfo
+    ResolveSocketMethod "embed" o = SocketEmbedMethodInfo
+    ResolveSocketMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveSocketMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveSocketMethod "grabFocus" o = ComponentGrabFocusMethodInfo
+    ResolveSocketMethod "initialize" o = ObjectInitializeMethodInfo
+    ResolveSocketMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveSocketMethod "isOccupied" o = SocketIsOccupiedMethodInfo
+    ResolveSocketMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveSocketMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveSocketMethod "notifyStateChange" o = ObjectNotifyStateChangeMethodInfo
+    ResolveSocketMethod "peekParent" o = ObjectPeekParentMethodInfo
+    ResolveSocketMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveSocketMethod "refAccessibleAtPoint" o = ComponentRefAccessibleAtPointMethodInfo
+    ResolveSocketMethod "refAccessibleChild" o = ObjectRefAccessibleChildMethodInfo
+    ResolveSocketMethod "refRelationSet" o = ObjectRefRelationSetMethodInfo
+    ResolveSocketMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveSocketMethod "refStateSet" o = ObjectRefStateSetMethodInfo
+    ResolveSocketMethod "removeFocusHandler" o = ComponentRemoveFocusHandlerMethodInfo
+    ResolveSocketMethod "removePropertyChangeHandler" o = ObjectRemovePropertyChangeHandlerMethodInfo
+    ResolveSocketMethod "removeRelationship" o = ObjectRemoveRelationshipMethodInfo
+    ResolveSocketMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveSocketMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveSocketMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveSocketMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveSocketMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveSocketMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveSocketMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveSocketMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveSocketMethod "getAlpha" o = ComponentGetAlphaMethodInfo
+    ResolveSocketMethod "getAttributes" o = ObjectGetAttributesMethodInfo
+    ResolveSocketMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveSocketMethod "getDescription" o = ObjectGetDescriptionMethodInfo
+    ResolveSocketMethod "getExtents" o = ComponentGetExtentsMethodInfo
+    ResolveSocketMethod "getIndexInParent" o = ObjectGetIndexInParentMethodInfo
+    ResolveSocketMethod "getNAccessibleChildren" o = ObjectGetNAccessibleChildrenMethodInfo
+    ResolveSocketMethod "getName" o = ObjectGetNameMethodInfo
+    ResolveSocketMethod "getObjectLocale" o = ObjectGetObjectLocaleMethodInfo
+    ResolveSocketMethod "getParent" o = ObjectGetParentMethodInfo
+    ResolveSocketMethod "getPosition" o = ComponentGetPositionMethodInfo
+    ResolveSocketMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveSocketMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveSocketMethod "getRole" o = ObjectGetRoleMethodInfo
+    ResolveSocketMethod "getSize" o = ComponentGetSizeMethodInfo
+    ResolveSocketMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveSocketMethod "setDescription" o = ObjectSetDescriptionMethodInfo
+    ResolveSocketMethod "setExtents" o = ComponentSetExtentsMethodInfo
+    ResolveSocketMethod "setName" o = ObjectSetNameMethodInfo
+    ResolveSocketMethod "setParent" o = ObjectSetParentMethodInfo
+    ResolveSocketMethod "setPosition" o = ComponentSetPositionMethodInfo
+    ResolveSocketMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveSocketMethod "setRole" o = ObjectSetRoleMethodInfo
+    ResolveSocketMethod "setSize" o = ComponentSetSizeMethodInfo
+    ResolveSocketMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveSocketMethod t Socket, MethodInfo info Socket p) => IsLabelProxy t (Socket -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveSocketMethod t Socket, MethodInfo info Socket p) => IsLabel t (Socket -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Socket = SocketAttributeList
-type SocketAttributeList = ('[ '("accessible-component-layer", ObjectAccessibleComponentLayerPropertyInfo), '("accessible-component-mdi-zorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessible-description", ObjectAccessibleDescriptionPropertyInfo), '("accessible-hypertext-nlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessible-name", ObjectAccessibleNamePropertyInfo), '("accessible-parent", ObjectAccessibleParentPropertyInfo), '("accessible-role", ObjectAccessibleRolePropertyInfo), '("accessible-table-caption", ObjectAccessibleTableCaptionPropertyInfo), '("accessible-table-caption-object", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessible-table-column-description", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessible-table-column-header", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessible-table-row-description", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessible-table-row-header", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessible-table-summary", ObjectAccessibleTableSummaryPropertyInfo), '("accessible-value", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
+type SocketAttributeList = ('[ '("accessibleComponentLayer", ObjectAccessibleComponentLayerPropertyInfo), '("accessibleComponentMdiZorder", ObjectAccessibleComponentMdiZorderPropertyInfo), '("accessibleDescription", ObjectAccessibleDescriptionPropertyInfo), '("accessibleHypertextNlinks", ObjectAccessibleHypertextNlinksPropertyInfo), '("accessibleName", ObjectAccessibleNamePropertyInfo), '("accessibleParent", ObjectAccessibleParentPropertyInfo), '("accessibleRole", ObjectAccessibleRolePropertyInfo), '("accessibleTableCaption", ObjectAccessibleTableCaptionPropertyInfo), '("accessibleTableCaptionObject", ObjectAccessibleTableCaptionObjectPropertyInfo), '("accessibleTableColumnDescription", ObjectAccessibleTableColumnDescriptionPropertyInfo), '("accessibleTableColumnHeader", ObjectAccessibleTableColumnHeaderPropertyInfo), '("accessibleTableRowDescription", ObjectAccessibleTableRowDescriptionPropertyInfo), '("accessibleTableRowHeader", ObjectAccessibleTableRowHeaderPropertyInfo), '("accessibleTableSummary", ObjectAccessibleTableSummaryPropertyInfo), '("accessibleValue", ObjectAccessibleValuePropertyInfo)] :: [(Symbol, *)])
 
 type instance SignalList Socket = SocketSignalList
-type SocketSignalList = ('[ '("active-descendant-changed", ObjectActiveDescendantChangedSignalInfo), '("bounds-changed", ComponentBoundsChangedSignalInfo), '("children-changed", ObjectChildrenChangedSignalInfo), '("focus-event", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("property-change", ObjectPropertyChangeSignalInfo), '("state-change", ObjectStateChangeSignalInfo), '("visible-data-changed", ObjectVisibleDataChangedSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type SocketSignalList = ('[ '("activeDescendantChanged", ObjectActiveDescendantChangedSignalInfo), '("boundsChanged", ComponentBoundsChangedSignalInfo), '("childrenChanged", ObjectChildrenChangedSignalInfo), '("focusEvent", ObjectFocusEventSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("propertyChange", ObjectPropertyChangeSignalInfo), '("stateChange", ObjectStateChangeSignalInfo), '("visibleDataChanged", ObjectVisibleDataChangedSignalInfo)] :: [(Symbol, *)])
 
 -- method Socket::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "Socket"
 -- throws : False
 -- Skip return : False
@@ -85,7 +154,7 @@
 
 socketNew ::
     (MonadIO m) =>
-    m Socket
+    m Socket                                -- result
 socketNew  = liftIO $ do
     result <- atk_socket_new
     checkUnexpectedReturnNULL "atk_socket_new" result
@@ -94,9 +163,8 @@
 
 -- method Socket::embed
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "plug_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plug_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "plug_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -109,22 +177,25 @@
 
 socketEmbed ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- plug_id
-    m ()
-socketEmbed _obj plug_id = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- plugId
+    -> m ()                                 -- result
+socketEmbed _obj plugId = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    plug_id' <- textToCString plug_id
-    atk_socket_embed _obj' plug_id'
+    plugId' <- textToCString plugId
+    atk_socket_embed _obj' plugId'
     touchManagedPtr _obj
-    freeMem plug_id'
+    freeMem plugId'
     return ()
 
+data SocketEmbedMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m, SocketK a) => MethodInfo SocketEmbedMethodInfo a signature where
+    overloadedMethod _ = socketEmbed
+
 -- method Socket::is_occupied
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -136,13 +207,17 @@
 
 socketIsOccupied ::
     (MonadIO m, SocketK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 socketIsOccupied _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_socket_is_occupied _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data SocketIsOccupiedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, SocketK a) => MethodInfo SocketIsOccupiedMethodInfo a signature where
+    overloadedMethod _ = socketIsOccupied
 
 
diff --git a/GI/Atk/Objects/Socket.hs-boot b/GI/Atk/Objects/Socket.hs-boot
--- a/GI/Atk/Objects/Socket.hs-boot
+++ b/GI/Atk/Objects/Socket.hs-boot
@@ -11,3 +11,5 @@
 instance GObject Socket where
 class GObject o => SocketK o
 instance (GObject o, IsDescendantOf Socket o) => SocketK o
+data SocketEmbedMethodInfo
+data SocketIsOccupiedMethodInfo
diff --git a/GI/Atk/Objects/StateSet.hs b/GI/Atk/Objects/StateSet.hs
--- a/GI/Atk/Objects/StateSet.hs
+++ b/GI/Atk/Objects/StateSet.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,30 +18,37 @@
 
  -- * Methods
 -- ** stateSetAddState
+    StateSetAddStateMethodInfo              ,
     stateSetAddState                        ,
 
 
 -- ** stateSetAddStates
+    StateSetAddStatesMethodInfo             ,
     stateSetAddStates                       ,
 
 
 -- ** stateSetAndSets
+    StateSetAndSetsMethodInfo               ,
     stateSetAndSets                         ,
 
 
 -- ** stateSetClearStates
+    StateSetClearStatesMethodInfo           ,
     stateSetClearStates                     ,
 
 
 -- ** stateSetContainsState
+    StateSetContainsStateMethodInfo         ,
     stateSetContainsState                   ,
 
 
 -- ** stateSetContainsStates
+    StateSetContainsStatesMethodInfo        ,
     stateSetContainsStates                  ,
 
 
 -- ** stateSetIsEmpty
+    StateSetIsEmptyMethodInfo               ,
     stateSetIsEmpty                         ,
 
 
@@ -49,14 +57,17 @@
 
 
 -- ** stateSetOrSets
+    StateSetOrSetsMethodInfo                ,
     stateSetOrSets                          ,
 
 
 -- ** stateSetRemoveState
+    StateSetRemoveStateMethodInfo           ,
     stateSetRemoveState                     ,
 
 
 -- ** stateSetXorSets
+    StateSetXorSetsMethodInfo               ,
     stateSetXorSets                         ,
 
 
@@ -96,17 +107,59 @@
 noStateSet :: Maybe StateSet
 noStateSet = Nothing
 
+type family ResolveStateSetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveStateSetMethod "addState" o = StateSetAddStateMethodInfo
+    ResolveStateSetMethod "addStates" o = StateSetAddStatesMethodInfo
+    ResolveStateSetMethod "andSets" o = StateSetAndSetsMethodInfo
+    ResolveStateSetMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveStateSetMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveStateSetMethod "clearStates" o = StateSetClearStatesMethodInfo
+    ResolveStateSetMethod "containsState" o = StateSetContainsStateMethodInfo
+    ResolveStateSetMethod "containsStates" o = StateSetContainsStatesMethodInfo
+    ResolveStateSetMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveStateSetMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveStateSetMethod "isEmpty" o = StateSetIsEmptyMethodInfo
+    ResolveStateSetMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveStateSetMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveStateSetMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveStateSetMethod "orSets" o = StateSetOrSetsMethodInfo
+    ResolveStateSetMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveStateSetMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveStateSetMethod "removeState" o = StateSetRemoveStateMethodInfo
+    ResolveStateSetMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveStateSetMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveStateSetMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveStateSetMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveStateSetMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveStateSetMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveStateSetMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveStateSetMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveStateSetMethod "xorSets" o = StateSetXorSetsMethodInfo
+    ResolveStateSetMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveStateSetMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveStateSetMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveStateSetMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveStateSetMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveStateSetMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveStateSetMethod t StateSet, MethodInfo info StateSet p) => IsLabelProxy t (StateSet -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveStateSetMethod t StateSet, MethodInfo info StateSet p) => IsLabel t (StateSet -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList StateSet = StateSetAttributeList
 type StateSetAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList StateSet = StateSetSignalList
-type StateSetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type StateSetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method StateSet::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Atk" "StateSet"
 -- throws : False
 -- Skip return : False
@@ -117,7 +170,7 @@
 
 stateSetNew ::
     (MonadIO m) =>
-    m StateSet
+    m StateSet                              -- result
 stateSetNew  = liftIO $ do
     result <- atk_state_set_new
     checkUnexpectedReturnNULL "atk_state_set_new" result
@@ -126,9 +179,8 @@
 
 -- method StateSet::add_state
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -141,9 +193,9 @@
 
 stateSetAddState ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    StateType ->                            -- type
-    m Bool
+    a                                       -- _obj
+    -> StateType                            -- type_
+    -> m Bool                               -- result
 stateSetAddState _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = (fromIntegral . fromEnum) type_
@@ -152,11 +204,14 @@
     touchManagedPtr _obj
     return result'
 
+data StateSetAddStateMethodInfo
+instance (signature ~ (StateType -> m Bool), MonadIO m, StateSetK a) => MethodInfo StateSetAddStateMethodInfo a signature where
+    overloadedMethod _ = stateSetAddState
+
 -- method StateSet::add_states
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 2 (TInterface "Atk" "StateType"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 2 (TInterface "Atk" "StateType"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 2 (TInterface "Atk" "StateType"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -170,24 +225,27 @@
 
 stateSetAddStates ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    [StateType] ->                          -- types
-    m ()
+    a                                       -- _obj
+    -> [StateType]                          -- types
+    -> m ()                                 -- result
 stateSetAddStates _obj types = liftIO $ do
-    let n_types = fromIntegral $ length types
+    let nTypes = fromIntegral $ length types
     let _obj' = unsafeManagedPtrCastPtr _obj
     let types' = map (fromIntegral . fromEnum) types
     types'' <- packStorableArray types'
-    atk_state_set_add_states _obj' types'' n_types
+    atk_state_set_add_states _obj' types'' nTypes
     touchManagedPtr _obj
     freeMem types''
     return ()
 
+data StateSetAddStatesMethodInfo
+instance (signature ~ ([StateType] -> m ()), MonadIO m, StateSetK a) => MethodInfo StateSetAddStatesMethodInfo a signature where
+    overloadedMethod _ = stateSetAddStates
+
 -- method StateSet::and_sets
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "StateSet"
 -- throws : False
 -- Skip return : False
@@ -200,24 +258,27 @@
 
 stateSetAndSets ::
     (MonadIO m, StateSetK a, StateSetK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- compare_set
-    m StateSet
-stateSetAndSets _obj compare_set = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- compareSet
+    -> m StateSet                           -- result
+stateSetAndSets _obj compareSet = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let compare_set' = unsafeManagedPtrCastPtr compare_set
-    result <- atk_state_set_and_sets _obj' compare_set'
+    let compareSet' = unsafeManagedPtrCastPtr compareSet
+    result <- atk_state_set_and_sets _obj' compareSet'
     checkUnexpectedReturnNULL "atk_state_set_and_sets" result
     result' <- (wrapObject StateSet) result
     touchManagedPtr _obj
-    touchManagedPtr compare_set
+    touchManagedPtr compareSet
     return result'
 
+data StateSetAndSetsMethodInfo
+instance (signature ~ (b -> m StateSet), MonadIO m, StateSetK a, StateSetK b) => MethodInfo StateSetAndSetsMethodInfo a signature where
+    overloadedMethod _ = stateSetAndSets
+
 -- method StateSet::clear_states
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -229,19 +290,22 @@
 
 stateSetClearStates ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 stateSetClearStates _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     atk_state_set_clear_states _obj'
     touchManagedPtr _obj
     return ()
 
+data StateSetClearStatesMethodInfo
+instance (signature ~ (m ()), MonadIO m, StateSetK a) => MethodInfo StateSetClearStatesMethodInfo a signature where
+    overloadedMethod _ = stateSetClearStates
+
 -- method StateSet::contains_state
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -254,9 +318,9 @@
 
 stateSetContainsState ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    StateType ->                            -- type
-    m Bool
+    a                                       -- _obj
+    -> StateType                            -- type_
+    -> m Bool                               -- result
 stateSetContainsState _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = (fromIntegral . fromEnum) type_
@@ -265,11 +329,14 @@
     touchManagedPtr _obj
     return result'
 
+data StateSetContainsStateMethodInfo
+instance (signature ~ (StateType -> m Bool), MonadIO m, StateSetK a) => MethodInfo StateSetContainsStateMethodInfo a signature where
+    overloadedMethod _ = stateSetContainsState
+
 -- method StateSet::contains_states
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 2 (TInterface "Atk" "StateType"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "types", argType = TCArray False (-1) 2 (TInterface "Atk" "StateType"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TCArray False (-1) 2 (TInterface "Atk" "StateType"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_types", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -283,25 +350,28 @@
 
 stateSetContainsStates ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    [StateType] ->                          -- types
-    m Bool
+    a                                       -- _obj
+    -> [StateType]                          -- types
+    -> m Bool                               -- result
 stateSetContainsStates _obj types = liftIO $ do
-    let n_types = fromIntegral $ length types
+    let nTypes = fromIntegral $ length types
     let _obj' = unsafeManagedPtrCastPtr _obj
     let types' = map (fromIntegral . fromEnum) types
     types'' <- packStorableArray types'
-    result <- atk_state_set_contains_states _obj' types'' n_types
+    result <- atk_state_set_contains_states _obj' types'' nTypes
     let result' = (/= 0) result
     touchManagedPtr _obj
     freeMem types''
     return result'
 
+data StateSetContainsStatesMethodInfo
+instance (signature ~ ([StateType] -> m Bool), MonadIO m, StateSetK a) => MethodInfo StateSetContainsStatesMethodInfo a signature where
+    overloadedMethod _ = stateSetContainsStates
+
 -- method StateSet::is_empty
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -313,8 +383,8 @@
 
 stateSetIsEmpty ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 stateSetIsEmpty _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- atk_state_set_is_empty _obj'
@@ -322,11 +392,14 @@
     touchManagedPtr _obj
     return result'
 
+data StateSetIsEmptyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, StateSetK a) => MethodInfo StateSetIsEmptyMethodInfo a signature where
+    overloadedMethod _ = stateSetIsEmpty
+
 -- method StateSet::or_sets
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "StateSet"
 -- throws : False
 -- Skip return : False
@@ -339,24 +412,27 @@
 
 stateSetOrSets ::
     (MonadIO m, StateSetK a, StateSetK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- compare_set
-    m StateSet
-stateSetOrSets _obj compare_set = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- compareSet
+    -> m StateSet                           -- result
+stateSetOrSets _obj compareSet = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let compare_set' = unsafeManagedPtrCastPtr compare_set
-    result <- atk_state_set_or_sets _obj' compare_set'
+    let compareSet' = unsafeManagedPtrCastPtr compareSet
+    result <- atk_state_set_or_sets _obj' compareSet'
     checkUnexpectedReturnNULL "atk_state_set_or_sets" result
     result' <- (wrapObject StateSet) result
     touchManagedPtr _obj
-    touchManagedPtr compare_set
+    touchManagedPtr compareSet
     return result'
 
+data StateSetOrSetsMethodInfo
+instance (signature ~ (b -> m StateSet), MonadIO m, StateSetK a, StateSetK b) => MethodInfo StateSetOrSetsMethodInfo a signature where
+    overloadedMethod _ = stateSetOrSets
+
 -- method StateSet::remove_state
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Atk" "StateType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -369,9 +445,9 @@
 
 stateSetRemoveState ::
     (MonadIO m, StateSetK a) =>
-    a ->                                    -- _obj
-    StateType ->                            -- type
-    m Bool
+    a                                       -- _obj
+    -> StateType                            -- type_
+    -> m Bool                               -- result
 stateSetRemoveState _obj type_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let type_' = (fromIntegral . fromEnum) type_
@@ -380,11 +456,14 @@
     touchManagedPtr _obj
     return result'
 
+data StateSetRemoveStateMethodInfo
+instance (signature ~ (StateType -> m Bool), MonadIO m, StateSetK a) => MethodInfo StateSetRemoveStateMethodInfo a signature where
+    overloadedMethod _ = stateSetRemoveState
+
 -- method StateSet::xor_sets
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "compare_set", argType = TInterface "Atk" "StateSet", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "StateSet"
 -- throws : False
 -- Skip return : False
@@ -397,17 +476,21 @@
 
 stateSetXorSets ::
     (MonadIO m, StateSetK a, StateSetK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- compare_set
-    m StateSet
-stateSetXorSets _obj compare_set = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- compareSet
+    -> m StateSet                           -- result
+stateSetXorSets _obj compareSet = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let compare_set' = unsafeManagedPtrCastPtr compare_set
-    result <- atk_state_set_xor_sets _obj' compare_set'
+    let compareSet' = unsafeManagedPtrCastPtr compareSet
+    result <- atk_state_set_xor_sets _obj' compareSet'
     checkUnexpectedReturnNULL "atk_state_set_xor_sets" result
     result' <- (wrapObject StateSet) result
     touchManagedPtr _obj
-    touchManagedPtr compare_set
+    touchManagedPtr compareSet
     return result'
+
+data StateSetXorSetsMethodInfo
+instance (signature ~ (b -> m StateSet), MonadIO m, StateSetK a, StateSetK b) => MethodInfo StateSetXorSetsMethodInfo a signature where
+    overloadedMethod _ = stateSetXorSets
 
 
diff --git a/GI/Atk/Objects/StateSet.hs-boot b/GI/Atk/Objects/StateSet.hs-boot
--- a/GI/Atk/Objects/StateSet.hs-boot
+++ b/GI/Atk/Objects/StateSet.hs-boot
@@ -11,3 +11,13 @@
 instance GObject StateSet where
 class GObject o => StateSetK o
 instance (GObject o, IsDescendantOf StateSet o) => StateSetK o
+data StateSetAddStateMethodInfo
+data StateSetAddStatesMethodInfo
+data StateSetAndSetsMethodInfo
+data StateSetClearStatesMethodInfo
+data StateSetContainsStateMethodInfo
+data StateSetContainsStatesMethodInfo
+data StateSetIsEmptyMethodInfo
+data StateSetOrSetsMethodInfo
+data StateSetRemoveStateMethodInfo
+data StateSetXorSetsMethodInfo
diff --git a/GI/Atk/Objects/Util.hs b/GI/Atk/Objects/Util.hs
--- a/GI/Atk/Objects/Util.hs
+++ b/GI/Atk/Objects/Util.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,43 @@
 noUtil :: Maybe Util
 noUtil = Nothing
 
+type family ResolveUtilMethod (t :: Symbol) (o :: *) :: * where
+    ResolveUtilMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveUtilMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveUtilMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveUtilMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveUtilMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveUtilMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveUtilMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveUtilMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveUtilMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveUtilMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveUtilMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveUtilMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveUtilMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveUtilMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveUtilMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveUtilMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveUtilMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveUtilMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveUtilMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveUtilMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveUtilMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveUtilMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveUtilMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveUtilMethod t Util, MethodInfo info Util p) => IsLabelProxy t (Util -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveUtilMethod t Util, MethodInfo info Util p) => IsLabel t (Util -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Util = UtilAttributeList
 type UtilAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Util = UtilSignalList
-type UtilSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type UtilSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Atk/Structs.hs b/GI/Atk/Structs.hs
--- a/GI/Atk/Structs.hs
+++ b/GI/Atk/Structs.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
diff --git a/GI/Atk/Structs/Attribute.hs b/GI/Atk/Structs/Attribute.hs
--- a/GI/Atk/Structs/Attribute.hs
+++ b/GI/Atk/Structs/Attribute.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -22,9 +23,17 @@
 
 -- * Exported types
     Attribute(..)                           ,
+    newZeroAttribute                        ,
     noAttribute                             ,
 
 
+ -- * Methods
+-- ** attributeSetFree
+    attributeSetFree                        ,
+
+
+
+
  -- * Properties
 -- ** Name
     attributeReadName                       ,
@@ -49,6 +58,10 @@
 import GI.Atk.Callbacks
 
 newtype Attribute = Attribute (ForeignPtr Attribute)
+-- | Construct a `Attribute` struct initialized to zero.
+newZeroAttribute :: MonadIO m => m Attribute
+newZeroAttribute = liftIO $ callocBytes 16 >>= wrapPtr Attribute
+
 noAttribute :: Maybe Attribute
 noAttribute = Nothing
 
@@ -63,5 +76,39 @@
     val <- peek (ptr `plusPtr` 8) :: IO CString
     val' <- cstringToText val
     return val'
+
+-- method Attribute::set_free
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "attrib_set", argType = TGSList (TBasicType TVoid), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TBasicType TVoid
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "atk_attribute_set_free" atk_attribute_set_free :: 
+    Ptr (GSList (Ptr ())) ->                -- attrib_set : TGSList (TBasicType TVoid)
+    IO ()
+
+
+attributeSetFree ::
+    (MonadIO m) =>
+    [Ptr ()]                                -- attribSet
+    -> m ()                                 -- result
+attributeSetFree attribSet = liftIO $ do
+    attribSet' <- packGSList attribSet
+    atk_attribute_set_free attribSet'
+    g_slist_free attribSet'
+    return ()
+
+type family ResolveAttributeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttributeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttributeMethod t Attribute, MethodInfo info Attribute p) => IsLabelProxy t (Attribute -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttributeMethod t Attribute, MethodInfo info Attribute p) => IsLabel t (Attribute -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/Implementor.hs b/GI/Atk/Structs/Implementor.hs
--- a/GI/Atk/Structs/Implementor.hs
+++ b/GI/Atk/Structs/Implementor.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -15,6 +16,7 @@
 
  -- * Methods
 -- ** implementorRefAccessible
+    ImplementorRefAccessibleMethodInfo      ,
     implementorRefAccessible                ,
 
 
@@ -38,9 +40,8 @@
 
 -- method Implementor::ref_accessible
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Implementor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Implementor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Implementor", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Object"
 -- throws : False
 -- Skip return : False
@@ -52,8 +53,8 @@
 
 implementorRefAccessible ::
     (MonadIO m) =>
-    Implementor ->                          -- _obj
-    m Object
+    Implementor                             -- _obj
+    -> m Object                             -- result
 implementorRefAccessible _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- atk_implementor_ref_accessible _obj'
@@ -61,5 +62,21 @@
     result' <- (wrapObject Object) result
     touchManagedPtr _obj
     return result'
+
+data ImplementorRefAccessibleMethodInfo
+instance (signature ~ (m Object), MonadIO m) => MethodInfo ImplementorRefAccessibleMethodInfo Implementor signature where
+    overloadedMethod _ = implementorRefAccessible
+
+type family ResolveImplementorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveImplementorMethod "refAccessible" o = ImplementorRefAccessibleMethodInfo
+    ResolveImplementorMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveImplementorMethod t Implementor, MethodInfo info Implementor p) => IsLabelProxy t (Implementor -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveImplementorMethod t Implementor, MethodInfo info Implementor p) => IsLabel t (Implementor -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/Implementor.hs-boot b/GI/Atk/Structs/Implementor.hs-boot
--- a/GI/Atk/Structs/Implementor.hs-boot
+++ b/GI/Atk/Structs/Implementor.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype Implementor = Implementor (ForeignPtr Implementor)
+data ImplementorRefAccessibleMethodInfo
diff --git a/GI/Atk/Structs/KeyEventStruct.hs b/GI/Atk/Structs/KeyEventStruct.hs
--- a/GI/Atk/Structs/KeyEventStruct.hs
+++ b/GI/Atk/Structs/KeyEventStruct.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -12,6 +13,7 @@
 
 -- * Exported types
     KeyEventStruct(..)                      ,
+    newZeroKeyEventStruct                   ,
     noKeyEventStruct                        ,
 
 
@@ -59,6 +61,10 @@
 import GI.Atk.Callbacks
 
 newtype KeyEventStruct = KeyEventStruct (ForeignPtr KeyEventStruct)
+-- | Construct a `KeyEventStruct` struct initialized to zero.
+newZeroKeyEventStruct :: MonadIO m => m KeyEventStruct
+newZeroKeyEventStruct = liftIO $ callocBytes 32 >>= wrapPtr KeyEventStruct
+
 noKeyEventStruct :: Maybe KeyEventStruct
 noKeyEventStruct = Nothing
 
@@ -97,5 +103,16 @@
 keyEventStructReadTimestamp s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 28) :: IO Word32
     return val
+
+type family ResolveKeyEventStructMethod (t :: Symbol) (o :: *) :: * where
+    ResolveKeyEventStructMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveKeyEventStructMethod t KeyEventStruct, MethodInfo info KeyEventStruct p) => IsLabelProxy t (KeyEventStruct -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveKeyEventStructMethod t KeyEventStruct, MethodInfo info KeyEventStruct p) => IsLabel t (KeyEventStruct -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/PropertyValues.hs b/GI/Atk/Structs/PropertyValues.hs
--- a/GI/Atk/Structs/PropertyValues.hs
+++ b/GI/Atk/Structs/PropertyValues.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -14,6 +15,7 @@
 
 -- * Exported types
     PropertyValues(..)                      ,
+    newZeroPropertyValues                   ,
     noPropertyValues                        ,
 
 
@@ -45,6 +47,10 @@
 import GI.Atk.Callbacks
 
 newtype PropertyValues = PropertyValues (ForeignPtr PropertyValues)
+-- | Construct a `PropertyValues` struct initialized to zero.
+newZeroPropertyValues :: MonadIO m => m PropertyValues
+newZeroPropertyValues = liftIO $ callocBytes 56 >>= wrapPtr PropertyValues
+
 noPropertyValues :: Maybe PropertyValues
 noPropertyValues = Nothing
 
@@ -65,5 +71,16 @@
     val <- peek (ptr `plusPtr` 32) :: IO (Ptr GValue)
     val' <- (newBoxed GValue) val
     return val'
+
+type family ResolvePropertyValuesMethod (t :: Symbol) (o :: *) :: * where
+    ResolvePropertyValuesMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolvePropertyValuesMethod t PropertyValues, MethodInfo info PropertyValues p) => IsLabelProxy t (PropertyValues -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolvePropertyValuesMethod t PropertyValues, MethodInfo info PropertyValues p) => IsLabel t (PropertyValues -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/Range.hs b/GI/Atk/Structs/Range.hs
--- a/GI/Atk/Structs/Range.hs
+++ b/GI/Atk/Structs/Range.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -21,22 +22,27 @@
 
  -- * Methods
 -- ** rangeCopy
+    RangeCopyMethodInfo                     ,
     rangeCopy                               ,
 
 
 -- ** rangeFree
+    RangeFreeMethodInfo                     ,
     rangeFree                               ,
 
 
 -- ** rangeGetDescription
+    RangeGetDescriptionMethodInfo           ,
     rangeGetDescription                     ,
 
 
 -- ** rangeGetLowerLimit
+    RangeGetLowerLimitMethodInfo            ,
     rangeGetLowerLimit                      ,
 
 
 -- ** rangeGetUpperLimit
+    RangeGetUpperLimitMethodInfo            ,
     rangeGetUpperLimit                      ,
 
 
@@ -70,9 +76,8 @@
 
 -- method Range::new
 -- method type : Constructor
--- Args : [Arg {argName = "lower_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "upper_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "lower_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upper_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "lower_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "upper_limit", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Range"
 -- throws : False
 -- Skip return : False
@@ -86,15 +91,15 @@
 
 rangeNew ::
     (MonadIO m) =>
-    Double ->                               -- lower_limit
-    Double ->                               -- upper_limit
-    T.Text ->                               -- description
-    m Range
-rangeNew lower_limit upper_limit description = liftIO $ do
-    let lower_limit' = realToFrac lower_limit
-    let upper_limit' = realToFrac upper_limit
+    Double                                  -- lowerLimit
+    -> Double                               -- upperLimit
+    -> T.Text                               -- description
+    -> m Range                              -- result
+rangeNew lowerLimit upperLimit description = liftIO $ do
+    let lowerLimit' = realToFrac lowerLimit
+    let upperLimit' = realToFrac upperLimit
     description' <- textToCString description
-    result <- atk_range_new lower_limit' upper_limit' description'
+    result <- atk_range_new lowerLimit' upperLimit' description'
     checkUnexpectedReturnNULL "atk_range_new" result
     result' <- (wrapBoxed Range) result
     freeMem description'
@@ -102,9 +107,8 @@
 
 -- method Range::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Atk" "Range"
 -- throws : False
 -- Skip return : False
@@ -116,8 +120,8 @@
 
 rangeCopy ::
     (MonadIO m) =>
-    Range ->                                -- _obj
-    m Range
+    Range                                   -- _obj
+    -> m Range                              -- result
 rangeCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- atk_range_copy _obj'
@@ -126,11 +130,14 @@
     touchManagedPtr _obj
     return result'
 
+data RangeCopyMethodInfo
+instance (signature ~ (m Range), MonadIO m) => MethodInfo RangeCopyMethodInfo Range signature where
+    overloadedMethod _ = rangeCopy
+
 -- method Range::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -142,19 +149,22 @@
 
 rangeFree ::
     (MonadIO m) =>
-    Range ->                                -- _obj
-    m ()
+    Range                                   -- _obj
+    -> m ()                                 -- result
 rangeFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     atk_range_free _obj'
     touchManagedPtr _obj
     return ()
 
+data RangeFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo RangeFreeMethodInfo Range signature where
+    overloadedMethod _ = rangeFree
+
 -- method Range::get_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -166,8 +176,8 @@
 
 rangeGetDescription ::
     (MonadIO m) =>
-    Range ->                                -- _obj
-    m T.Text
+    Range                                   -- _obj
+    -> m T.Text                             -- result
 rangeGetDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- atk_range_get_description _obj'
@@ -176,11 +186,14 @@
     touchManagedPtr _obj
     return result'
 
+data RangeGetDescriptionMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo RangeGetDescriptionMethodInfo Range signature where
+    overloadedMethod _ = rangeGetDescription
+
 -- method Range::get_lower_limit
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TDouble
 -- throws : False
 -- Skip return : False
@@ -192,8 +205,8 @@
 
 rangeGetLowerLimit ::
     (MonadIO m) =>
-    Range ->                                -- _obj
-    m Double
+    Range                                   -- _obj
+    -> m Double                             -- result
 rangeGetLowerLimit _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- atk_range_get_lower_limit _obj'
@@ -201,11 +214,14 @@
     touchManagedPtr _obj
     return result'
 
+data RangeGetLowerLimitMethodInfo
+instance (signature ~ (m Double), MonadIO m) => MethodInfo RangeGetLowerLimitMethodInfo Range signature where
+    overloadedMethod _ = rangeGetLowerLimit
+
 -- method Range::get_upper_limit
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Atk" "Range", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TDouble
 -- throws : False
 -- Skip return : False
@@ -217,13 +233,33 @@
 
 rangeGetUpperLimit ::
     (MonadIO m) =>
-    Range ->                                -- _obj
-    m Double
+    Range                                   -- _obj
+    -> m Double                             -- result
 rangeGetUpperLimit _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- atk_range_get_upper_limit _obj'
     let result' = realToFrac result
     touchManagedPtr _obj
     return result'
+
+data RangeGetUpperLimitMethodInfo
+instance (signature ~ (m Double), MonadIO m) => MethodInfo RangeGetUpperLimitMethodInfo Range signature where
+    overloadedMethod _ = rangeGetUpperLimit
+
+type family ResolveRangeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRangeMethod "copy" o = RangeCopyMethodInfo
+    ResolveRangeMethod "free" o = RangeFreeMethodInfo
+    ResolveRangeMethod "getDescription" o = RangeGetDescriptionMethodInfo
+    ResolveRangeMethod "getLowerLimit" o = RangeGetLowerLimitMethodInfo
+    ResolveRangeMethod "getUpperLimit" o = RangeGetUpperLimitMethodInfo
+    ResolveRangeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRangeMethod t Range, MethodInfo info Range p) => IsLabelProxy t (Range -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRangeMethod t Range, MethodInfo info Range p) => IsLabel t (Range -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/Range.hs-boot b/GI/Atk/Structs/Range.hs-boot
--- a/GI/Atk/Structs/Range.hs-boot
+++ b/GI/Atk/Structs/Range.hs-boot
@@ -9,3 +9,8 @@
 
 newtype Range = Range (ForeignPtr Range)
 instance BoxedObject Range where
+data RangeCopyMethodInfo
+data RangeFreeMethodInfo
+data RangeGetDescriptionMethodInfo
+data RangeGetLowerLimitMethodInfo
+data RangeGetUpperLimitMethodInfo
diff --git a/GI/Atk/Structs/Rectangle.hs b/GI/Atk/Structs/Rectangle.hs
--- a/GI/Atk/Structs/Rectangle.hs
+++ b/GI/Atk/Structs/Rectangle.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -13,6 +14,7 @@
 
 -- * Exported types
     Rectangle(..)                           ,
+    newZeroRectangle                        ,
     noRectangle                             ,
 
 
@@ -54,6 +56,10 @@
 instance BoxedObject Rectangle where
     boxedType _ = c_atk_rectangle_get_type
 
+-- | Construct a `Rectangle` struct initialized to zero.
+newZeroRectangle :: MonadIO m => m Rectangle
+newZeroRectangle = liftIO $ callocBoxedBytes 16 >>= wrapBoxed Rectangle
+
 noRectangle :: Maybe Rectangle
 noRectangle = Nothing
 
@@ -76,5 +82,16 @@
 rectangleReadHeight s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 12) :: IO Int32
     return val
+
+type family ResolveRectangleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRectangleMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRectangleMethod t Rectangle, MethodInfo info Rectangle p) => IsLabelProxy t (Rectangle -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRectangleMethod t Rectangle, MethodInfo info Rectangle p) => IsLabel t (Rectangle -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/TextRange.hs b/GI/Atk/Structs/TextRange.hs
--- a/GI/Atk/Structs/TextRange.hs
+++ b/GI/Atk/Structs/TextRange.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -12,6 +13,7 @@
 
 -- * Exported types
     TextRange(..)                           ,
+    newZeroTextRange                        ,
     noTextRange                             ,
 
 
@@ -53,6 +55,10 @@
 instance BoxedObject TextRange where
     boxedType _ = c_atk_text_range_get_type
 
+-- | Construct a `TextRange` struct initialized to zero.
+newZeroTextRange :: MonadIO m => m TextRange
+newZeroTextRange = liftIO $ callocBoxedBytes 32 >>= wrapBoxed TextRange
+
 noTextRange :: Maybe TextRange
 noTextRange = Nothing
 
@@ -77,5 +83,16 @@
     val <- peek (ptr `plusPtr` 24) :: IO CString
     val' <- cstringToText val
     return val'
+
+type family ResolveTextRangeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextRangeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTextRangeMethod t TextRange, MethodInfo info TextRange p) => IsLabelProxy t (TextRange -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTextRangeMethod t TextRange, MethodInfo info TextRange p) => IsLabel t (TextRange -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Atk/Structs/TextRectangle.hs b/GI/Atk/Structs/TextRectangle.hs
--- a/GI/Atk/Structs/TextRectangle.hs
+++ b/GI/Atk/Structs/TextRectangle.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -12,6 +13,7 @@
 
 -- * Exported types
     TextRectangle(..)                       ,
+    newZeroTextRectangle                    ,
     noTextRectangle                         ,
 
 
@@ -47,6 +49,10 @@
 import GI.Atk.Callbacks
 
 newtype TextRectangle = TextRectangle (ForeignPtr TextRectangle)
+-- | Construct a `TextRectangle` struct initialized to zero.
+newZeroTextRectangle :: MonadIO m => m TextRectangle
+newZeroTextRectangle = liftIO $ callocBytes 16 >>= wrapPtr TextRectangle
+
 noTextRectangle :: Maybe TextRectangle
 noTextRectangle = Nothing
 
@@ -69,5 +75,16 @@
 textRectangleReadHeight s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 12) :: IO Int32
     return val
+
+type family ResolveTextRectangleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTextRectangleMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTextRectangleMethod t TextRectangle, MethodInfo info TextRectangle p) => IsLabelProxy t (TextRectangle -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTextRectangleMethod t TextRectangle, MethodInfo info TextRectangle p) => IsLabel t (TextRectangle -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/gi-atk.cabal b/gi-atk.cabal
--- a/gi-atk.cabal
+++ b/gi-atk.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-atk
-version:            0.2.18.12
+version:            0.2.18.13
 synopsis:           Atk bindings
 description:        Bindings for Atk, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -14,8 +14,8 @@
 
 library
     default-language:   Haskell2010
-    default-extensions: OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
-    other-extensions:   PatternSynonyms ScopedTypeVariables, ViewPatterns
+    default-extensions: ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts
+    other-extensions:   PatternSynonyms ViewPatterns
     ghc-options:        -fno-warn-unused-imports -fno-warn-warnings-deprecations
     exposed-modules:    GI.Atk.Types
                         GI.Atk
@@ -66,9 +66,9 @@
                         GI.Atk.Structs.TextRectangle
     pkgconfig-depends:  atk >= 2.18
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.12 && < 1,
-        gi-glib >= 0.2.46.12 && < 0.2.47,
-        gi-gobject >= 0.2.46.12 && < 0.2.47,
+        haskell-gi-base >= 0.13 && < 1,
+        gi-glib >= 0.2.46.13 && < 0.2.47,
+        gi-gobject >= 0.2.46.13 && < 0.2.47,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
