diff --git a/GI/Pango.hs b/GI/Pango.hs
--- a/GI/Pango.hs
+++ b/GI/Pango.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -15,6 +16,10 @@
     module GI.Pango.Structs                 ,
 
 
+
+    module Data.GI.Base                     ,
+
+
     ) where
 
 import GI.Pango.Callbacks
@@ -35,4 +40,5 @@
 import GI.Pango.Types
 import GI.Pango.Callbacks
 
+import Data.GI.Base
 
diff --git a/GI/Pango/Callbacks.hs b/GI/Pango/Callbacks.hs
--- a/GI/Pango/Callbacks.hs
+++ b/GI/Pango/Callbacks.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -114,9 +115,9 @@
     Ptr EngineInfo ->
     Int32 ->
     IO ()
-includedModuleListFieldCallbackWrapper funptrptr _cb engines n_engines = do
+includedModuleListFieldCallbackWrapper funptrptr _cb engines nEngines = do
     engines' <- (newPtr 40 EngineInfo) engines
-    _cb  engines' n_engines
+    _cb  engines' nEngines
     maybeReleaseFunPtr funptrptr
 
 -- callback IncludedModuleInitFieldCallback
diff --git a/GI/Pango/Constants.hs b/GI/Pango/Constants.hs
--- a/GI/Pango/Constants.hs
+++ b/GI/Pango/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/Pango/Enums.hs b/GI/Pango/Enums.hs
--- a/GI/Pango/Enums.hs
+++ b/GI/Pango/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/Pango/Flags.hs b/GI/Pango/Flags.hs
--- a/GI/Pango/Flags.hs
+++ b/GI/Pango/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/Pango/Functions.hs b/GI/Pango/Functions.hs
--- a/GI/Pango/Functions.hs
+++ b/GI/Pango/Functions.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -9,18 +10,6 @@
     ( 
 
  -- * Methods
--- ** attrTypeGetName
-    attrTypeGetName                         ,
-
-
--- ** attrTypeRegister
-    attrTypeRegister                        ,
-
-
--- ** bidiTypeForUnichar
-    bidiTypeForUnichar                      ,
-
-
 -- ** break
     break                                   ,
 
@@ -49,10 +38,6 @@
     findParagraphBoundary                   ,
 
 
--- ** fontDescriptionFromString
-    fontDescriptionFromString               ,
-
-
 -- ** getLibSubdirectory
     getLibSubdirectory                      ,
 
@@ -69,22 +54,6 @@
     getSysconfSubdirectory                  ,
 
 
--- ** gravityGetForMatrix
-    gravityGetForMatrix                     ,
-
-
--- ** gravityGetForScript
-    gravityGetForScript                     ,
-
-
--- ** gravityGetForScriptAndWidth
-    gravityGetForScriptAndWidth             ,
-
-
--- ** gravityToRotation
-    gravityToRotation                       ,
-
-
 -- ** isZeroWidth
     isZeroWidth                             ,
 
@@ -97,14 +66,6 @@
     itemizeWithBaseDir                      ,
 
 
--- ** languageFromString
-    languageFromString                      ,
-
-
--- ** languageGetDefault
-    languageGetDefault                      ,
-
-
 -- ** log2visGetEmbeddingLevels
     log2visGetEmbeddingLevels               ,
 
@@ -173,14 +134,6 @@
     scanWord                                ,
 
 
--- ** scriptForUnichar
-    scriptForUnichar                        ,
-
-
--- ** scriptGetSampleLanguage
-    scriptGetSampleLanguage                 ,
-
-
 -- ** shape
     shape                                   ,
 
@@ -243,7 +196,6 @@
 -- function pango_version_string
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -254,7 +206,7 @@
 
 versionString ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 versionString  = liftIO $ do
     result <- pango_version_string
     checkUnexpectedReturnNULL "pango_version_string" result
@@ -263,9 +215,8 @@
 
 
 -- function pango_version_check
--- Args : [Arg {argName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "required_major", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_minor", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "required_micro", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -279,12 +230,12 @@
 
 versionCheck ::
     (MonadIO m) =>
-    Int32 ->                                -- required_major
-    Int32 ->                                -- required_minor
-    Int32 ->                                -- required_micro
-    m T.Text
-versionCheck required_major required_minor required_micro = liftIO $ do
-    result <- pango_version_check required_major required_minor required_micro
+    Int32                                   -- requiredMajor
+    -> Int32                                -- requiredMinor
+    -> Int32                                -- requiredMicro
+    -> m T.Text                             -- result
+versionCheck requiredMajor requiredMinor requiredMicro = liftIO $ do
+    result <- pango_version_check requiredMajor requiredMinor requiredMicro
     checkUnexpectedReturnNULL "pango_version_check" result
     result' <- cstringToText result
     return result'
@@ -293,7 +244,6 @@
 -- function pango_version
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -304,16 +254,15 @@
 
 version ::
     (MonadIO m) =>
-    m Int32
+    m Int32                                 -- result
 version  = liftIO $ do
     result <- pango_version
     return result
 
 
 -- function pango_units_to_double
--- Args : [Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "i", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TDouble
 -- throws : False
 -- Skip return : False
@@ -325,8 +274,8 @@
 
 unitsToDouble ::
     (MonadIO m) =>
-    Int32 ->                                -- i
-    m Double
+    Int32                                   -- i
+    -> m Double                             -- result
 unitsToDouble i = liftIO $ do
     result <- pango_units_to_double i
     let result' = realToFrac result
@@ -334,9 +283,8 @@
 
 
 -- function pango_units_from_double
--- Args : [Arg {argName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -348,8 +296,8 @@
 
 unitsFromDouble ::
     (MonadIO m) =>
-    Double ->                               -- d
-    m Int32
+    Double                                  -- d
+    -> m Int32                              -- result
 unitsFromDouble d = liftIO $ do
     let d' = realToFrac d
     result <- pango_units_from_double d'
@@ -357,9 +305,8 @@
 
 
 -- function pango_unichar_direction
--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Direction"
 -- throws : False
 -- Skip return : False
@@ -371,8 +318,8 @@
 
 unicharDirection ::
     (MonadIO m) =>
-    Char ->                                 -- ch
-    m Direction
+    Char                                    -- ch
+    -> m Direction                          -- result
 unicharDirection ch = liftIO $ do
     let ch' = (fromIntegral . ord) ch
     result <- pango_unichar_direction ch'
@@ -381,9 +328,8 @@
 
 
 -- function pango_trim_string
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -395,8 +341,8 @@
 {-# DEPRECATED trimString ["(Since version 1.38)"]#-}
 trimString ::
     (MonadIO m) =>
-    T.Text ->                               -- str
-    m T.Text
+    T.Text                                  -- str
+    -> m T.Text                             -- result
 trimString str = liftIO $ do
     str' <- textToCString str
     result <- pango_trim_string str'
@@ -408,9 +354,8 @@
 
 
 -- function pango_split_file_list
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
 -- throws : False
 -- Skip return : False
@@ -422,8 +367,8 @@
 {-# DEPRECATED splitFileList ["(Since version 1.38)"]#-}
 splitFileList ::
     (MonadIO m) =>
-    T.Text ->                               -- str
-    m [T.Text]
+    T.Text                                  -- str
+    -> m [T.Text]                           -- result
 splitFileList str = liftIO $ do
     str' <- textToCString str
     result <- pango_split_file_list str'
@@ -436,9 +381,8 @@
 
 
 -- function pango_skip_space
--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -450,8 +394,8 @@
 {-# DEPRECATED skipSpace ["(Since version 1.38)"]#-}
 skipSpace ::
     (MonadIO m) =>
-    T.Text ->                               -- pos
-    m (Bool,T.Text)
+    T.Text                                  -- pos
+    -> m (Bool,T.Text)                      -- result
 skipSpace pos = liftIO $ do
     pos' <- textToCString pos
     pos'' <- allocMem :: IO (Ptr CString)
@@ -466,9 +410,8 @@
 
 
 -- function pango_shape_full
--- Args : [Arg {argName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "item_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "item_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "paragraph_length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -485,34 +428,33 @@
 
 shapeFull ::
     (MonadIO m) =>
-    T.Text ->                               -- item_text
-    Int32 ->                                -- item_length
-    Maybe (T.Text) ->                       -- paragraph_text
-    Int32 ->                                -- paragraph_length
-    Analysis ->                             -- analysis
-    GlyphString ->                          -- glyphs
-    m ()
-shapeFull item_text item_length paragraph_text paragraph_length analysis glyphs = liftIO $ do
-    item_text' <- textToCString item_text
-    maybeParagraph_text <- case paragraph_text of
+    T.Text                                  -- itemText
+    -> Int32                                -- itemLength
+    -> Maybe (T.Text)                       -- paragraphText
+    -> Int32                                -- paragraphLength
+    -> Analysis                             -- analysis
+    -> GlyphString                          -- glyphs
+    -> m ()                                 -- result
+shapeFull itemText itemLength paragraphText paragraphLength analysis glyphs = liftIO $ do
+    itemText' <- textToCString itemText
+    maybeParagraphText <- case paragraphText of
         Nothing -> return nullPtr
-        Just jParagraph_text -> do
-            jParagraph_text' <- textToCString jParagraph_text
-            return jParagraph_text'
+        Just jParagraphText -> do
+            jParagraphText' <- textToCString jParagraphText
+            return jParagraphText'
     let analysis' = unsafeManagedPtrGetPtr analysis
     let glyphs' = unsafeManagedPtrGetPtr glyphs
-    pango_shape_full item_text' item_length maybeParagraph_text paragraph_length analysis' glyphs'
+    pango_shape_full itemText' itemLength maybeParagraphText paragraphLength analysis' glyphs'
     touchManagedPtr analysis
     touchManagedPtr glyphs
-    freeMem item_text'
-    freeMem maybeParagraph_text
+    freeMem itemText'
+    freeMem maybeParagraphText
     return ()
 
 
 -- function pango_shape
--- Args : [Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -527,11 +469,11 @@
 
 shape ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Analysis ->                             -- analysis
-    GlyphString ->                          -- glyphs
-    m ()
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> Analysis                             -- analysis
+    -> GlyphString                          -- glyphs
+    -> m ()                                 -- result
 shape text length_ analysis glyphs = liftIO $ do
     text' <- textToCString text
     let analysis' = unsafeManagedPtrGetPtr analysis
@@ -543,59 +485,9 @@
     return ()
 
 
--- function pango_script_get_sample_language
--- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Language"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_script_get_sample_language" pango_script_get_sample_language :: 
-    CUInt ->                                -- script : TInterface "Pango" "Script"
-    IO (Ptr Language)
-
-
-scriptGetSampleLanguage ::
-    (MonadIO m) =>
-    Script ->                               -- script
-    m Language
-scriptGetSampleLanguage script = liftIO $ do
-    let script' = (fromIntegral . fromEnum) script
-    result <- pango_script_get_sample_language script'
-    checkUnexpectedReturnNULL "pango_script_get_sample_language" result
-    result' <- (wrapBoxed Language) result
-    return result'
-
-
--- function pango_script_for_unichar
--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Script"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_script_for_unichar" pango_script_for_unichar :: 
-    CInt ->                                 -- ch : TBasicType TUniChar
-    IO CUInt
-
-
-scriptForUnichar ::
-    (MonadIO m) =>
-    Char ->                                 -- ch
-    m Script
-scriptForUnichar ch = liftIO $ do
-    let ch' = (fromIntegral . ord) ch
-    result <- pango_script_for_unichar ch'
-    let result' = (toEnum . fromIntegral) result
-    return result'
-
-
 -- function pango_scan_word
--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -608,8 +500,8 @@
 {-# DEPRECATED scanWord ["(Since version 1.38)"]#-}
 scanWord ::
     (MonadIO m) =>
-    T.Text ->                               -- pos
-    m (Bool,T.Text,GLib.String)
+    T.Text                                  -- pos
+    -> m (Bool,T.Text,GLib.String)          -- result
 scanWord pos = liftIO $ do
     pos' <- textToCString pos
     pos'' <- allocMem :: IO (Ptr CString)
@@ -626,9 +518,8 @@
 
 
 -- function pango_scan_string
--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -641,8 +532,8 @@
 {-# DEPRECATED scanString ["(Since version 1.38)"]#-}
 scanString ::
     (MonadIO m) =>
-    T.Text ->                               -- pos
-    m (Bool,T.Text,GLib.String)
+    T.Text                                  -- pos
+    -> m (Bool,T.Text,GLib.String)          -- result
 scanString pos = liftIO $ do
     pos' <- textToCString pos
     pos'' <- allocMem :: IO (Ptr CString)
@@ -659,9 +550,8 @@
 
 
 -- function pango_scan_int
--- Args : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "out", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "pos", argType = TBasicType TUTF8, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -674,8 +564,8 @@
 {-# DEPRECATED scanInt ["(Since version 1.38)"]#-}
 scanInt ::
     (MonadIO m) =>
-    T.Text ->                               -- pos
-    m (Bool,T.Text,Int32)
+    T.Text                                  -- pos
+    -> m (Bool,T.Text,Int32)                -- result
 scanInt pos = liftIO $ do
     pos' <- textToCString pos
     pos'' <- allocMem :: IO (Ptr CString)
@@ -693,9 +583,8 @@
 
 
 -- function pango_reorder_items
--- Args : [Arg {argName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "logical_items", argType = TGList (TInterface "Pango" "Item"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGList (TInterface "Pango" "Item")
 -- throws : False
 -- Skip return : False
@@ -707,25 +596,24 @@
 
 reorderItems ::
     (MonadIO m) =>
-    [Item] ->                               -- logical_items
-    m [Item]
-reorderItems logical_items = liftIO $ do
-    let logical_items' = map unsafeManagedPtrGetPtr logical_items
-    logical_items'' <- packGList logical_items'
-    result <- pango_reorder_items logical_items''
+    [Item]                                  -- logicalItems
+    -> m [Item]                             -- result
+reorderItems logicalItems = liftIO $ do
+    let logicalItems' = map unsafeManagedPtrGetPtr logicalItems
+    logicalItems'' <- packGList logicalItems'
+    result <- pango_reorder_items logicalItems''
     checkUnexpectedReturnNULL "pango_reorder_items" result
     result' <- unpackGList result
     result'' <- mapM (wrapBoxed Item) result'
     g_list_free result
-    mapM_ touchManagedPtr logical_items
-    g_list_free logical_items''
+    mapM_ touchManagedPtr logicalItems
+    g_list_free logicalItems''
     return result''
 
 
 -- function pango_read_line
--- Args : [Arg {argName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TInterface "GLib" "String", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "stream", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -738,8 +626,8 @@
 {-# DEPRECATED readLine ["(Since version 1.38)"]#-}
 readLine ::
     (MonadIO m) =>
-    Ptr () ->                               -- stream
-    m (Int32,GLib.String)
+    Ptr ()                                  -- stream
+    -> m (Int32,GLib.String)                -- result
 readLine stream = liftIO $ do
     str <- callocBoxedBytes 24 :: IO (Ptr GLib.String)
     result <- pango_read_line stream str
@@ -748,9 +636,8 @@
 
 
 -- function pango_quantize_line_geometry
--- Args : [Arg {argName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "thickness", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "position", argType = TBasicType TInt32, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -763,9 +650,9 @@
 
 quantizeLineGeometry ::
     (MonadIO m) =>
-    Int32 ->                                -- thickness
-    Int32 ->                                -- position
-    m (Int32,Int32)
+    Int32                                   -- thickness
+    -> Int32                                -- position
+    -> m (Int32,Int32)                      -- result
 quantizeLineGeometry thickness position = liftIO $ do
     thickness' <- allocMem :: IO (Ptr Int32)
     poke thickness' thickness
@@ -780,9 +667,8 @@
 
 
 -- function pango_parse_weight
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -796,9 +682,9 @@
 
 parseWeight ::
     (MonadIO m) =>
-    T.Text ->                               -- str
-    Bool ->                                 -- warn
-    m (Bool,Weight)
+    T.Text                                  -- str
+    -> Bool                                 -- warn
+    -> m (Bool,Weight)                      -- result
 parseWeight str warn = liftIO $ do
     str' <- textToCString str
     weight <- allocMem :: IO (Ptr CUInt)
@@ -813,9 +699,8 @@
 
 
 -- function pango_parse_variant
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -829,9 +714,9 @@
 
 parseVariant ::
     (MonadIO m) =>
-    T.Text ->                               -- str
-    Bool ->                                 -- warn
-    m (Bool,Variant)
+    T.Text                                  -- str
+    -> Bool                                 -- warn
+    -> m (Bool,Variant)                     -- result
 parseVariant str warn = liftIO $ do
     str' <- textToCString str
     variant <- allocMem :: IO (Ptr CUInt)
@@ -846,9 +731,8 @@
 
 
 -- function pango_parse_style
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface "Pango" "Style", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -862,9 +746,9 @@
 
 parseStyle ::
     (MonadIO m) =>
-    T.Text ->                               -- str
-    Bool ->                                 -- warn
-    m (Bool,Style)
+    T.Text                                  -- str
+    -> Bool                                 -- warn
+    -> m (Bool,Style)                       -- result
 parseStyle str warn = liftIO $ do
     str' <- textToCString str
     style <- allocMem :: IO (Ptr CUInt)
@@ -879,9 +763,8 @@
 
 
 -- function pango_parse_stretch
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -895,9 +778,9 @@
 
 parseStretch ::
     (MonadIO m) =>
-    T.Text ->                               -- str
-    Bool ->                                 -- warn
-    m (Bool,Stretch)
+    T.Text                                  -- str
+    -> Bool                                 -- warn
+    -> m (Bool,Stretch)                     -- result
 parseStretch str warn = liftIO $ do
     str' <- textToCString str
     stretch <- allocMem :: IO (Ptr CUInt)
@@ -912,9 +795,8 @@
 
 
 -- function pango_parse_markup
--- Args : [Arg {argName = "markup_text", 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 = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr_list", argType = TInterface "Pango" "AttrList", 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},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "markup_text", 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 = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attr_list", argType = TInterface "Pango" "AttrList", 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},Arg {argCName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "markup_text", 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 = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -932,42 +814,41 @@
 
 parseMarkup ::
     (MonadIO m) =>
-    T.Text ->                               -- markup_text
-    Int32 ->                                -- length
-    Char ->                                 -- accel_marker
-    m (AttrList,T.Text,Char)
-parseMarkup markup_text length_ accel_marker = liftIO $ do
-    markup_text' <- textToCString markup_text
-    let accel_marker' = (fromIntegral . ord) accel_marker
-    attr_list <- allocMem :: IO (Ptr (Ptr AttrList))
+    T.Text                                  -- markupText
+    -> Int32                                -- length_
+    -> Char                                 -- accelMarker
+    -> m (AttrList,T.Text,Char)             -- result
+parseMarkup markupText length_ accelMarker = liftIO $ do
+    markupText' <- textToCString markupText
+    let accelMarker' = (fromIntegral . ord) accelMarker
+    attrList <- allocMem :: IO (Ptr (Ptr AttrList))
     text <- allocMem :: IO (Ptr CString)
-    accel_char <- allocMem :: IO (Ptr CInt)
+    accelChar <- allocMem :: IO (Ptr CInt)
     onException (do
-        _ <- propagateGError $ pango_parse_markup markup_text' length_ accel_marker' attr_list text accel_char
-        attr_list' <- peek attr_list
-        attr_list'' <- (wrapBoxed AttrList) attr_list'
+        _ <- propagateGError $ pango_parse_markup markupText' length_ accelMarker' attrList text accelChar
+        attrList' <- peek attrList
+        attrList'' <- (wrapBoxed AttrList) attrList'
         text' <- peek text
         text'' <- cstringToText text'
         freeMem text'
-        accel_char' <- peek accel_char
-        let accel_char'' = (chr . fromIntegral) accel_char'
-        freeMem markup_text'
-        freeMem attr_list
+        accelChar' <- peek accelChar
+        let accelChar'' = (chr . fromIntegral) accelChar'
+        freeMem markupText'
+        freeMem attrList
         freeMem text
-        freeMem accel_char
-        return (attr_list'', text'', accel_char'')
+        freeMem accelChar
+        return (attrList'', text'', accelChar'')
      ) (do
-        freeMem markup_text'
-        freeMem attr_list
+        freeMem markupText'
+        freeMem attrList
         freeMem text
-        freeMem accel_char
+        freeMem accelChar
      )
 
 
 -- function pango_parse_enum
--- Args : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "possible_values", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "possible_values", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "warn", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -983,10 +864,10 @@
 {-# DEPRECATED parseEnum ["(Since version 1.38)"]#-}
 parseEnum ::
     (MonadIO m) =>
-    GType ->                                -- type
-    Maybe (T.Text) ->                       -- str
-    Bool ->                                 -- warn
-    m (Bool,Int32,T.Text)
+    GType                                   -- type_
+    -> Maybe (T.Text)                       -- str
+    -> Bool                                 -- warn
+    -> m (Bool,Int32,T.Text)                -- result
 parseEnum type_ str warn = liftIO $ do
     let type_' = gtypeToCGType type_
     maybeStr <- case str of
@@ -996,23 +877,22 @@
             return jStr'
     value <- allocMem :: IO (Ptr Int32)
     let warn' = (fromIntegral . fromEnum) warn
-    possible_values <- allocMem :: IO (Ptr CString)
-    result <- pango_parse_enum type_' maybeStr value warn' possible_values
+    possibleValues <- allocMem :: IO (Ptr CString)
+    result <- pango_parse_enum type_' maybeStr value warn' possibleValues
     let result' = (/= 0) result
     value' <- peek value
-    possible_values' <- peek possible_values
-    possible_values'' <- cstringToText possible_values'
-    freeMem possible_values'
+    possibleValues' <- peek possibleValues
+    possibleValues'' <- cstringToText possibleValues'
+    freeMem possibleValues'
     freeMem maybeStr
     freeMem value
-    freeMem possible_values
-    return (result', value', possible_values'')
+    freeMem possibleValues
+    return (result', value', possibleValues'')
 
 
 -- function pango_module_register
--- Args : [Arg {argName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "module", argType = TInterface "Pango" "IncludedModule", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1024,8 +904,8 @@
 {-# DEPRECATED moduleRegister ["(Since version 1.38)"]#-}
 moduleRegister ::
     (MonadIO m) =>
-    IncludedModule ->                       -- module
-    m ()
+    IncludedModule                          -- module_
+    -> m ()                                 -- result
 moduleRegister module_ = liftIO $ do
     let module_' = unsafeManagedPtrGetPtr module_
     pango_module_register module_'
@@ -1034,9 +914,8 @@
 
 
 -- function pango_markup_parser_new
--- Args : [Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "GLib" "MarkupParseContext"
 -- throws : False
 -- Skip return : False
@@ -1048,20 +927,19 @@
 
 markupParserNew ::
     (MonadIO m) =>
-    Char ->                                 -- accel_marker
-    m GLib.MarkupParseContext
-markupParserNew accel_marker = liftIO $ do
-    let accel_marker' = (fromIntegral . ord) accel_marker
-    result <- pango_markup_parser_new accel_marker'
+    Char                                    -- accelMarker
+    -> m GLib.MarkupParseContext            -- result
+markupParserNew accelMarker = liftIO $ do
+    let accelMarker' = (fromIntegral . ord) accelMarker
+    result <- pango_markup_parser_new accelMarker'
     checkUnexpectedReturnNULL "pango_markup_parser_new" result
     result' <- (newBoxed GLib.MarkupParseContext) result
     return result'
 
 
 -- function pango_markup_parser_finish
--- Args : [Arg {argName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr_list", argType = TInterface "Pango" "AttrList", 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},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attr_list", argType = TInterface "Pango" "AttrList", 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},Arg {argCName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "GLib" "MarkupParseContext", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : True
 -- Skip return : False
@@ -1077,38 +955,37 @@
 
 markupParserFinish ::
     (MonadIO m) =>
-    GLib.MarkupParseContext ->              -- context
-    m (AttrList,T.Text,Char)
+    GLib.MarkupParseContext                 -- context
+    -> m (AttrList,T.Text,Char)             -- result
 markupParserFinish context = liftIO $ do
     let context' = unsafeManagedPtrGetPtr context
-    attr_list <- allocMem :: IO (Ptr (Ptr AttrList))
+    attrList <- allocMem :: IO (Ptr (Ptr AttrList))
     text <- allocMem :: IO (Ptr CString)
-    accel_char <- allocMem :: IO (Ptr CInt)
+    accelChar <- allocMem :: IO (Ptr CInt)
     onException (do
-        _ <- propagateGError $ pango_markup_parser_finish context' attr_list text accel_char
-        attr_list' <- peek attr_list
-        attr_list'' <- (wrapBoxed AttrList) attr_list'
+        _ <- propagateGError $ pango_markup_parser_finish context' attrList text accelChar
+        attrList' <- peek attrList
+        attrList'' <- (wrapBoxed AttrList) attrList'
         text' <- peek text
         text'' <- cstringToText text'
         freeMem text'
-        accel_char' <- peek accel_char
-        let accel_char'' = (chr . fromIntegral) accel_char'
+        accelChar' <- peek accelChar
+        let accelChar'' = (chr . fromIntegral) accelChar'
         touchManagedPtr context
-        freeMem attr_list
+        freeMem attrList
         freeMem text
-        freeMem accel_char
-        return (attr_list'', text'', accel_char'')
+        freeMem accelChar
+        return (attrList'', text'', accelChar'')
      ) (do
-        freeMem attr_list
+        freeMem attrList
         freeMem text
-        freeMem accel_char
+        freeMem accelChar
      )
 
 
 -- function pango_lookup_aliases
--- Args : [Arg {argName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "fontname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "families", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1122,28 +999,27 @@
 {-# DEPRECATED lookupAliases ["(Since version 1.32)","This function is not thread-safe."]#-}
 lookupAliases ::
     (MonadIO m) =>
-    T.Text ->                               -- fontname
-    m ([T.Text])
+    T.Text                                  -- fontname
+    -> m ([T.Text])                         -- result
 lookupAliases fontname = liftIO $ do
     fontname' <- textToCString fontname
     families <- allocMem :: IO (Ptr (Ptr CString))
-    n_families <- allocMem :: IO (Ptr Int32)
-    pango_lookup_aliases fontname' families n_families
-    n_families' <- peek n_families
+    nFamilies <- allocMem :: IO (Ptr Int32)
+    pango_lookup_aliases fontname' families nFamilies
+    nFamilies' <- peek nFamilies
     families' <- peek families
-    families'' <- (unpackUTF8CArrayWithLength n_families') families'
-    (mapCArrayWithLength n_families') freeMem families'
+    families'' <- (unpackUTF8CArrayWithLength nFamilies') families'
+    (mapCArrayWithLength nFamilies') freeMem families'
     freeMem families'
     freeMem fontname'
     freeMem families
-    freeMem n_families
+    freeMem nFamilies
     return families''
 
 
 -- function pango_log2vis_get_embedding_levels
--- Args : [Arg {argName = "text", 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 = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "text", 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 = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "text", 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 = "pbase_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt8
 -- throws : False
 -- Skip return : False
@@ -1157,74 +1033,21 @@
 
 log2visGetEmbeddingLevels ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Direction ->                            -- pbase_dir
-    m Word8
-log2visGetEmbeddingLevels text length_ pbase_dir = liftIO $ do
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> Direction                            -- pbaseDir
+    -> m Word8                              -- result
+log2visGetEmbeddingLevels text length_ pbaseDir = liftIO $ do
     text' <- textToCString text
-    let pbase_dir' = (fromIntegral . fromEnum) pbase_dir
-    result <- pango_log2vis_get_embedding_levels text' length_ pbase_dir'
+    let pbaseDir' = (fromIntegral . fromEnum) pbaseDir
+    result <- pango_log2vis_get_embedding_levels text' length_ pbaseDir'
     freeMem text'
     return result
 
 
--- function pango_language_get_default
--- Args : []
--- Lengths : []
--- hInArgs : []
--- returnType : TInterface "Pango" "Language"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_language_get_default" pango_language_get_default :: 
-    IO (Ptr Language)
-
-
-languageGetDefault ::
-    (MonadIO m) =>
-    m Language
-languageGetDefault  = liftIO $ do
-    result <- pango_language_get_default
-    checkUnexpectedReturnNULL "pango_language_get_default" result
-    result' <- (newBoxed Language) result
-    return result'
-
-
--- function pango_language_from_string
--- Args : [Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Language"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_language_from_string" pango_language_from_string :: 
-    CString ->                              -- language : TBasicType TUTF8
-    IO (Ptr Language)
-
-
-languageFromString ::
-    (MonadIO m) =>
-    Maybe (T.Text) ->                       -- language
-    m Language
-languageFromString language = liftIO $ do
-    maybeLanguage <- case language of
-        Nothing -> return nullPtr
-        Just jLanguage -> do
-            jLanguage' <- textToCString jLanguage
-            return jLanguage'
-    result <- pango_language_from_string maybeLanguage
-    checkUnexpectedReturnNULL "pango_language_from_string" result
-    result' <- (newBoxed Language) result
-    freeMem maybeLanguage
-    return result'
-
-
 -- function pango_itemize_with_base_dir
--- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, 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 = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_index", argType = TBasicType TInt32, 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 = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_dir", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, 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 = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGList (TInterface "Pango" "Item")
 -- throws : False
 -- Skip return : False
@@ -1242,40 +1065,39 @@
 
 itemizeWithBaseDir ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- context
-    Direction ->                            -- base_dir
-    T.Text ->                               -- text
-    Int32 ->                                -- start_index
-    Int32 ->                                -- length
-    AttrList ->                             -- attrs
-    Maybe (AttrIterator) ->                 -- cached_iter
-    m [Item]
-itemizeWithBaseDir context base_dir text start_index length_ attrs cached_iter = liftIO $ do
+    a                                       -- context
+    -> Direction                            -- baseDir
+    -> T.Text                               -- text
+    -> Int32                                -- startIndex
+    -> Int32                                -- length_
+    -> AttrList                             -- attrs
+    -> Maybe (AttrIterator)                 -- cachedIter
+    -> m [Item]                             -- result
+itemizeWithBaseDir context baseDir text startIndex length_ attrs cachedIter = liftIO $ do
     let context' = unsafeManagedPtrCastPtr context
-    let base_dir' = (fromIntegral . fromEnum) base_dir
+    let baseDir' = (fromIntegral . fromEnum) baseDir
     text' <- textToCString text
     let attrs' = unsafeManagedPtrGetPtr attrs
-    maybeCached_iter <- case cached_iter of
+    maybeCachedIter <- case cachedIter of
         Nothing -> return nullPtr
-        Just jCached_iter -> do
-            let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter
-            return jCached_iter'
-    result <- pango_itemize_with_base_dir context' base_dir' text' start_index length_ attrs' maybeCached_iter
+        Just jCachedIter -> do
+            let jCachedIter' = unsafeManagedPtrGetPtr jCachedIter
+            return jCachedIter'
+    result <- pango_itemize_with_base_dir context' baseDir' text' startIndex length_ attrs' maybeCachedIter
     checkUnexpectedReturnNULL "pango_itemize_with_base_dir" result
     result' <- unpackGList result
     result'' <- mapM (wrapBoxed Item) result'
     g_list_free result
     touchManagedPtr context
     touchManagedPtr attrs
-    whenJust cached_iter touchManagedPtr
+    whenJust cachedIter touchManagedPtr
     freeMem text'
     return result''
 
 
 -- function pango_itemize
--- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, 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 = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_index", argType = TBasicType TInt32, 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 = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, 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 = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cached_iter", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGList (TInterface "Pango" "Item")
 -- throws : False
 -- Skip return : False
@@ -1292,38 +1114,37 @@
 
 itemize ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- context
-    T.Text ->                               -- text
-    Int32 ->                                -- start_index
-    Int32 ->                                -- length
-    AttrList ->                             -- attrs
-    Maybe (AttrIterator) ->                 -- cached_iter
-    m [Item]
-itemize context text start_index length_ attrs cached_iter = liftIO $ do
+    a                                       -- context
+    -> T.Text                               -- text
+    -> Int32                                -- startIndex
+    -> Int32                                -- length_
+    -> AttrList                             -- attrs
+    -> Maybe (AttrIterator)                 -- cachedIter
+    -> m [Item]                             -- result
+itemize context text startIndex length_ attrs cachedIter = liftIO $ do
     let context' = unsafeManagedPtrCastPtr context
     text' <- textToCString text
     let attrs' = unsafeManagedPtrGetPtr attrs
-    maybeCached_iter <- case cached_iter of
+    maybeCachedIter <- case cachedIter of
         Nothing -> return nullPtr
-        Just jCached_iter -> do
-            let jCached_iter' = unsafeManagedPtrGetPtr jCached_iter
-            return jCached_iter'
-    result <- pango_itemize context' text' start_index length_ attrs' maybeCached_iter
+        Just jCachedIter -> do
+            let jCachedIter' = unsafeManagedPtrGetPtr jCachedIter
+            return jCachedIter'
+    result <- pango_itemize context' text' startIndex length_ attrs' maybeCachedIter
     checkUnexpectedReturnNULL "pango_itemize" result
     result' <- unpackGList result
     result'' <- mapM (wrapBoxed Item) result'
     g_list_free result
     touchManagedPtr context
     touchManagedPtr attrs
-    whenJust cached_iter touchManagedPtr
+    whenJust cachedIter touchManagedPtr
     freeMem text'
     return result''
 
 
 -- function pango_is_zero_width
--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1335,8 +1156,8 @@
 
 isZeroWidth ::
     (MonadIO m) =>
-    Char ->                                 -- ch
-    m Bool
+    Char                                    -- ch
+    -> m Bool                               -- result
 isZeroWidth ch = liftIO $ do
     let ch' = (fromIntegral . ord) ch
     result <- pango_is_zero_width ch'
@@ -1344,126 +1165,9 @@
     return result'
 
 
--- function pango_gravity_to_rotation
--- Args : [Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TDouble
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_gravity_to_rotation" pango_gravity_to_rotation :: 
-    CUInt ->                                -- gravity : TInterface "Pango" "Gravity"
-    IO CDouble
-
-
-gravityToRotation ::
-    (MonadIO m) =>
-    Gravity ->                              -- gravity
-    m Double
-gravityToRotation gravity = liftIO $ do
-    let gravity' = (fromIntegral . fromEnum) gravity
-    result <- pango_gravity_to_rotation gravity'
-    let result' = realToFrac result
-    return result'
-
-
--- function pango_gravity_get_for_script_and_width
--- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wide", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Gravity"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_gravity_get_for_script_and_width" pango_gravity_get_for_script_and_width :: 
-    CUInt ->                                -- script : TInterface "Pango" "Script"
-    CInt ->                                 -- wide : TBasicType TBoolean
-    CUInt ->                                -- base_gravity : TInterface "Pango" "Gravity"
-    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"
-    IO CUInt
-
-
-gravityGetForScriptAndWidth ::
-    (MonadIO m) =>
-    Script ->                               -- script
-    Bool ->                                 -- wide
-    Gravity ->                              -- base_gravity
-    GravityHint ->                          -- hint
-    m Gravity
-gravityGetForScriptAndWidth script wide base_gravity hint = liftIO $ do
-    let script' = (fromIntegral . fromEnum) script
-    let wide' = (fromIntegral . fromEnum) wide
-    let base_gravity' = (fromIntegral . fromEnum) base_gravity
-    let hint' = (fromIntegral . fromEnum) hint
-    result <- pango_gravity_get_for_script_and_width script' wide' base_gravity' hint'
-    let result' = (toEnum . fromIntegral) result
-    return result'
-
-
--- function pango_gravity_get_for_script
--- Args : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "base_gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Gravity"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_gravity_get_for_script" pango_gravity_get_for_script :: 
-    CUInt ->                                -- script : TInterface "Pango" "Script"
-    CUInt ->                                -- base_gravity : TInterface "Pango" "Gravity"
-    CUInt ->                                -- hint : TInterface "Pango" "GravityHint"
-    IO CUInt
-
-
-gravityGetForScript ::
-    (MonadIO m) =>
-    Script ->                               -- script
-    Gravity ->                              -- base_gravity
-    GravityHint ->                          -- hint
-    m Gravity
-gravityGetForScript script base_gravity hint = liftIO $ do
-    let script' = (fromIntegral . fromEnum) script
-    let base_gravity' = (fromIntegral . fromEnum) base_gravity
-    let hint' = (fromIntegral . fromEnum) hint
-    result <- pango_gravity_get_for_script script' base_gravity' hint'
-    let result' = (toEnum . fromIntegral) result
-    return result'
-
-
--- function pango_gravity_get_for_matrix
--- Args : [Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "Gravity"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_gravity_get_for_matrix" pango_gravity_get_for_matrix :: 
-    Ptr Matrix ->                           -- matrix : TInterface "Pango" "Matrix"
-    IO CUInt
-
-
-gravityGetForMatrix ::
-    (MonadIO m) =>
-    Maybe (Matrix) ->                       -- matrix
-    m Gravity
-gravityGetForMatrix matrix = liftIO $ do
-    maybeMatrix <- case matrix of
-        Nothing -> return nullPtr
-        Just jMatrix -> do
-            let jMatrix' = unsafeManagedPtrGetPtr jMatrix
-            return jMatrix'
-    result <- pango_gravity_get_for_matrix maybeMatrix
-    let result' = (toEnum . fromIntegral) result
-    whenJust matrix touchManagedPtr
-    return result'
-
-
 -- function pango_get_sysconf_subdirectory
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1474,7 +1178,7 @@
 {-# DEPRECATED getSysconfSubdirectory ["(Since version 1.38)"]#-}
 getSysconfSubdirectory ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 getSysconfSubdirectory  = liftIO $ do
     result <- pango_get_sysconf_subdirectory
     checkUnexpectedReturnNULL "pango_get_sysconf_subdirectory" result
@@ -1483,9 +1187,8 @@
 
 
 -- function pango_get_mirror_char
--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1498,21 +1201,20 @@
 
 getMirrorChar ::
     (MonadIO m) =>
-    Char ->                                 -- ch
-    Char ->                                 -- mirrored_ch
-    m Bool
-getMirrorChar ch mirrored_ch = liftIO $ do
+    Char                                    -- ch
+    -> Char                                 -- mirroredCh
+    -> m Bool                               -- result
+getMirrorChar ch mirroredCh = liftIO $ do
     let ch' = (fromIntegral . ord) ch
-    let mirrored_ch' = (fromIntegral . ord) mirrored_ch
-    result <- pango_get_mirror_char ch' mirrored_ch'
+    let mirroredCh' = (fromIntegral . ord) mirroredCh
+    result <- pango_get_mirror_char ch' mirroredCh'
     let result' = (/= 0) result
     return result'
 
 
 -- function pango_get_log_attrs
--- Args : [Arg {argName = "text", 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 = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "text", 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 = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "text", 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 = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_attrs", argType = TCArray False (-1) 5 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "attrs_len", 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
@@ -1529,30 +1231,29 @@
 
 getLogAttrs ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Int32 ->                                -- level
-    Language ->                             -- language
-    [LogAttr] ->                            -- log_attrs
-    m ()
-getLogAttrs text length_ level language log_attrs = liftIO $ do
-    let attrs_len = fromIntegral $ length log_attrs
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> Int32                                -- level
+    -> Language                             -- language
+    -> [LogAttr]                            -- logAttrs
+    -> m ()                                 -- result
+getLogAttrs text length_ level language logAttrs = liftIO $ do
+    let attrsLen = fromIntegral $ length logAttrs
     text' <- textToCString text
     let language' = unsafeManagedPtrGetPtr language
-    let log_attrs' = map unsafeManagedPtrGetPtr log_attrs
-    log_attrs'' <- packBlockArray 52 log_attrs'
-    pango_get_log_attrs text' length_ level language' log_attrs'' attrs_len
+    let logAttrs' = map unsafeManagedPtrGetPtr logAttrs
+    logAttrs'' <- packBlockArray 52 logAttrs'
+    pango_get_log_attrs text' length_ level language' logAttrs'' attrsLen
     touchManagedPtr language
-    mapM_ touchManagedPtr log_attrs
+    mapM_ touchManagedPtr logAttrs
     freeMem text'
-    freeMem log_attrs''
+    freeMem logAttrs''
     return ()
 
 
 -- function pango_get_lib_subdirectory
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1563,7 +1264,7 @@
 {-# DEPRECATED getLibSubdirectory ["(Since version 1.38)"]#-}
 getLibSubdirectory ::
     (MonadIO m) =>
-    m T.Text
+    m T.Text                                -- result
 getLibSubdirectory  = liftIO $ do
     result <- pango_get_lib_subdirectory
     checkUnexpectedReturnNULL "pango_get_lib_subdirectory" result
@@ -1571,36 +1272,9 @@
     return result'
 
 
--- function pango_font_description_from_string
--- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "FontDescription"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_font_description_from_string" pango_font_description_from_string :: 
-    CString ->                              -- str : TBasicType TUTF8
-    IO (Ptr FontDescription)
-
-
-fontDescriptionFromString ::
-    (MonadIO m) =>
-    T.Text ->                               -- str
-    m FontDescription
-fontDescriptionFromString str = liftIO $ do
-    str' <- textToCString str
-    result <- pango_font_description_from_string str'
-    checkUnexpectedReturnNULL "pango_font_description_from_string" result
-    result' <- (wrapBoxed FontDescription) result
-    freeMem str'
-    return result'
-
-
 -- function pango_find_paragraph_boundary
--- Args : [Arg {argName = "text", 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 = "paragraph_delimiter_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "next_paragraph_start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "text", 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 = "paragraph_delimiter_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "next_paragraph_start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "text", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1615,26 +1289,25 @@
 
 findParagraphBoundary ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    m (Int32,Int32)
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> m (Int32,Int32)                      -- result
 findParagraphBoundary text length_ = liftIO $ do
     text' <- textToCString text
-    paragraph_delimiter_index <- allocMem :: IO (Ptr Int32)
-    next_paragraph_start <- allocMem :: IO (Ptr Int32)
-    pango_find_paragraph_boundary text' length_ paragraph_delimiter_index next_paragraph_start
-    paragraph_delimiter_index' <- peek paragraph_delimiter_index
-    next_paragraph_start' <- peek next_paragraph_start
+    paragraphDelimiterIndex <- allocMem :: IO (Ptr Int32)
+    nextParagraphStart <- allocMem :: IO (Ptr Int32)
+    pango_find_paragraph_boundary text' length_ paragraphDelimiterIndex nextParagraphStart
+    paragraphDelimiterIndex' <- peek paragraphDelimiterIndex
+    nextParagraphStart' <- peek nextParagraphStart
     freeMem text'
-    freeMem paragraph_delimiter_index
-    freeMem next_paragraph_start
-    return (paragraph_delimiter_index', next_paragraph_start')
+    freeMem paragraphDelimiterIndex
+    freeMem nextParagraphStart
+    return (paragraphDelimiterIndex', nextParagraphStart')
 
 
 -- function pango_find_base_dir
--- Args : [Arg {argName = "text", 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}]
+-- Args : [Arg {argCName = "text", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "text", 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}]
 -- returnType : TInterface "Pango" "Direction"
 -- throws : False
 -- Skip return : False
@@ -1647,9 +1320,9 @@
 
 findBaseDir ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    m Direction
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> m Direction                          -- result
 findBaseDir text length_ = liftIO $ do
     text' <- textToCString text
     result <- pango_find_base_dir text' length_
@@ -1659,9 +1332,8 @@
 
 
 -- function pango_extents_to_pixels
--- Args : [Arg {argName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "inclusive", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "nearest", argType = TInterface "Pango" "Rectangle", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1674,9 +1346,9 @@
 
 extentsToPixels ::
     (MonadIO m) =>
-    Maybe (Rectangle) ->                    -- inclusive
-    Maybe (Rectangle) ->                    -- nearest
-    m ()
+    Maybe (Rectangle)                       -- inclusive
+    -> Maybe (Rectangle)                    -- nearest
+    -> m ()                                 -- result
 extentsToPixels inclusive nearest = liftIO $ do
     maybeInclusive <- case inclusive of
         Nothing -> return nullPtr
@@ -1695,9 +1367,8 @@
 
 
 -- function pango_default_break
--- Args : [Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "LogAttr", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1713,13 +1384,13 @@
 
 defaultBreak ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Maybe (Analysis) ->                     -- analysis
-    LogAttr ->                              -- attrs
-    Int32 ->                                -- attrs_len
-    m ()
-defaultBreak text length_ analysis attrs attrs_len = liftIO $ do
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> Maybe (Analysis)                     -- analysis
+    -> LogAttr                              -- attrs
+    -> Int32                                -- attrsLen
+    -> m ()                                 -- result
+defaultBreak text length_ analysis attrs attrsLen = liftIO $ do
     text' <- textToCString text
     maybeAnalysis <- case analysis of
         Nothing -> return nullPtr
@@ -1727,7 +1398,7 @@
             let jAnalysis' = unsafeManagedPtrGetPtr jAnalysis
             return jAnalysis'
     let attrs' = unsafeManagedPtrGetPtr attrs
-    pango_default_break text' length_ maybeAnalysis attrs' attrs_len
+    pango_default_break text' length_ maybeAnalysis attrs' attrsLen
     whenJust analysis touchManagedPtr
     touchManagedPtr attrs
     freeMem text'
@@ -1735,9 +1406,8 @@
 
 
 -- function pango_config_key_get_system
--- Args : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1749,8 +1419,8 @@
 {-# DEPRECATED configKeyGetSystem ["(Since version 1.38)"]#-}
 configKeyGetSystem ::
     (MonadIO m) =>
-    T.Text ->                               -- key
-    m T.Text
+    T.Text                                  -- key
+    -> m T.Text                             -- result
 configKeyGetSystem key = liftIO $ do
     key' <- textToCString key
     result <- pango_config_key_get_system key'
@@ -1762,9 +1432,8 @@
 
 
 -- function pango_config_key_get
--- Args : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1776,8 +1445,8 @@
 {-# DEPRECATED configKeyGet ["(Since version 1.38)"]#-}
 configKeyGet ::
     (MonadIO m) =>
-    T.Text ->                               -- key
-    m T.Text
+    T.Text                                  -- key
+    -> m T.Text                             -- result
 configKeyGet key = liftIO $ do
     key' <- textToCString key
     result <- pango_config_key_get key'
@@ -1789,9 +1458,8 @@
 
 
 -- function pango_break
--- Args : [Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TCArray False (-1) 4 (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "attrs_len", 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
@@ -1807,97 +1475,23 @@
 
 break ::
     (MonadIO m) =>
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Analysis ->                             -- analysis
-    [LogAttr] ->                            -- attrs
-    m ()
+    T.Text                                  -- text
+    -> Int32                                -- length_
+    -> Analysis                             -- analysis
+    -> [LogAttr]                            -- attrs
+    -> m ()                                 -- result
 break text length_ analysis attrs = liftIO $ do
-    let attrs_len = fromIntegral $ length attrs
+    let attrsLen = fromIntegral $ length attrs
     text' <- textToCString text
     let analysis' = unsafeManagedPtrGetPtr analysis
     let attrs' = map unsafeManagedPtrGetPtr attrs
     attrs'' <- packBlockArray 52 attrs'
-    pango_break text' length_ analysis' attrs'' attrs_len
+    pango_break text' length_ analysis' attrs'' attrsLen
     touchManagedPtr analysis
     mapM_ touchManagedPtr attrs
     freeMem text'
     freeMem attrs''
     return ()
-
-
--- function pango_bidi_type_for_unichar
--- Args : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TInterface "Pango" "BidiType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_bidi_type_for_unichar" pango_bidi_type_for_unichar :: 
-    CInt ->                                 -- ch : TBasicType TUniChar
-    IO CUInt
-
-
-bidiTypeForUnichar ::
-    (MonadIO m) =>
-    Char ->                                 -- ch
-    m BidiType
-bidiTypeForUnichar ch = liftIO $ do
-    let ch' = (fromIntegral . ord) ch
-    result <- pango_bidi_type_for_unichar ch'
-    let result' = (toEnum . fromIntegral) result
-    return result'
-
-
--- function pango_attr_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 "Pango" "AttrType"
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_attr_type_register" pango_attr_type_register :: 
-    CString ->                              -- name : TBasicType TUTF8
-    IO CUInt
-
-
-attrTypeRegister ::
-    (MonadIO m) =>
-    T.Text ->                               -- name
-    m AttrType
-attrTypeRegister name = liftIO $ do
-    name' <- textToCString name
-    result <- pango_attr_type_register name'
-    let result' = (toEnum . fromIntegral) result
-    freeMem name'
-    return result'
-
-
--- function pango_attr_type_get_name
--- Args : [Arg {argName = "type", argType = TInterface "Pango" "AttrType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : []
--- hInArgs : [Arg {argName = "type", argType = TInterface "Pango" "AttrType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- returnType : TBasicType TUTF8
--- throws : False
--- Skip return : False
-
-foreign import ccall "pango_attr_type_get_name" pango_attr_type_get_name :: 
-    CUInt ->                                -- type : TInterface "Pango" "AttrType"
-    IO CString
-
-
-attrTypeGetName ::
-    (MonadIO m) =>
-    AttrType ->                             -- type
-    m T.Text
-attrTypeGetName type_ = liftIO $ do
-    let type_' = (fromIntegral . fromEnum) type_
-    result <- pango_attr_type_get_name type_'
-    checkUnexpectedReturnNULL "pango_attr_type_get_name" result
-    result' <- cstringToText result
-    return result'
 
 
 
diff --git a/GI/Pango/Objects.hs b/GI/Pango/Objects.hs
--- a/GI/Pango/Objects.hs
+++ b/GI/Pango/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/Pango/Objects/Context.hs b/GI/Pango/Objects/Context.hs
--- a/GI/Pango/Objects/Context.hs
+++ b/GI/Pango/Objects/Context.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,58 +18,72 @@
 
  -- * Methods
 -- ** contextChanged
+    ContextChangedMethodInfo                ,
     contextChanged                          ,
 
 
 -- ** contextGetBaseDir
+    ContextGetBaseDirMethodInfo             ,
     contextGetBaseDir                       ,
 
 
 -- ** contextGetBaseGravity
+    ContextGetBaseGravityMethodInfo         ,
     contextGetBaseGravity                   ,
 
 
 -- ** contextGetFontDescription
+    ContextGetFontDescriptionMethodInfo     ,
     contextGetFontDescription               ,
 
 
 -- ** contextGetFontMap
+    ContextGetFontMapMethodInfo             ,
     contextGetFontMap                       ,
 
 
 -- ** contextGetGravity
+    ContextGetGravityMethodInfo             ,
     contextGetGravity                       ,
 
 
 -- ** contextGetGravityHint
+    ContextGetGravityHintMethodInfo         ,
     contextGetGravityHint                   ,
 
 
 -- ** contextGetLanguage
+    ContextGetLanguageMethodInfo            ,
     contextGetLanguage                      ,
 
 
 -- ** contextGetMatrix
+    ContextGetMatrixMethodInfo              ,
     contextGetMatrix                        ,
 
 
 -- ** contextGetMetrics
+    ContextGetMetricsMethodInfo             ,
     contextGetMetrics                       ,
 
 
 -- ** contextGetSerial
+    ContextGetSerialMethodInfo              ,
     contextGetSerial                        ,
 
 
 -- ** contextListFamilies
+    ContextListFamiliesMethodInfo           ,
     contextListFamilies                     ,
 
 
 -- ** contextLoadFont
+    ContextLoadFontMethodInfo               ,
     contextLoadFont                         ,
 
 
 -- ** contextLoadFontset
+    ContextLoadFontsetMethodInfo            ,
     contextLoadFontset                      ,
 
 
@@ -77,30 +92,37 @@
 
 
 -- ** contextSetBaseDir
+    ContextSetBaseDirMethodInfo             ,
     contextSetBaseDir                       ,
 
 
 -- ** contextSetBaseGravity
+    ContextSetBaseGravityMethodInfo         ,
     contextSetBaseGravity                   ,
 
 
 -- ** contextSetFontDescription
+    ContextSetFontDescriptionMethodInfo     ,
     contextSetFontDescription               ,
 
 
 -- ** contextSetFontMap
+    ContextSetFontMapMethodInfo             ,
     contextSetFontMap                       ,
 
 
 -- ** contextSetGravityHint
+    ContextSetGravityHintMethodInfo         ,
     contextSetGravityHint                   ,
 
 
 -- ** contextSetLanguage
+    ContextSetLanguageMethodInfo            ,
     contextSetLanguage                      ,
 
 
 -- ** contextSetMatrix
+    ContextSetMatrixMethodInfo              ,
     contextSetMatrix                        ,
 
 
@@ -140,17 +162,70 @@
 noContext :: Maybe Context
 noContext = Nothing
 
+type family ResolveContextMethod (t :: Symbol) (o :: *) :: * where
+    ResolveContextMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveContextMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveContextMethod "changed" o = ContextChangedMethodInfo
+    ResolveContextMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveContextMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveContextMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveContextMethod "listFamilies" o = ContextListFamiliesMethodInfo
+    ResolveContextMethod "loadFont" o = ContextLoadFontMethodInfo
+    ResolveContextMethod "loadFontset" o = ContextLoadFontsetMethodInfo
+    ResolveContextMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveContextMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveContextMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveContextMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveContextMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveContextMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveContextMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveContextMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveContextMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveContextMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveContextMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveContextMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveContextMethod "getBaseDir" o = ContextGetBaseDirMethodInfo
+    ResolveContextMethod "getBaseGravity" o = ContextGetBaseGravityMethodInfo
+    ResolveContextMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveContextMethod "getFontDescription" o = ContextGetFontDescriptionMethodInfo
+    ResolveContextMethod "getFontMap" o = ContextGetFontMapMethodInfo
+    ResolveContextMethod "getGravity" o = ContextGetGravityMethodInfo
+    ResolveContextMethod "getGravityHint" o = ContextGetGravityHintMethodInfo
+    ResolveContextMethod "getLanguage" o = ContextGetLanguageMethodInfo
+    ResolveContextMethod "getMatrix" o = ContextGetMatrixMethodInfo
+    ResolveContextMethod "getMetrics" o = ContextGetMetricsMethodInfo
+    ResolveContextMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveContextMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveContextMethod "getSerial" o = ContextGetSerialMethodInfo
+    ResolveContextMethod "setBaseDir" o = ContextSetBaseDirMethodInfo
+    ResolveContextMethod "setBaseGravity" o = ContextSetBaseGravityMethodInfo
+    ResolveContextMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveContextMethod "setFontDescription" o = ContextSetFontDescriptionMethodInfo
+    ResolveContextMethod "setFontMap" o = ContextSetFontMapMethodInfo
+    ResolveContextMethod "setGravityHint" o = ContextSetGravityHintMethodInfo
+    ResolveContextMethod "setLanguage" o = ContextSetLanguageMethodInfo
+    ResolveContextMethod "setMatrix" o = ContextSetMatrixMethodInfo
+    ResolveContextMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveContextMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveContextMethod t Context, MethodInfo info Context p) => IsLabelProxy t (Context -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveContextMethod t Context, MethodInfo info Context p) => IsLabel t (Context -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Context = ContextAttributeList
 type ContextAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Context = ContextSignalList
-type ContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type ContextSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Context::new
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Pango" "Context"
 -- throws : False
 -- Skip return : False
@@ -161,7 +236,7 @@
 
 contextNew ::
     (MonadIO m) =>
-    m Context
+    m Context                               -- result
 contextNew  = liftIO $ do
     result <- pango_context_new
     checkUnexpectedReturnNULL "pango_context_new" result
@@ -170,9 +245,8 @@
 
 -- method Context::changed
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -184,19 +258,22 @@
 
 contextChanged ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 contextChanged _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_context_changed _obj'
     touchManagedPtr _obj
     return ()
 
+data ContextChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, ContextK a) => MethodInfo ContextChangedMethodInfo a signature where
+    overloadedMethod _ = contextChanged
+
 -- method Context::get_base_dir
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Direction"
 -- throws : False
 -- Skip return : False
@@ -208,8 +285,8 @@
 
 contextGetBaseDir ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m Direction
+    a                                       -- _obj
+    -> m Direction                          -- result
 contextGetBaseDir _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_base_dir _obj'
@@ -217,11 +294,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetBaseDirMethodInfo
+instance (signature ~ (m Direction), MonadIO m, ContextK a) => MethodInfo ContextGetBaseDirMethodInfo a signature where
+    overloadedMethod _ = contextGetBaseDir
+
 -- method Context::get_base_gravity
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Gravity"
 -- throws : False
 -- Skip return : False
@@ -233,8 +313,8 @@
 
 contextGetBaseGravity ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m Gravity
+    a                                       -- _obj
+    -> m Gravity                            -- result
 contextGetBaseGravity _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_base_gravity _obj'
@@ -242,11 +322,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetBaseGravityMethodInfo
+instance (signature ~ (m Gravity), MonadIO m, ContextK a) => MethodInfo ContextGetBaseGravityMethodInfo a signature where
+    overloadedMethod _ = contextGetBaseGravity
+
 -- method Context::get_font_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -258,8 +341,8 @@
 
 contextGetFontDescription ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m FontDescription
+    a                                       -- _obj
+    -> m FontDescription                    -- result
 contextGetFontDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_font_description _obj'
@@ -268,11 +351,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetFontDescriptionMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m, ContextK a) => MethodInfo ContextGetFontDescriptionMethodInfo a signature where
+    overloadedMethod _ = contextGetFontDescription
+
 -- method Context::get_font_map
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMap"
 -- throws : False
 -- Skip return : False
@@ -284,8 +370,8 @@
 
 contextGetFontMap ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m FontMap
+    a                                       -- _obj
+    -> m FontMap                            -- result
 contextGetFontMap _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_font_map _obj'
@@ -294,11 +380,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetFontMapMethodInfo
+instance (signature ~ (m FontMap), MonadIO m, ContextK a) => MethodInfo ContextGetFontMapMethodInfo a signature where
+    overloadedMethod _ = contextGetFontMap
+
 -- method Context::get_gravity
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Gravity"
 -- throws : False
 -- Skip return : False
@@ -310,8 +399,8 @@
 
 contextGetGravity ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m Gravity
+    a                                       -- _obj
+    -> m Gravity                            -- result
 contextGetGravity _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_gravity _obj'
@@ -319,11 +408,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetGravityMethodInfo
+instance (signature ~ (m Gravity), MonadIO m, ContextK a) => MethodInfo ContextGetGravityMethodInfo a signature where
+    overloadedMethod _ = contextGetGravity
+
 -- method Context::get_gravity_hint
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GravityHint"
 -- throws : False
 -- Skip return : False
@@ -335,8 +427,8 @@
 
 contextGetGravityHint ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m GravityHint
+    a                                       -- _obj
+    -> m GravityHint                        -- result
 contextGetGravityHint _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_gravity_hint _obj'
@@ -344,11 +436,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetGravityHintMethodInfo
+instance (signature ~ (m GravityHint), MonadIO m, ContextK a) => MethodInfo ContextGetGravityHintMethodInfo a signature where
+    overloadedMethod _ = contextGetGravityHint
+
 -- method Context::get_language
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Language"
 -- throws : False
 -- Skip return : False
@@ -360,8 +455,8 @@
 
 contextGetLanguage ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m Language
+    a                                       -- _obj
+    -> m Language                           -- result
 contextGetLanguage _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_language _obj'
@@ -370,11 +465,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetLanguageMethodInfo
+instance (signature ~ (m Language), MonadIO m, ContextK a) => MethodInfo ContextGetLanguageMethodInfo a signature where
+    overloadedMethod _ = contextGetLanguage
+
 -- method Context::get_matrix
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Matrix"
 -- throws : False
 -- Skip return : False
@@ -386,8 +484,8 @@
 
 contextGetMatrix ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m Matrix
+    a                                       -- _obj
+    -> m Matrix                             -- result
 contextGetMatrix _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_matrix _obj'
@@ -396,11 +494,14 @@
     touchManagedPtr _obj
     return result'
 
+data ContextGetMatrixMethodInfo
+instance (signature ~ (m Matrix), MonadIO m, ContextK a) => MethodInfo ContextGetMatrixMethodInfo a signature where
+    overloadedMethod _ = contextGetMatrix
+
 -- method Context::get_metrics
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMetrics"
 -- throws : False
 -- Skip return : False
@@ -414,10 +515,10 @@
 
 contextGetMetrics ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    Maybe (FontDescription) ->              -- desc
-    Maybe (Language) ->                     -- language
-    m FontMetrics
+    a                                       -- _obj
+    -> Maybe (FontDescription)              -- desc
+    -> Maybe (Language)                     -- language
+    -> m FontMetrics                        -- result
 contextGetMetrics _obj desc language = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeDesc <- case desc of
@@ -438,11 +539,14 @@
     whenJust language touchManagedPtr
     return result'
 
+data ContextGetMetricsMethodInfo
+instance (signature ~ (Maybe (FontDescription) -> Maybe (Language) -> m FontMetrics), MonadIO m, ContextK a) => MethodInfo ContextGetMetricsMethodInfo a signature where
+    overloadedMethod _ = contextGetMetrics
+
 -- method Context::get_serial
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -454,19 +558,22 @@
 
 contextGetSerial ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 contextGetSerial _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_context_get_serial _obj'
     touchManagedPtr _obj
     return result
 
+data ContextGetSerialMethodInfo
+instance (signature ~ (m Word32), MonadIO m, ContextK a) => MethodInfo ContextGetSerialMethodInfo a signature where
+    overloadedMethod _ = contextGetSerial
+
 -- method Context::list_families
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -480,28 +587,31 @@
 
 contextListFamilies ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    m ([FontFamily])
+    a                                       -- _obj
+    -> m ([FontFamily])                     -- result
 contextListFamilies _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     families <- allocMem :: IO (Ptr (Ptr (Ptr FontFamily)))
-    n_families <- allocMem :: IO (Ptr Int32)
-    pango_context_list_families _obj' families n_families
-    n_families' <- peek n_families
+    nFamilies <- allocMem :: IO (Ptr Int32)
+    pango_context_list_families _obj' families nFamilies
+    nFamilies' <- peek nFamilies
     families' <- peek families
-    families'' <- (unpackPtrArrayWithLength n_families') families'
+    families'' <- (unpackPtrArrayWithLength nFamilies') families'
     families''' <- mapM (newObject FontFamily) families''
     freeMem families'
     touchManagedPtr _obj
     freeMem families
-    freeMem n_families
+    freeMem nFamilies
     return families'''
 
+data ContextListFamiliesMethodInfo
+instance (signature ~ (m ([FontFamily])), MonadIO m, ContextK a) => MethodInfo ContextListFamiliesMethodInfo a signature where
+    overloadedMethod _ = contextListFamilies
+
 -- method Context::load_font
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Font"
 -- throws : False
 -- Skip return : False
@@ -514,9 +624,9 @@
 
 contextLoadFont ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    FontDescription ->                      -- desc
-    m Font
+    a                                       -- _obj
+    -> FontDescription                      -- desc
+    -> m Font                               -- result
 contextLoadFont _obj desc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let desc' = unsafeManagedPtrGetPtr desc
@@ -527,11 +637,14 @@
     touchManagedPtr desc
     return result'
 
+data ContextLoadFontMethodInfo
+instance (signature ~ (FontDescription -> m Font), MonadIO m, ContextK a) => MethodInfo ContextLoadFontMethodInfo a signature where
+    overloadedMethod _ = contextLoadFont
+
 -- method Context::load_fontset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Fontset"
 -- throws : False
 -- Skip return : False
@@ -545,10 +658,10 @@
 
 contextLoadFontset ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    FontDescription ->                      -- desc
-    Language ->                             -- language
-    m Fontset
+    a                                       -- _obj
+    -> FontDescription                      -- desc
+    -> Language                             -- language
+    -> m Fontset                            -- result
 contextLoadFontset _obj desc language = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let desc' = unsafeManagedPtrGetPtr desc
@@ -561,11 +674,14 @@
     touchManagedPtr language
     return result'
 
+data ContextLoadFontsetMethodInfo
+instance (signature ~ (FontDescription -> Language -> m Fontset), MonadIO m, ContextK a) => MethodInfo ContextLoadFontsetMethodInfo a signature where
+    overloadedMethod _ = contextLoadFontset
+
 -- method Context::set_base_dir
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TInterface "Pango" "Direction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -578,9 +694,9 @@
 
 contextSetBaseDir ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    Direction ->                            -- direction
-    m ()
+    a                                       -- _obj
+    -> Direction                            -- direction
+    -> m ()                                 -- result
 contextSetBaseDir _obj direction = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let direction' = (fromIntegral . fromEnum) direction
@@ -588,11 +704,14 @@
     touchManagedPtr _obj
     return ()
 
+data ContextSetBaseDirMethodInfo
+instance (signature ~ (Direction -> m ()), MonadIO m, ContextK a) => MethodInfo ContextSetBaseDirMethodInfo a signature where
+    overloadedMethod _ = contextSetBaseDir
+
 -- method Context::set_base_gravity
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -605,9 +724,9 @@
 
 contextSetBaseGravity ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    Gravity ->                              -- gravity
-    m ()
+    a                                       -- _obj
+    -> Gravity                              -- gravity
+    -> m ()                                 -- result
 contextSetBaseGravity _obj gravity = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let gravity' = (fromIntegral . fromEnum) gravity
@@ -615,11 +734,14 @@
     touchManagedPtr _obj
     return ()
 
+data ContextSetBaseGravityMethodInfo
+instance (signature ~ (Gravity -> m ()), MonadIO m, ContextK a) => MethodInfo ContextSetBaseGravityMethodInfo a signature where
+    overloadedMethod _ = contextSetBaseGravity
+
 -- method Context::set_font_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -632,9 +754,9 @@
 
 contextSetFontDescription ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    FontDescription ->                      -- desc
-    m ()
+    a                                       -- _obj
+    -> FontDescription                      -- desc
+    -> m ()                                 -- result
 contextSetFontDescription _obj desc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let desc' = unsafeManagedPtrGetPtr desc
@@ -643,11 +765,14 @@
     touchManagedPtr desc
     return ()
 
+data ContextSetFontDescriptionMethodInfo
+instance (signature ~ (FontDescription -> m ()), MonadIO m, ContextK a) => MethodInfo ContextSetFontDescriptionMethodInfo a signature where
+    overloadedMethod _ = contextSetFontDescription
+
 -- method Context::set_font_map
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font_map", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -660,22 +785,25 @@
 
 contextSetFontMap ::
     (MonadIO m, ContextK a, FontMapK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- font_map
-    m ()
-contextSetFontMap _obj font_map = liftIO $ do
+    a                                       -- _obj
+    -> b                                    -- fontMap
+    -> m ()                                 -- result
+contextSetFontMap _obj fontMap = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let font_map' = unsafeManagedPtrCastPtr font_map
-    pango_context_set_font_map _obj' font_map'
+    let fontMap' = unsafeManagedPtrCastPtr fontMap
+    pango_context_set_font_map _obj' fontMap'
     touchManagedPtr _obj
-    touchManagedPtr font_map
+    touchManagedPtr fontMap
     return ()
 
+data ContextSetFontMapMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, ContextK a, FontMapK b) => MethodInfo ContextSetFontMapMethodInfo a signature where
+    overloadedMethod _ = contextSetFontMap
+
 -- method Context::set_gravity_hint
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hint", argType = TInterface "Pango" "GravityHint", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -688,9 +816,9 @@
 
 contextSetGravityHint ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    GravityHint ->                          -- hint
-    m ()
+    a                                       -- _obj
+    -> GravityHint                          -- hint
+    -> m ()                                 -- result
 contextSetGravityHint _obj hint = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let hint' = (fromIntegral . fromEnum) hint
@@ -698,11 +826,14 @@
     touchManagedPtr _obj
     return ()
 
+data ContextSetGravityHintMethodInfo
+instance (signature ~ (GravityHint -> m ()), MonadIO m, ContextK a) => MethodInfo ContextSetGravityHintMethodInfo a signature where
+    overloadedMethod _ = contextSetGravityHint
+
 -- method Context::set_language
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -715,9 +846,9 @@
 
 contextSetLanguage ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    Language ->                             -- language
-    m ()
+    a                                       -- _obj
+    -> Language                             -- language
+    -> m ()                                 -- result
 contextSetLanguage _obj language = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let language' = unsafeManagedPtrGetPtr language
@@ -726,11 +857,14 @@
     touchManagedPtr language
     return ()
 
+data ContextSetLanguageMethodInfo
+instance (signature ~ (Language -> m ()), MonadIO m, ContextK a) => MethodInfo ContextSetLanguageMethodInfo a signature where
+    overloadedMethod _ = contextSetLanguage
+
 -- method Context::set_matrix
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -743,9 +877,9 @@
 
 contextSetMatrix ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- _obj
-    Maybe (Matrix) ->                       -- matrix
-    m ()
+    a                                       -- _obj
+    -> Maybe (Matrix)                       -- matrix
+    -> m ()                                 -- result
 contextSetMatrix _obj matrix = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeMatrix <- case matrix of
@@ -757,5 +891,9 @@
     touchManagedPtr _obj
     whenJust matrix touchManagedPtr
     return ()
+
+data ContextSetMatrixMethodInfo
+instance (signature ~ (Maybe (Matrix) -> m ()), MonadIO m, ContextK a) => MethodInfo ContextSetMatrixMethodInfo a signature where
+    overloadedMethod _ = contextSetMatrix
 
 
diff --git a/GI/Pango/Objects/Context.hs-boot b/GI/Pango/Objects/Context.hs-boot
--- a/GI/Pango/Objects/Context.hs-boot
+++ b/GI/Pango/Objects/Context.hs-boot
@@ -11,3 +11,24 @@
 instance GObject Context where
 class GObject o => ContextK o
 instance (GObject o, IsDescendantOf Context o) => ContextK o
+data ContextChangedMethodInfo
+data ContextGetBaseDirMethodInfo
+data ContextGetBaseGravityMethodInfo
+data ContextGetFontDescriptionMethodInfo
+data ContextGetFontMapMethodInfo
+data ContextGetGravityMethodInfo
+data ContextGetGravityHintMethodInfo
+data ContextGetLanguageMethodInfo
+data ContextGetMatrixMethodInfo
+data ContextGetMetricsMethodInfo
+data ContextGetSerialMethodInfo
+data ContextListFamiliesMethodInfo
+data ContextLoadFontMethodInfo
+data ContextLoadFontsetMethodInfo
+data ContextSetBaseDirMethodInfo
+data ContextSetBaseGravityMethodInfo
+data ContextSetFontDescriptionMethodInfo
+data ContextSetFontMapMethodInfo
+data ContextSetGravityHintMethodInfo
+data ContextSetLanguageMethodInfo
+data ContextSetMatrixMethodInfo
diff --git a/GI/Pango/Objects/Engine.hs b/GI/Pango/Objects/Engine.hs
--- a/GI/Pango/Objects/Engine.hs
+++ b/GI/Pango/Objects/Engine.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,43 @@
 noEngine :: Maybe Engine
 noEngine = Nothing
 
+type family ResolveEngineMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEngineMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveEngineMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveEngineMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveEngineMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveEngineMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveEngineMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveEngineMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveEngineMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveEngineMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveEngineMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveEngineMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveEngineMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveEngineMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveEngineMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveEngineMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveEngineMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveEngineMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveEngineMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveEngineMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveEngineMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveEngineMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveEngineMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveEngineMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEngineMethod t Engine, MethodInfo info Engine p) => IsLabelProxy t (Engine -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEngineMethod t Engine, MethodInfo info Engine p) => IsLabel t (Engine -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Engine = EngineAttributeList
 type EngineAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Engine = EngineSignalList
-type EngineSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type EngineSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Pango/Objects/EngineLang.hs b/GI/Pango/Objects/EngineLang.hs
--- a/GI/Pango/Objects/EngineLang.hs
+++ b/GI/Pango/Objects/EngineLang.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,43 @@
 noEngineLang :: Maybe EngineLang
 noEngineLang = Nothing
 
+type family ResolveEngineLangMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEngineLangMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveEngineLangMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveEngineLangMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveEngineLangMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveEngineLangMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveEngineLangMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveEngineLangMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveEngineLangMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveEngineLangMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveEngineLangMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveEngineLangMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveEngineLangMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveEngineLangMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveEngineLangMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveEngineLangMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveEngineLangMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveEngineLangMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveEngineLangMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveEngineLangMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveEngineLangMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveEngineLangMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveEngineLangMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveEngineLangMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEngineLangMethod t EngineLang, MethodInfo info EngineLang p) => IsLabelProxy t (EngineLang -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEngineLangMethod t EngineLang, MethodInfo info EngineLang p) => IsLabel t (EngineLang -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList EngineLang = EngineLangAttributeList
 type EngineLangAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList EngineLang = EngineLangSignalList
-type EngineLangSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type EngineLangSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Pango/Objects/EngineShape.hs b/GI/Pango/Objects/EngineShape.hs
--- a/GI/Pango/Objects/EngineShape.hs
+++ b/GI/Pango/Objects/EngineShape.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -49,10 +50,43 @@
 noEngineShape :: Maybe EngineShape
 noEngineShape = Nothing
 
+type family ResolveEngineShapeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEngineShapeMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveEngineShapeMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveEngineShapeMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveEngineShapeMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveEngineShapeMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveEngineShapeMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveEngineShapeMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveEngineShapeMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveEngineShapeMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveEngineShapeMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveEngineShapeMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveEngineShapeMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveEngineShapeMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveEngineShapeMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveEngineShapeMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveEngineShapeMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveEngineShapeMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveEngineShapeMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveEngineShapeMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveEngineShapeMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveEngineShapeMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveEngineShapeMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveEngineShapeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEngineShapeMethod t EngineShape, MethodInfo info EngineShape p) => IsLabelProxy t (EngineShape -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEngineShapeMethod t EngineShape, MethodInfo info EngineShape p) => IsLabel t (EngineShape -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList EngineShape = EngineShapeAttributeList
 type EngineShapeAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList EngineShape = EngineShapeSignalList
-type EngineShapeSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type EngineShapeSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 
diff --git a/GI/Pango/Objects/Font.hs b/GI/Pango/Objects/Font.hs
--- a/GI/Pango/Objects/Font.hs
+++ b/GI/Pango/Objects/Font.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
 -- ** fontDescribe
+    FontDescribeMethodInfo                  ,
     fontDescribe                            ,
 
 
 -- ** fontDescribeWithAbsoluteSize
+    FontDescribeWithAbsoluteSizeMethodInfo  ,
     fontDescribeWithAbsoluteSize            ,
 
 
@@ -29,14 +32,17 @@
 
 
 -- ** fontGetFontMap
+    FontGetFontMapMethodInfo                ,
     fontGetFontMap                          ,
 
 
 -- ** fontGetGlyphExtents
+    FontGetGlyphExtentsMethodInfo           ,
     fontGetGlyphExtents                     ,
 
 
 -- ** fontGetMetrics
+    FontGetMetricsMethodInfo                ,
     fontGetMetrics                          ,
 
 
@@ -76,17 +82,54 @@
 noFont :: Maybe Font
 noFont = Nothing
 
+type family ResolveFontMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFontMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFontMethod "describe" o = FontDescribeMethodInfo
+    ResolveFontMethod "describeWithAbsoluteSize" o = FontDescribeWithAbsoluteSizeMethodInfo
+    ResolveFontMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFontMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFontMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFontMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFontMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFontMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFontMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFontMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFontMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFontMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFontMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFontMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFontMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFontMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFontMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFontMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFontMethod "getFontMap" o = FontGetFontMapMethodInfo
+    ResolveFontMethod "getGlyphExtents" o = FontGetGlyphExtentsMethodInfo
+    ResolveFontMethod "getMetrics" o = FontGetMetricsMethodInfo
+    ResolveFontMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFontMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFontMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFontMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFontMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontMethod t Font, MethodInfo info Font p) => IsLabelProxy t (Font -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontMethod t Font, MethodInfo info Font p) => IsLabel t (Font -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Font = FontAttributeList
 type FontAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Font = FontSignalList
-type FontSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type FontSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Font::describe
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -98,8 +141,8 @@
 
 fontDescribe ::
     (MonadIO m, FontK a) =>
-    a ->                                    -- _obj
-    m FontDescription
+    a                                       -- _obj
+    -> m FontDescription                    -- result
 fontDescribe _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_describe _obj'
@@ -108,11 +151,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescribeMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m, FontK a) => MethodInfo FontDescribeMethodInfo a signature where
+    overloadedMethod _ = fontDescribe
+
 -- method Font::describe_with_absolute_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -124,8 +170,8 @@
 
 fontDescribeWithAbsoluteSize ::
     (MonadIO m, FontK a) =>
-    a ->                                    -- _obj
-    m FontDescription
+    a                                       -- _obj
+    -> m FontDescription                    -- result
 fontDescribeWithAbsoluteSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_describe_with_absolute_size _obj'
@@ -134,11 +180,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescribeWithAbsoluteSizeMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m, FontK a) => MethodInfo FontDescribeWithAbsoluteSizeMethodInfo a signature where
+    overloadedMethod _ = fontDescribeWithAbsoluteSize
+
 -- method Font::get_font_map
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMap"
 -- throws : False
 -- Skip return : False
@@ -150,8 +199,8 @@
 
 fontGetFontMap ::
     (MonadIO m, FontK a) =>
-    a ->                                    -- _obj
-    m FontMap
+    a                                       -- _obj
+    -> m FontMap                            -- result
 fontGetFontMap _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_get_font_map _obj'
@@ -160,11 +209,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontGetFontMapMethodInfo
+instance (signature ~ (m FontMap), MonadIO m, FontK a) => MethodInfo FontGetFontMapMethodInfo a signature where
+    overloadedMethod _ = fontGetFontMap
+
 -- method Font::get_glyph_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -179,24 +231,27 @@
 
 fontGetGlyphExtents ::
     (MonadIO m, FontK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- glyph
-    m (Rectangle,Rectangle)
+    a                                       -- _obj
+    -> Word32                               -- glyph
+    -> m (Rectangle,Rectangle)              -- result
 fontGetGlyphExtents _obj glyph = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_font_get_glyph_extents _obj' glyph ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_font_get_glyph_extents _obj' glyph inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data FontGetGlyphExtentsMethodInfo
+instance (signature ~ (Word32 -> m (Rectangle,Rectangle)), MonadIO m, FontK a) => MethodInfo FontGetGlyphExtentsMethodInfo a signature where
+    overloadedMethod _ = fontGetGlyphExtents
+
 -- method Font::get_metrics
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMetrics"
 -- throws : False
 -- Skip return : False
@@ -209,9 +264,9 @@
 
 fontGetMetrics ::
     (MonadIO m, FontK a) =>
-    a ->                                    -- _obj
-    Maybe (Language) ->                     -- language
-    m FontMetrics
+    a                                       -- _obj
+    -> Maybe (Language)                     -- language
+    -> m FontMetrics                        -- result
 fontGetMetrics _obj language = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeLanguage <- case language of
@@ -226,11 +281,14 @@
     whenJust language touchManagedPtr
     return result'
 
+data FontGetMetricsMethodInfo
+instance (signature ~ (Maybe (Language) -> m FontMetrics), MonadIO m, FontK a) => MethodInfo FontGetMetricsMethodInfo a signature where
+    overloadedMethod _ = fontGetMetrics
+
 -- method Font::descriptions_free
 -- method type : MemberFunction
--- Args : [Arg {argName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- Lengths : [Arg {argName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
--- hInArgs : [Arg {argName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "descs", argType = TCArray False (-1) 1 (TInterface "Pango" "FontDescription"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_descs", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : [Arg {argCName = "n_descs", 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
@@ -243,10 +301,10 @@
 
 fontDescriptionsFree ::
     (MonadIO m) =>
-    Maybe ([FontDescription]) ->            -- descs
-    m ()
+    Maybe ([FontDescription])               -- descs
+    -> m ()                                 -- result
 fontDescriptionsFree descs = liftIO $ do
-    let n_descs = case descs of
+    let nDescs = case descs of
             Nothing -> 0
             Just jDescs -> fromIntegral $ length jDescs
     maybeDescs <- case descs of
@@ -255,7 +313,7 @@
             jDescs' <- mapM copyBoxed jDescs
             jDescs'' <- packPtrArray jDescs'
             return jDescs''
-    pango_font_descriptions_free maybeDescs n_descs
+    pango_font_descriptions_free maybeDescs nDescs
     whenJust descs (mapM_ touchManagedPtr)
     return ()
 
diff --git a/GI/Pango/Objects/Font.hs-boot b/GI/Pango/Objects/Font.hs-boot
--- a/GI/Pango/Objects/Font.hs-boot
+++ b/GI/Pango/Objects/Font.hs-boot
@@ -11,3 +11,8 @@
 instance GObject Font where
 class GObject o => FontK o
 instance (GObject o, IsDescendantOf Font o) => FontK o
+data FontDescribeMethodInfo
+data FontDescribeWithAbsoluteSizeMethodInfo
+data FontGetFontMapMethodInfo
+data FontGetGlyphExtentsMethodInfo
+data FontGetMetricsMethodInfo
diff --git a/GI/Pango/Objects/FontFace.hs b/GI/Pango/Objects/FontFace.hs
--- a/GI/Pango/Objects/FontFace.hs
+++ b/GI/Pango/Objects/FontFace.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,18 +18,22 @@
 
  -- * Methods
 -- ** fontFaceDescribe
+    FontFaceDescribeMethodInfo              ,
     fontFaceDescribe                        ,
 
 
 -- ** fontFaceGetFaceName
+    FontFaceGetFaceNameMethodInfo           ,
     fontFaceGetFaceName                     ,
 
 
 -- ** fontFaceIsSynthesized
+    FontFaceIsSynthesizedMethodInfo         ,
     fontFaceIsSynthesized                   ,
 
 
 -- ** fontFaceListSizes
+    FontFaceListSizesMethodInfo             ,
     fontFaceListSizes                       ,
 
 
@@ -68,17 +73,53 @@
 noFontFace :: Maybe FontFace
 noFontFace = Nothing
 
+type family ResolveFontFaceMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontFaceMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFontFaceMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFontFaceMethod "describe" o = FontFaceDescribeMethodInfo
+    ResolveFontFaceMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFontFaceMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFontFaceMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFontFaceMethod "isSynthesized" o = FontFaceIsSynthesizedMethodInfo
+    ResolveFontFaceMethod "listSizes" o = FontFaceListSizesMethodInfo
+    ResolveFontFaceMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFontFaceMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFontFaceMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFontFaceMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFontFaceMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFontFaceMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFontFaceMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFontFaceMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFontFaceMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFontFaceMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFontFaceMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFontFaceMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFontFaceMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFontFaceMethod "getFaceName" o = FontFaceGetFaceNameMethodInfo
+    ResolveFontFaceMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFontFaceMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFontFaceMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFontFaceMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFontFaceMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontFaceMethod t FontFace, MethodInfo info FontFace p) => IsLabelProxy t (FontFace -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontFaceMethod t FontFace, MethodInfo info FontFace p) => IsLabel t (FontFace -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList FontFace = FontFaceAttributeList
 type FontFaceAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList FontFace = FontFaceSignalList
-type FontFaceSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type FontFaceSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method FontFace::describe
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -90,8 +131,8 @@
 
 fontFaceDescribe ::
     (MonadIO m, FontFaceK a) =>
-    a ->                                    -- _obj
-    m FontDescription
+    a                                       -- _obj
+    -> m FontDescription                    -- result
 fontFaceDescribe _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_face_describe _obj'
@@ -100,11 +141,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontFaceDescribeMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m, FontFaceK a) => MethodInfo FontFaceDescribeMethodInfo a signature where
+    overloadedMethod _ = fontFaceDescribe
+
 -- method FontFace::get_face_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -116,8 +160,8 @@
 
 fontFaceGetFaceName ::
     (MonadIO m, FontFaceK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 fontFaceGetFaceName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_face_get_face_name _obj'
@@ -126,11 +170,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontFaceGetFaceNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, FontFaceK a) => MethodInfo FontFaceGetFaceNameMethodInfo a signature where
+    overloadedMethod _ = fontFaceGetFaceName
+
 -- method FontFace::is_synthesized
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -142,8 +189,8 @@
 
 fontFaceIsSynthesized ::
     (MonadIO m, FontFaceK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 fontFaceIsSynthesized _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_face_is_synthesized _obj'
@@ -151,11 +198,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontFaceIsSynthesizedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, FontFaceK a) => MethodInfo FontFaceIsSynthesizedMethodInfo a signature where
+    overloadedMethod _ = fontFaceIsSynthesized
+
 -- method FontFace::list_sizes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "sizes", argType = TCArray False (-1) 2 (TBasicType TInt32), direction = DirectionOut, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFace", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sizes", argType = TCArray False (-1) 2 (TBasicType TInt32), direction = DirectionOut, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_sizes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -169,22 +219,26 @@
 
 fontFaceListSizes ::
     (MonadIO m, FontFaceK a) =>
-    a ->                                    -- _obj
-    m ((Maybe [Int32]))
+    a                                       -- _obj
+    -> m ((Maybe [Int32]))                  -- result
 fontFaceListSizes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     sizes <- allocMem :: IO (Ptr (Ptr Int32))
-    n_sizes <- allocMem :: IO (Ptr Int32)
-    pango_font_face_list_sizes _obj' sizes n_sizes
-    n_sizes' <- peek n_sizes
+    nSizes <- allocMem :: IO (Ptr Int32)
+    pango_font_face_list_sizes _obj' sizes nSizes
+    nSizes' <- peek nSizes
     sizes' <- peek sizes
     maybeSizes' <- convertIfNonNull sizes' $ \sizes'' -> do
-        sizes''' <- (unpackStorableArrayWithLength n_sizes') sizes''
+        sizes''' <- (unpackStorableArrayWithLength nSizes') sizes''
         freeMem sizes''
         return sizes'''
     touchManagedPtr _obj
     freeMem sizes
-    freeMem n_sizes
+    freeMem nSizes
     return maybeSizes'
+
+data FontFaceListSizesMethodInfo
+instance (signature ~ (m ((Maybe [Int32]))), MonadIO m, FontFaceK a) => MethodInfo FontFaceListSizesMethodInfo a signature where
+    overloadedMethod _ = fontFaceListSizes
 
 
diff --git a/GI/Pango/Objects/FontFace.hs-boot b/GI/Pango/Objects/FontFace.hs-boot
--- a/GI/Pango/Objects/FontFace.hs-boot
+++ b/GI/Pango/Objects/FontFace.hs-boot
@@ -11,3 +11,7 @@
 instance GObject FontFace where
 class GObject o => FontFaceK o
 instance (GObject o, IsDescendantOf FontFace o) => FontFaceK o
+data FontFaceDescribeMethodInfo
+data FontFaceGetFaceNameMethodInfo
+data FontFaceIsSynthesizedMethodInfo
+data FontFaceListSizesMethodInfo
diff --git a/GI/Pango/Objects/FontFamily.hs b/GI/Pango/Objects/FontFamily.hs
--- a/GI/Pango/Objects/FontFamily.hs
+++ b/GI/Pango/Objects/FontFamily.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
 -- ** fontFamilyGetName
+    FontFamilyGetNameMethodInfo             ,
     fontFamilyGetName                       ,
 
 
 -- ** fontFamilyIsMonospace
+    FontFamilyIsMonospaceMethodInfo         ,
     fontFamilyIsMonospace                   ,
 
 
 -- ** fontFamilyListFaces
+    FontFamilyListFacesMethodInfo           ,
     fontFamilyListFaces                     ,
 
 
@@ -64,17 +68,52 @@
 noFontFamily :: Maybe FontFamily
 noFontFamily = Nothing
 
+type family ResolveFontFamilyMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontFamilyMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFontFamilyMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFontFamilyMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFontFamilyMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFontFamilyMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFontFamilyMethod "isMonospace" o = FontFamilyIsMonospaceMethodInfo
+    ResolveFontFamilyMethod "listFaces" o = FontFamilyListFacesMethodInfo
+    ResolveFontFamilyMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFontFamilyMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFontFamilyMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFontFamilyMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFontFamilyMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFontFamilyMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFontFamilyMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFontFamilyMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFontFamilyMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFontFamilyMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFontFamilyMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFontFamilyMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFontFamilyMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFontFamilyMethod "getName" o = FontFamilyGetNameMethodInfo
+    ResolveFontFamilyMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFontFamilyMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFontFamilyMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFontFamilyMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFontFamilyMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontFamilyMethod t FontFamily, MethodInfo info FontFamily p) => IsLabelProxy t (FontFamily -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontFamilyMethod t FontFamily, MethodInfo info FontFamily p) => IsLabel t (FontFamily -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList FontFamily = FontFamilyAttributeList
 type FontFamilyAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList FontFamily = FontFamilySignalList
-type FontFamilySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type FontFamilySignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method FontFamily::get_name
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -86,8 +125,8 @@
 
 fontFamilyGetName ::
     (MonadIO m, FontFamilyK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 fontFamilyGetName _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_family_get_name _obj'
@@ -96,11 +135,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontFamilyGetNameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, FontFamilyK a) => MethodInfo FontFamilyGetNameMethodInfo a signature where
+    overloadedMethod _ = fontFamilyGetName
+
 -- method FontFamily::is_monospace
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -112,8 +154,8 @@
 
 fontFamilyIsMonospace ::
     (MonadIO m, FontFamilyK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 fontFamilyIsMonospace _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_family_is_monospace _obj'
@@ -121,11 +163,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontFamilyIsMonospaceMethodInfo
+instance (signature ~ (m Bool), MonadIO m, FontFamilyK a) => MethodInfo FontFamilyIsMonospaceMethodInfo a signature where
+    overloadedMethod _ = fontFamilyIsMonospace
+
 -- method FontFamily::list_faces
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "faces", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFace"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "faces", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFace"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_faces", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -139,21 +184,25 @@
 
 fontFamilyListFaces ::
     (MonadIO m, FontFamilyK a) =>
-    a ->                                    -- _obj
-    m ([FontFace])
+    a                                       -- _obj
+    -> m ([FontFace])                       -- result
 fontFamilyListFaces _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     faces <- allocMem :: IO (Ptr (Ptr (Ptr FontFace)))
-    n_faces <- allocMem :: IO (Ptr Int32)
-    pango_font_family_list_faces _obj' faces n_faces
-    n_faces' <- peek n_faces
+    nFaces <- allocMem :: IO (Ptr Int32)
+    pango_font_family_list_faces _obj' faces nFaces
+    nFaces' <- peek nFaces
     faces' <- peek faces
-    faces'' <- (unpackPtrArrayWithLength n_faces') faces'
+    faces'' <- (unpackPtrArrayWithLength nFaces') faces'
     faces''' <- mapM (newObject FontFace) faces''
     freeMem faces'
     touchManagedPtr _obj
     freeMem faces
-    freeMem n_faces
+    freeMem nFaces
     return faces'''
+
+data FontFamilyListFacesMethodInfo
+instance (signature ~ (m ([FontFace])), MonadIO m, FontFamilyK a) => MethodInfo FontFamilyListFacesMethodInfo a signature where
+    overloadedMethod _ = fontFamilyListFaces
 
 
diff --git a/GI/Pango/Objects/FontFamily.hs-boot b/GI/Pango/Objects/FontFamily.hs-boot
--- a/GI/Pango/Objects/FontFamily.hs-boot
+++ b/GI/Pango/Objects/FontFamily.hs-boot
@@ -11,3 +11,6 @@
 instance GObject FontFamily where
 class GObject o => FontFamilyK o
 instance (GObject o, IsDescendantOf FontFamily o) => FontFamilyK o
+data FontFamilyGetNameMethodInfo
+data FontFamilyIsMonospaceMethodInfo
+data FontFamilyListFacesMethodInfo
diff --git a/GI/Pango/Objects/FontMap.hs b/GI/Pango/Objects/FontMap.hs
--- a/GI/Pango/Objects/FontMap.hs
+++ b/GI/Pango/Objects/FontMap.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
 -- ** fontMapChanged
+    FontMapChangedMethodInfo                ,
     fontMapChanged                          ,
 
 
 -- ** fontMapCreateContext
+    FontMapCreateContextMethodInfo          ,
     fontMapCreateContext                    ,
 
 
 -- ** fontMapGetSerial
+    FontMapGetSerialMethodInfo              ,
     fontMapGetSerial                        ,
 
 
 -- ** fontMapGetShapeEngineType
+    FontMapGetShapeEngineTypeMethodInfo     ,
     fontMapGetShapeEngineType               ,
 
 
 -- ** fontMapListFamilies
+    FontMapListFamiliesMethodInfo           ,
     fontMapListFamilies                     ,
 
 
 -- ** fontMapLoadFont
+    FontMapLoadFontMethodInfo               ,
     fontMapLoadFont                         ,
 
 
 -- ** fontMapLoadFontset
+    FontMapLoadFontsetMethodInfo            ,
     fontMapLoadFontset                      ,
 
 
@@ -80,17 +88,56 @@
 noFontMap :: Maybe FontMap
 noFontMap = Nothing
 
+type family ResolveFontMapMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontMapMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFontMapMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFontMapMethod "changed" o = FontMapChangedMethodInfo
+    ResolveFontMapMethod "createContext" o = FontMapCreateContextMethodInfo
+    ResolveFontMapMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFontMapMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFontMapMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFontMapMethod "listFamilies" o = FontMapListFamiliesMethodInfo
+    ResolveFontMapMethod "loadFont" o = FontMapLoadFontMethodInfo
+    ResolveFontMapMethod "loadFontset" o = FontMapLoadFontsetMethodInfo
+    ResolveFontMapMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFontMapMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFontMapMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFontMapMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFontMapMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFontMapMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFontMapMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFontMapMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFontMapMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFontMapMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFontMapMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFontMapMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFontMapMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFontMapMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFontMapMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFontMapMethod "getSerial" o = FontMapGetSerialMethodInfo
+    ResolveFontMapMethod "getShapeEngineType" o = FontMapGetShapeEngineTypeMethodInfo
+    ResolveFontMapMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFontMapMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFontMapMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontMapMethod t FontMap, MethodInfo info FontMap p) => IsLabelProxy t (FontMap -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontMapMethod t FontMap, MethodInfo info FontMap p) => IsLabel t (FontMap -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList FontMap = FontMapAttributeList
 type FontMapAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList FontMap = FontMapSignalList
-type FontMapSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type FontMapSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method FontMap::changed
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -102,19 +149,22 @@
 
 fontMapChanged ::
     (MonadIO m, FontMapK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 fontMapChanged _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_font_map_changed _obj'
     touchManagedPtr _obj
     return ()
 
+data FontMapChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, FontMapK a) => MethodInfo FontMapChangedMethodInfo a signature where
+    overloadedMethod _ = fontMapChanged
+
 -- method FontMap::create_context
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Context"
 -- throws : False
 -- Skip return : False
@@ -126,8 +176,8 @@
 
 fontMapCreateContext ::
     (MonadIO m, FontMapK a) =>
-    a ->                                    -- _obj
-    m Context
+    a                                       -- _obj
+    -> m Context                            -- result
 fontMapCreateContext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_map_create_context _obj'
@@ -136,11 +186,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontMapCreateContextMethodInfo
+instance (signature ~ (m Context), MonadIO m, FontMapK a) => MethodInfo FontMapCreateContextMethodInfo a signature where
+    overloadedMethod _ = fontMapCreateContext
+
 -- method FontMap::get_serial
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -152,19 +205,22 @@
 
 fontMapGetSerial ::
     (MonadIO m, FontMapK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 fontMapGetSerial _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_map_get_serial _obj'
     touchManagedPtr _obj
     return result
 
+data FontMapGetSerialMethodInfo
+instance (signature ~ (m Word32), MonadIO m, FontMapK a) => MethodInfo FontMapGetSerialMethodInfo a signature where
+    overloadedMethod _ = fontMapGetSerial
+
 -- method FontMap::get_shape_engine_type
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -176,8 +232,8 @@
 {-# DEPRECATED fontMapGetShapeEngineType ["(Since version 1.38)"]#-}
 fontMapGetShapeEngineType ::
     (MonadIO m, FontMapK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 fontMapGetShapeEngineType _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_font_map_get_shape_engine_type _obj'
@@ -186,11 +242,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontMapGetShapeEngineTypeMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, FontMapK a) => MethodInfo FontMapGetShapeEngineTypeMethodInfo a signature where
+    overloadedMethod _ = fontMapGetShapeEngineType
+
 -- method FontMap::list_families
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "families", argType = TCArray False (-1) 2 (TInterface "Pango" "FontFamily"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_families", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -204,28 +263,31 @@
 
 fontMapListFamilies ::
     (MonadIO m, FontMapK a) =>
-    a ->                                    -- _obj
-    m ([FontFamily])
+    a                                       -- _obj
+    -> m ([FontFamily])                     -- result
 fontMapListFamilies _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     families <- allocMem :: IO (Ptr (Ptr (Ptr FontFamily)))
-    n_families <- allocMem :: IO (Ptr Int32)
-    pango_font_map_list_families _obj' families n_families
-    n_families' <- peek n_families
+    nFamilies <- allocMem :: IO (Ptr Int32)
+    pango_font_map_list_families _obj' families nFamilies
+    nFamilies' <- peek nFamilies
     families' <- peek families
-    families'' <- (unpackPtrArrayWithLength n_families') families'
+    families'' <- (unpackPtrArrayWithLength nFamilies') families'
     families''' <- mapM (newObject FontFamily) families''
     freeMem families'
     touchManagedPtr _obj
     freeMem families
-    freeMem n_families
+    freeMem nFamilies
     return families'''
 
+data FontMapListFamiliesMethodInfo
+instance (signature ~ (m ([FontFamily])), MonadIO m, FontMapK a) => MethodInfo FontMapListFamiliesMethodInfo a signature where
+    overloadedMethod _ = fontMapListFamilies
+
 -- method FontMap::load_font
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Font"
 -- throws : False
 -- Skip return : False
@@ -239,10 +301,10 @@
 
 fontMapLoadFont ::
     (MonadIO m, FontMapK a, ContextK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- context
-    FontDescription ->                      -- desc
-    m Font
+    a                                       -- _obj
+    -> b                                    -- context
+    -> FontDescription                      -- desc
+    -> m Font                               -- result
 fontMapLoadFont _obj context desc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let context' = unsafeManagedPtrCastPtr context
@@ -255,11 +317,14 @@
     touchManagedPtr desc
     return result'
 
+data FontMapLoadFontMethodInfo
+instance (signature ~ (b -> FontDescription -> m Font), MonadIO m, FontMapK a, ContextK b) => MethodInfo FontMapLoadFontMethodInfo a signature where
+    overloadedMethod _ = fontMapLoadFont
+
 -- method FontMap::load_fontset
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMap", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Fontset"
 -- throws : False
 -- Skip return : False
@@ -274,11 +339,11 @@
 
 fontMapLoadFontset ::
     (MonadIO m, FontMapK a, ContextK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- context
-    FontDescription ->                      -- desc
-    Language ->                             -- language
-    m Fontset
+    a                                       -- _obj
+    -> b                                    -- context
+    -> FontDescription                      -- desc
+    -> Language                             -- language
+    -> m Fontset                            -- result
 fontMapLoadFontset _obj context desc language = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let context' = unsafeManagedPtrCastPtr context
@@ -292,5 +357,9 @@
     touchManagedPtr desc
     touchManagedPtr language
     return result'
+
+data FontMapLoadFontsetMethodInfo
+instance (signature ~ (b -> FontDescription -> Language -> m Fontset), MonadIO m, FontMapK a, ContextK b) => MethodInfo FontMapLoadFontsetMethodInfo a signature where
+    overloadedMethod _ = fontMapLoadFontset
 
 
diff --git a/GI/Pango/Objects/FontMap.hs-boot b/GI/Pango/Objects/FontMap.hs-boot
--- a/GI/Pango/Objects/FontMap.hs-boot
+++ b/GI/Pango/Objects/FontMap.hs-boot
@@ -11,3 +11,10 @@
 instance GObject FontMap where
 class GObject o => FontMapK o
 instance (GObject o, IsDescendantOf FontMap o) => FontMapK o
+data FontMapChangedMethodInfo
+data FontMapCreateContextMethodInfo
+data FontMapGetSerialMethodInfo
+data FontMapGetShapeEngineTypeMethodInfo
+data FontMapListFamiliesMethodInfo
+data FontMapLoadFontMethodInfo
+data FontMapLoadFontsetMethodInfo
diff --git a/GI/Pango/Objects/Fontset.hs b/GI/Pango/Objects/Fontset.hs
--- a/GI/Pango/Objects/Fontset.hs
+++ b/GI/Pango/Objects/Fontset.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
 -- ** fontsetForeach
+    FontsetForeachMethodInfo                ,
     fontsetForeach                          ,
 
 
 -- ** fontsetGetFont
+    FontsetGetFontMethodInfo                ,
     fontsetGetFont                          ,
 
 
 -- ** fontsetGetMetrics
+    FontsetGetMetricsMethodInfo             ,
     fontsetGetMetrics                       ,
 
 
@@ -64,17 +68,52 @@
 noFontset :: Maybe Fontset
 noFontset = Nothing
 
+type family ResolveFontsetMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontsetMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFontsetMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFontsetMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFontsetMethod "foreach" o = FontsetForeachMethodInfo
+    ResolveFontsetMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFontsetMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFontsetMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFontsetMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFontsetMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFontsetMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFontsetMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFontsetMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFontsetMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFontsetMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFontsetMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFontsetMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFontsetMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFontsetMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFontsetMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFontsetMethod "getFont" o = FontsetGetFontMethodInfo
+    ResolveFontsetMethod "getMetrics" o = FontsetGetMetricsMethodInfo
+    ResolveFontsetMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFontsetMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFontsetMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFontsetMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFontsetMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontsetMethod t Fontset, MethodInfo info Fontset p) => IsLabelProxy t (Fontset -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontsetMethod t Fontset, MethodInfo info Fontset p) => IsLabel t (Fontset -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Fontset = FontsetAttributeList
 type FontsetAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Fontset = FontsetSignalList
-type FontsetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type FontsetSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Fontset::foreach
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, 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 "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, 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 "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "FontsetForeachFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -88,9 +127,9 @@
 
 fontsetForeach ::
     (MonadIO m, FontsetK a) =>
-    a ->                                    -- _obj
-    FontsetForeachFunc ->                   -- func
-    m ()
+    a                                       -- _obj
+    -> FontsetForeachFunc                   -- func
+    -> m ()                                 -- result
 fontsetForeach _obj func = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     func' <- mkFontsetForeachFunc (fontsetForeachFuncWrapper Nothing func)
@@ -100,11 +139,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontsetForeachMethodInfo
+instance (signature ~ (FontsetForeachFunc -> m ()), MonadIO m, FontsetK a) => MethodInfo FontsetForeachMethodInfo a signature where
+    overloadedMethod _ = fontsetForeach
+
 -- method Fontset::get_font
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wc", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Font"
 -- throws : False
 -- Skip return : False
@@ -117,9 +159,9 @@
 
 fontsetGetFont ::
     (MonadIO m, FontsetK a) =>
-    a ->                                    -- _obj
-    Word32 ->                               -- wc
-    m Font
+    a                                       -- _obj
+    -> Word32                               -- wc
+    -> m Font                               -- result
 fontsetGetFont _obj wc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_fontset_get_font _obj' wc
@@ -128,11 +170,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontsetGetFontMethodInfo
+instance (signature ~ (Word32 -> m Font), MonadIO m, FontsetK a) => MethodInfo FontsetGetFontMethodInfo a signature where
+    overloadedMethod _ = fontsetGetFont
+
 -- method Fontset::get_metrics
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Fontset", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMetrics"
 -- throws : False
 -- Skip return : False
@@ -144,8 +189,8 @@
 
 fontsetGetMetrics ::
     (MonadIO m, FontsetK a) =>
-    a ->                                    -- _obj
-    m FontMetrics
+    a                                       -- _obj
+    -> m FontMetrics                        -- result
 fontsetGetMetrics _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_fontset_get_metrics _obj'
@@ -153,5 +198,9 @@
     result' <- (wrapBoxed FontMetrics) result
     touchManagedPtr _obj
     return result'
+
+data FontsetGetMetricsMethodInfo
+instance (signature ~ (m FontMetrics), MonadIO m, FontsetK a) => MethodInfo FontsetGetMetricsMethodInfo a signature where
+    overloadedMethod _ = fontsetGetMetrics
 
 
diff --git a/GI/Pango/Objects/Fontset.hs-boot b/GI/Pango/Objects/Fontset.hs-boot
--- a/GI/Pango/Objects/Fontset.hs-boot
+++ b/GI/Pango/Objects/Fontset.hs-boot
@@ -11,3 +11,6 @@
 instance GObject Fontset where
 class GObject o => FontsetK o
 instance (GObject o, IsDescendantOf Fontset o) => FontsetK o
+data FontsetForeachMethodInfo
+data FontsetGetFontMethodInfo
+data FontsetGetMetricsMethodInfo
diff --git a/GI/Pango/Objects/FontsetSimple.hs b/GI/Pango/Objects/FontsetSimple.hs
--- a/GI/Pango/Objects/FontsetSimple.hs
+++ b/GI/Pango/Objects/FontsetSimple.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
 -- ** fontsetSimpleAppend
+    FontsetSimpleAppendMethodInfo           ,
     fontsetSimpleAppend                     ,
 
 
@@ -25,6 +27,7 @@
 
 
 -- ** fontsetSimpleSize
+    FontsetSimpleSizeMethodInfo             ,
     fontsetSimpleSize                       ,
 
 
@@ -64,17 +67,54 @@
 noFontsetSimple :: Maybe FontsetSimple
 noFontsetSimple = Nothing
 
+type family ResolveFontsetSimpleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontsetSimpleMethod "append" o = FontsetSimpleAppendMethodInfo
+    ResolveFontsetSimpleMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveFontsetSimpleMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveFontsetSimpleMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveFontsetSimpleMethod "foreach" o = FontsetForeachMethodInfo
+    ResolveFontsetSimpleMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveFontsetSimpleMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveFontsetSimpleMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveFontsetSimpleMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveFontsetSimpleMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveFontsetSimpleMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveFontsetSimpleMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveFontsetSimpleMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveFontsetSimpleMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveFontsetSimpleMethod "size" o = FontsetSimpleSizeMethodInfo
+    ResolveFontsetSimpleMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveFontsetSimpleMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveFontsetSimpleMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveFontsetSimpleMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveFontsetSimpleMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveFontsetSimpleMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveFontsetSimpleMethod "getFont" o = FontsetGetFontMethodInfo
+    ResolveFontsetSimpleMethod "getMetrics" o = FontsetGetMetricsMethodInfo
+    ResolveFontsetSimpleMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveFontsetSimpleMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveFontsetSimpleMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveFontsetSimpleMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveFontsetSimpleMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontsetSimpleMethod t FontsetSimple, MethodInfo info FontsetSimple p) => IsLabelProxy t (FontsetSimple -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontsetSimpleMethod t FontsetSimple, MethodInfo info FontsetSimple p) => IsLabel t (FontsetSimple -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList FontsetSimple = FontsetSimpleAttributeList
 type FontsetSimpleAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList FontsetSimple = FontsetSimpleSignalList
-type FontsetSimpleSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type FontsetSimpleSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method FontsetSimple::new
 -- method type : Constructor
--- Args : [Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontsetSimple"
 -- throws : False
 -- Skip return : False
@@ -86,8 +126,8 @@
 
 fontsetSimpleNew ::
     (MonadIO m) =>
-    Language ->                             -- language
-    m FontsetSimple
+    Language                                -- language
+    -> m FontsetSimple                      -- result
 fontsetSimpleNew language = liftIO $ do
     let language' = unsafeManagedPtrGetPtr language
     result <- pango_fontset_simple_new language'
@@ -98,9 +138,8 @@
 
 -- method FontsetSimple::append
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -113,9 +152,9 @@
 
 fontsetSimpleAppend ::
     (MonadIO m, FontsetSimpleK a, FontK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- font
-    m ()
+    a                                       -- _obj
+    -> b                                    -- font
+    -> m ()                                 -- result
 fontsetSimpleAppend _obj font = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let font' = unsafeManagedPtrCastPtr font
@@ -124,11 +163,14 @@
     touchManagedPtr font
     return ()
 
+data FontsetSimpleAppendMethodInfo
+instance (signature ~ (b -> m ()), MonadIO m, FontsetSimpleK a, FontK b) => MethodInfo FontsetSimpleAppendMethodInfo a signature where
+    overloadedMethod _ = fontsetSimpleAppend
+
 -- method FontsetSimple::size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontsetSimple", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -140,12 +182,16 @@
 
 fontsetSimpleSize ::
     (MonadIO m, FontsetSimpleK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 fontsetSimpleSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_fontset_simple_size _obj'
     touchManagedPtr _obj
     return result
+
+data FontsetSimpleSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m, FontsetSimpleK a) => MethodInfo FontsetSimpleSizeMethodInfo a signature where
+    overloadedMethod _ = fontsetSimpleSize
 
 
diff --git a/GI/Pango/Objects/FontsetSimple.hs-boot b/GI/Pango/Objects/FontsetSimple.hs-boot
--- a/GI/Pango/Objects/FontsetSimple.hs-boot
+++ b/GI/Pango/Objects/FontsetSimple.hs-boot
@@ -11,3 +11,5 @@
 instance GObject FontsetSimple where
 class GObject o => FontsetSimpleK o
 instance (GObject o, IsDescendantOf FontsetSimple o) => FontsetSimpleK o
+data FontsetSimpleAppendMethodInfo
+data FontsetSimpleSizeMethodInfo
diff --git a/GI/Pango/Objects/Layout.hs b/GI/Pango/Objects/Layout.hs
--- a/GI/Pango/Objects/Layout.hs
+++ b/GI/Pango/Objects/Layout.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,158 +18,197 @@
 
  -- * Methods
 -- ** layoutContextChanged
+    LayoutContextChangedMethodInfo          ,
     layoutContextChanged                    ,
 
 
 -- ** layoutCopy
+    LayoutCopyMethodInfo                    ,
     layoutCopy                              ,
 
 
 -- ** layoutGetAlignment
+    LayoutGetAlignmentMethodInfo            ,
     layoutGetAlignment                      ,
 
 
 -- ** layoutGetAttributes
+    LayoutGetAttributesMethodInfo           ,
     layoutGetAttributes                     ,
 
 
 -- ** layoutGetAutoDir
+    LayoutGetAutoDirMethodInfo              ,
     layoutGetAutoDir                        ,
 
 
 -- ** layoutGetBaseline
+    LayoutGetBaselineMethodInfo             ,
     layoutGetBaseline                       ,
 
 
 -- ** layoutGetCharacterCount
+    LayoutGetCharacterCountMethodInfo       ,
     layoutGetCharacterCount                 ,
 
 
 -- ** layoutGetContext
+    LayoutGetContextMethodInfo              ,
     layoutGetContext                        ,
 
 
 -- ** layoutGetCursorPos
+    LayoutGetCursorPosMethodInfo            ,
     layoutGetCursorPos                      ,
 
 
 -- ** layoutGetEllipsize
+    LayoutGetEllipsizeMethodInfo            ,
     layoutGetEllipsize                      ,
 
 
 -- ** layoutGetExtents
+    LayoutGetExtentsMethodInfo              ,
     layoutGetExtents                        ,
 
 
 -- ** layoutGetFontDescription
+    LayoutGetFontDescriptionMethodInfo      ,
     layoutGetFontDescription                ,
 
 
 -- ** layoutGetHeight
+    LayoutGetHeightMethodInfo               ,
     layoutGetHeight                         ,
 
 
 -- ** layoutGetIndent
+    LayoutGetIndentMethodInfo               ,
     layoutGetIndent                         ,
 
 
 -- ** layoutGetIter
+    LayoutGetIterMethodInfo                 ,
     layoutGetIter                           ,
 
 
 -- ** layoutGetJustify
+    LayoutGetJustifyMethodInfo              ,
     layoutGetJustify                        ,
 
 
 -- ** layoutGetLine
+    LayoutGetLineMethodInfo                 ,
     layoutGetLine                           ,
 
 
 -- ** layoutGetLineCount
+    LayoutGetLineCountMethodInfo            ,
     layoutGetLineCount                      ,
 
 
 -- ** layoutGetLineReadonly
+    LayoutGetLineReadonlyMethodInfo         ,
     layoutGetLineReadonly                   ,
 
 
 -- ** layoutGetLines
+    LayoutGetLinesMethodInfo                ,
     layoutGetLines                          ,
 
 
 -- ** layoutGetLinesReadonly
+    LayoutGetLinesReadonlyMethodInfo        ,
     layoutGetLinesReadonly                  ,
 
 
 -- ** layoutGetLogAttrs
+    LayoutGetLogAttrsMethodInfo             ,
     layoutGetLogAttrs                       ,
 
 
 -- ** layoutGetLogAttrsReadonly
+    LayoutGetLogAttrsReadonlyMethodInfo     ,
     layoutGetLogAttrsReadonly               ,
 
 
 -- ** layoutGetPixelExtents
+    LayoutGetPixelExtentsMethodInfo         ,
     layoutGetPixelExtents                   ,
 
 
 -- ** layoutGetPixelSize
+    LayoutGetPixelSizeMethodInfo            ,
     layoutGetPixelSize                      ,
 
 
 -- ** layoutGetSerial
+    LayoutGetSerialMethodInfo               ,
     layoutGetSerial                         ,
 
 
 -- ** layoutGetSingleParagraphMode
+    LayoutGetSingleParagraphModeMethodInfo  ,
     layoutGetSingleParagraphMode            ,
 
 
 -- ** layoutGetSize
+    LayoutGetSizeMethodInfo                 ,
     layoutGetSize                           ,
 
 
 -- ** layoutGetSpacing
+    LayoutGetSpacingMethodInfo              ,
     layoutGetSpacing                        ,
 
 
 -- ** layoutGetTabs
+    LayoutGetTabsMethodInfo                 ,
     layoutGetTabs                           ,
 
 
 -- ** layoutGetText
+    LayoutGetTextMethodInfo                 ,
     layoutGetText                           ,
 
 
 -- ** layoutGetUnknownGlyphsCount
+    LayoutGetUnknownGlyphsCountMethodInfo   ,
     layoutGetUnknownGlyphsCount             ,
 
 
 -- ** layoutGetWidth
+    LayoutGetWidthMethodInfo                ,
     layoutGetWidth                          ,
 
 
 -- ** layoutGetWrap
+    LayoutGetWrapMethodInfo                 ,
     layoutGetWrap                           ,
 
 
 -- ** layoutIndexToLineX
+    LayoutIndexToLineXMethodInfo            ,
     layoutIndexToLineX                      ,
 
 
 -- ** layoutIndexToPos
+    LayoutIndexToPosMethodInfo              ,
     layoutIndexToPos                        ,
 
 
 -- ** layoutIsEllipsized
+    LayoutIsEllipsizedMethodInfo            ,
     layoutIsEllipsized                      ,
 
 
 -- ** layoutIsWrapped
+    LayoutIsWrappedMethodInfo               ,
     layoutIsWrapped                         ,
 
 
 -- ** layoutMoveCursorVisually
+    LayoutMoveCursorVisuallyMethodInfo      ,
     layoutMoveCursorVisually                ,
 
 
@@ -177,70 +217,87 @@
 
 
 -- ** layoutSetAlignment
+    LayoutSetAlignmentMethodInfo            ,
     layoutSetAlignment                      ,
 
 
 -- ** layoutSetAttributes
+    LayoutSetAttributesMethodInfo           ,
     layoutSetAttributes                     ,
 
 
 -- ** layoutSetAutoDir
+    LayoutSetAutoDirMethodInfo              ,
     layoutSetAutoDir                        ,
 
 
 -- ** layoutSetEllipsize
+    LayoutSetEllipsizeMethodInfo            ,
     layoutSetEllipsize                      ,
 
 
 -- ** layoutSetFontDescription
+    LayoutSetFontDescriptionMethodInfo      ,
     layoutSetFontDescription                ,
 
 
 -- ** layoutSetHeight
+    LayoutSetHeightMethodInfo               ,
     layoutSetHeight                         ,
 
 
 -- ** layoutSetIndent
+    LayoutSetIndentMethodInfo               ,
     layoutSetIndent                         ,
 
 
 -- ** layoutSetJustify
+    LayoutSetJustifyMethodInfo              ,
     layoutSetJustify                        ,
 
 
 -- ** layoutSetMarkup
+    LayoutSetMarkupMethodInfo               ,
     layoutSetMarkup                         ,
 
 
 -- ** layoutSetMarkupWithAccel
+    LayoutSetMarkupWithAccelMethodInfo      ,
     layoutSetMarkupWithAccel                ,
 
 
 -- ** layoutSetSingleParagraphMode
+    LayoutSetSingleParagraphModeMethodInfo  ,
     layoutSetSingleParagraphMode            ,
 
 
 -- ** layoutSetSpacing
+    LayoutSetSpacingMethodInfo              ,
     layoutSetSpacing                        ,
 
 
 -- ** layoutSetTabs
+    LayoutSetTabsMethodInfo                 ,
     layoutSetTabs                           ,
 
 
 -- ** layoutSetText
+    LayoutSetTextMethodInfo                 ,
     layoutSetText                           ,
 
 
 -- ** layoutSetWidth
+    LayoutSetWidthMethodInfo                ,
     layoutSetWidth                          ,
 
 
 -- ** layoutSetWrap
+    LayoutSetWrapMethodInfo                 ,
     layoutSetWrap                           ,
 
 
 -- ** layoutXyToIndex
+    LayoutXyToIndexMethodInfo               ,
     layoutXyToIndex                         ,
 
 
@@ -280,17 +337,105 @@
 noLayout :: Maybe Layout
 noLayout = Nothing
 
+type family ResolveLayoutMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLayoutMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveLayoutMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveLayoutMethod "contextChanged" o = LayoutContextChangedMethodInfo
+    ResolveLayoutMethod "copy" o = LayoutCopyMethodInfo
+    ResolveLayoutMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveLayoutMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveLayoutMethod "indexToLineX" o = LayoutIndexToLineXMethodInfo
+    ResolveLayoutMethod "indexToPos" o = LayoutIndexToPosMethodInfo
+    ResolveLayoutMethod "isEllipsized" o = LayoutIsEllipsizedMethodInfo
+    ResolveLayoutMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveLayoutMethod "isWrapped" o = LayoutIsWrappedMethodInfo
+    ResolveLayoutMethod "moveCursorVisually" o = LayoutMoveCursorVisuallyMethodInfo
+    ResolveLayoutMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveLayoutMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveLayoutMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveLayoutMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveLayoutMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveLayoutMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveLayoutMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveLayoutMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveLayoutMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveLayoutMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveLayoutMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveLayoutMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveLayoutMethod "xyToIndex" o = LayoutXyToIndexMethodInfo
+    ResolveLayoutMethod "getAlignment" o = LayoutGetAlignmentMethodInfo
+    ResolveLayoutMethod "getAttributes" o = LayoutGetAttributesMethodInfo
+    ResolveLayoutMethod "getAutoDir" o = LayoutGetAutoDirMethodInfo
+    ResolveLayoutMethod "getBaseline" o = LayoutGetBaselineMethodInfo
+    ResolveLayoutMethod "getCharacterCount" o = LayoutGetCharacterCountMethodInfo
+    ResolveLayoutMethod "getContext" o = LayoutGetContextMethodInfo
+    ResolveLayoutMethod "getCursorPos" o = LayoutGetCursorPosMethodInfo
+    ResolveLayoutMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveLayoutMethod "getEllipsize" o = LayoutGetEllipsizeMethodInfo
+    ResolveLayoutMethod "getExtents" o = LayoutGetExtentsMethodInfo
+    ResolveLayoutMethod "getFontDescription" o = LayoutGetFontDescriptionMethodInfo
+    ResolveLayoutMethod "getHeight" o = LayoutGetHeightMethodInfo
+    ResolveLayoutMethod "getIndent" o = LayoutGetIndentMethodInfo
+    ResolveLayoutMethod "getIter" o = LayoutGetIterMethodInfo
+    ResolveLayoutMethod "getJustify" o = LayoutGetJustifyMethodInfo
+    ResolveLayoutMethod "getLine" o = LayoutGetLineMethodInfo
+    ResolveLayoutMethod "getLineCount" o = LayoutGetLineCountMethodInfo
+    ResolveLayoutMethod "getLineReadonly" o = LayoutGetLineReadonlyMethodInfo
+    ResolveLayoutMethod "getLines" o = LayoutGetLinesMethodInfo
+    ResolveLayoutMethod "getLinesReadonly" o = LayoutGetLinesReadonlyMethodInfo
+    ResolveLayoutMethod "getLogAttrs" o = LayoutGetLogAttrsMethodInfo
+    ResolveLayoutMethod "getLogAttrsReadonly" o = LayoutGetLogAttrsReadonlyMethodInfo
+    ResolveLayoutMethod "getPixelExtents" o = LayoutGetPixelExtentsMethodInfo
+    ResolveLayoutMethod "getPixelSize" o = LayoutGetPixelSizeMethodInfo
+    ResolveLayoutMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveLayoutMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveLayoutMethod "getSerial" o = LayoutGetSerialMethodInfo
+    ResolveLayoutMethod "getSingleParagraphMode" o = LayoutGetSingleParagraphModeMethodInfo
+    ResolveLayoutMethod "getSize" o = LayoutGetSizeMethodInfo
+    ResolveLayoutMethod "getSpacing" o = LayoutGetSpacingMethodInfo
+    ResolveLayoutMethod "getTabs" o = LayoutGetTabsMethodInfo
+    ResolveLayoutMethod "getText" o = LayoutGetTextMethodInfo
+    ResolveLayoutMethod "getUnknownGlyphsCount" o = LayoutGetUnknownGlyphsCountMethodInfo
+    ResolveLayoutMethod "getWidth" o = LayoutGetWidthMethodInfo
+    ResolveLayoutMethod "getWrap" o = LayoutGetWrapMethodInfo
+    ResolveLayoutMethod "setAlignment" o = LayoutSetAlignmentMethodInfo
+    ResolveLayoutMethod "setAttributes" o = LayoutSetAttributesMethodInfo
+    ResolveLayoutMethod "setAutoDir" o = LayoutSetAutoDirMethodInfo
+    ResolveLayoutMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveLayoutMethod "setEllipsize" o = LayoutSetEllipsizeMethodInfo
+    ResolveLayoutMethod "setFontDescription" o = LayoutSetFontDescriptionMethodInfo
+    ResolveLayoutMethod "setHeight" o = LayoutSetHeightMethodInfo
+    ResolveLayoutMethod "setIndent" o = LayoutSetIndentMethodInfo
+    ResolveLayoutMethod "setJustify" o = LayoutSetJustifyMethodInfo
+    ResolveLayoutMethod "setMarkup" o = LayoutSetMarkupMethodInfo
+    ResolveLayoutMethod "setMarkupWithAccel" o = LayoutSetMarkupWithAccelMethodInfo
+    ResolveLayoutMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveLayoutMethod "setSingleParagraphMode" o = LayoutSetSingleParagraphModeMethodInfo
+    ResolveLayoutMethod "setSpacing" o = LayoutSetSpacingMethodInfo
+    ResolveLayoutMethod "setTabs" o = LayoutSetTabsMethodInfo
+    ResolveLayoutMethod "setText" o = LayoutSetTextMethodInfo
+    ResolveLayoutMethod "setWidth" o = LayoutSetWidthMethodInfo
+    ResolveLayoutMethod "setWrap" o = LayoutSetWrapMethodInfo
+    ResolveLayoutMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLayoutMethod t Layout, MethodInfo info Layout p) => IsLabelProxy t (Layout -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLayoutMethod t Layout, MethodInfo info Layout p) => IsLabel t (Layout -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Layout = LayoutAttributeList
 type LayoutAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Layout = LayoutSignalList
-type LayoutSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type LayoutSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Layout::new
 -- method type : Constructor
--- Args : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "context", argType = TInterface "Pango" "Context", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Layout"
 -- throws : False
 -- Skip return : False
@@ -302,8 +447,8 @@
 
 layoutNew ::
     (MonadIO m, ContextK a) =>
-    a ->                                    -- context
-    m Layout
+    a                                       -- context
+    -> m Layout                             -- result
 layoutNew context = liftIO $ do
     let context' = unsafeManagedPtrCastPtr context
     result <- pango_layout_new context'
@@ -314,9 +459,8 @@
 
 -- method Layout::context_changed
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -328,19 +472,22 @@
 
 layoutContextChanged ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 layoutContextChanged _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_layout_context_changed _obj'
     touchManagedPtr _obj
     return ()
 
+data LayoutContextChangedMethodInfo
+instance (signature ~ (m ()), MonadIO m, LayoutK a) => MethodInfo LayoutContextChangedMethodInfo a signature where
+    overloadedMethod _ = layoutContextChanged
+
 -- method Layout::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Layout"
 -- throws : False
 -- Skip return : False
@@ -352,8 +499,8 @@
 
 layoutCopy ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Layout
+    a                                       -- _obj
+    -> m Layout                             -- result
 layoutCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_copy _obj'
@@ -362,11 +509,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutCopyMethodInfo
+instance (signature ~ (m Layout), MonadIO m, LayoutK a) => MethodInfo LayoutCopyMethodInfo a signature where
+    overloadedMethod _ = layoutCopy
+
 -- method Layout::get_alignment
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Alignment"
 -- throws : False
 -- Skip return : False
@@ -378,8 +528,8 @@
 
 layoutGetAlignment ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Alignment
+    a                                       -- _obj
+    -> m Alignment                          -- result
 layoutGetAlignment _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_alignment _obj'
@@ -387,11 +537,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetAlignmentMethodInfo
+instance (signature ~ (m Alignment), MonadIO m, LayoutK a) => MethodInfo LayoutGetAlignmentMethodInfo a signature where
+    overloadedMethod _ = layoutGetAlignment
+
 -- method Layout::get_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "AttrList"
 -- throws : False
 -- Skip return : False
@@ -403,8 +556,8 @@
 
 layoutGetAttributes ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m AttrList
+    a                                       -- _obj
+    -> m AttrList                           -- result
 layoutGetAttributes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_attributes _obj'
@@ -413,11 +566,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetAttributesMethodInfo
+instance (signature ~ (m AttrList), MonadIO m, LayoutK a) => MethodInfo LayoutGetAttributesMethodInfo a signature where
+    overloadedMethod _ = layoutGetAttributes
+
 -- method Layout::get_auto_dir
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -429,8 +585,8 @@
 
 layoutGetAutoDir ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 layoutGetAutoDir _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_auto_dir _obj'
@@ -438,11 +594,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetAutoDirMethodInfo
+instance (signature ~ (m Bool), MonadIO m, LayoutK a) => MethodInfo LayoutGetAutoDirMethodInfo a signature where
+    overloadedMethod _ = layoutGetAutoDir
+
 -- method Layout::get_baseline
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -454,19 +613,22 @@
 
 layoutGetBaseline ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetBaseline _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_baseline _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetBaselineMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetBaselineMethodInfo a signature where
+    overloadedMethod _ = layoutGetBaseline
+
 -- method Layout::get_character_count
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -478,19 +640,22 @@
 
 layoutGetCharacterCount ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetCharacterCount _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_character_count _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetCharacterCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetCharacterCountMethodInfo a signature where
+    overloadedMethod _ = layoutGetCharacterCount
+
 -- method Layout::get_context
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Context"
 -- throws : False
 -- Skip return : False
@@ -502,8 +667,8 @@
 
 layoutGetContext ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Context
+    a                                       -- _obj
+    -> m Context                            -- result
 layoutGetContext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_context _obj'
@@ -512,11 +677,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetContextMethodInfo
+instance (signature ~ (m Context), MonadIO m, LayoutK a) => MethodInfo LayoutGetContextMethodInfo a signature where
+    overloadedMethod _ = layoutGetContext
+
 -- method Layout::get_cursor_pos
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argName = "strong_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weak_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argCName = "strong_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "weak_pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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 TVoid
 -- throws : False
 -- Skip return : False
@@ -531,24 +699,27 @@
 
 layoutGetCursorPos ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- index_
-    m (Rectangle,Rectangle)
-layoutGetCursorPos _obj index_ = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- index
+    -> m (Rectangle,Rectangle)              -- result
+layoutGetCursorPos _obj index = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    strong_pos <- callocBytes 16 :: IO (Ptr Rectangle)
-    weak_pos <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_get_cursor_pos _obj' index_ strong_pos weak_pos
-    strong_pos' <- (wrapPtr Rectangle) strong_pos
-    weak_pos' <- (wrapPtr Rectangle) weak_pos
+    strongPos <- callocBytes 16 :: IO (Ptr Rectangle)
+    weakPos <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_get_cursor_pos _obj' index strongPos weakPos
+    strongPos' <- (wrapPtr Rectangle) strongPos
+    weakPos' <- (wrapPtr Rectangle) weakPos
     touchManagedPtr _obj
-    return (strong_pos', weak_pos')
+    return (strongPos', weakPos')
 
+data LayoutGetCursorPosMethodInfo
+instance (signature ~ (Int32 -> m (Rectangle,Rectangle)), MonadIO m, LayoutK a) => MethodInfo LayoutGetCursorPosMethodInfo a signature where
+    overloadedMethod _ = layoutGetCursorPos
+
 -- method Layout::get_ellipsize
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "EllipsizeMode"
 -- throws : False
 -- Skip return : False
@@ -560,8 +731,8 @@
 
 layoutGetEllipsize ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m EllipsizeMode
+    a                                       -- _obj
+    -> m EllipsizeMode                      -- result
 layoutGetEllipsize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_ellipsize _obj'
@@ -569,11 +740,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetEllipsizeMethodInfo
+instance (signature ~ (m EllipsizeMode), MonadIO m, LayoutK a) => MethodInfo LayoutGetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = layoutGetEllipsize
+
 -- method Layout::get_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -587,23 +761,26 @@
 
 layoutGetExtents ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m (Rectangle,Rectangle)
+    a                                       -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutGetExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_get_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_get_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutGetExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m, LayoutK a) => MethodInfo LayoutGetExtentsMethodInfo a signature where
+    overloadedMethod _ = layoutGetExtents
+
 -- method Layout::get_font_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -615,8 +792,8 @@
 
 layoutGetFontDescription ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m FontDescription
+    a                                       -- _obj
+    -> m FontDescription                    -- result
 layoutGetFontDescription _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_font_description _obj'
@@ -625,11 +802,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetFontDescriptionMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m, LayoutK a) => MethodInfo LayoutGetFontDescriptionMethodInfo a signature where
+    overloadedMethod _ = layoutGetFontDescription
+
 -- method Layout::get_height
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -641,19 +821,22 @@
 
 layoutGetHeight ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetHeight _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_height _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetHeightMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetHeightMethodInfo a signature where
+    overloadedMethod _ = layoutGetHeight
+
 -- method Layout::get_indent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -665,19 +848,22 @@
 
 layoutGetIndent ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetIndent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_indent _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetIndentMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetIndentMethodInfo a signature where
+    overloadedMethod _ = layoutGetIndent
+
 -- method Layout::get_iter
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutIter"
 -- throws : False
 -- Skip return : False
@@ -689,8 +875,8 @@
 
 layoutGetIter ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m LayoutIter
+    a                                       -- _obj
+    -> m LayoutIter                         -- result
 layoutGetIter _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_iter _obj'
@@ -699,11 +885,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetIterMethodInfo
+instance (signature ~ (m LayoutIter), MonadIO m, LayoutK a) => MethodInfo LayoutGetIterMethodInfo a signature where
+    overloadedMethod _ = layoutGetIter
+
 -- method Layout::get_justify
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -715,8 +904,8 @@
 
 layoutGetJustify ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 layoutGetJustify _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_justify _obj'
@@ -724,11 +913,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetJustifyMethodInfo
+instance (signature ~ (m Bool), MonadIO m, LayoutK a) => MethodInfo LayoutGetJustifyMethodInfo a signature where
+    overloadedMethod _ = layoutGetJustify
+
 -- method Layout::get_line
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutLine"
 -- throws : False
 -- Skip return : False
@@ -741,9 +933,9 @@
 
 layoutGetLine ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- line
-    m LayoutLine
+    a                                       -- _obj
+    -> Int32                                -- line
+    -> m LayoutLine                         -- result
 layoutGetLine _obj line = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_line _obj' line
@@ -752,11 +944,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetLineMethodInfo
+instance (signature ~ (Int32 -> m LayoutLine), MonadIO m, LayoutK a) => MethodInfo LayoutGetLineMethodInfo a signature where
+    overloadedMethod _ = layoutGetLine
+
 -- method Layout::get_line_count
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -768,19 +963,22 @@
 
 layoutGetLineCount ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetLineCount _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_line_count _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetLineCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetLineCountMethodInfo a signature where
+    overloadedMethod _ = layoutGetLineCount
+
 -- method Layout::get_line_readonly
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutLine"
 -- throws : False
 -- Skip return : False
@@ -793,9 +991,9 @@
 
 layoutGetLineReadonly ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- line
-    m LayoutLine
+    a                                       -- _obj
+    -> Int32                                -- line
+    -> m LayoutLine                         -- result
 layoutGetLineReadonly _obj line = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_line_readonly _obj' line
@@ -804,11 +1002,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetLineReadonlyMethodInfo
+instance (signature ~ (Int32 -> m LayoutLine), MonadIO m, LayoutK a) => MethodInfo LayoutGetLineReadonlyMethodInfo a signature where
+    overloadedMethod _ = layoutGetLineReadonly
+
 -- method Layout::get_lines
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Pango" "LayoutLine")
 -- throws : False
 -- Skip return : False
@@ -820,8 +1021,8 @@
 
 layoutGetLines ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m [LayoutLine]
+    a                                       -- _obj
+    -> m [LayoutLine]                       -- result
 layoutGetLines _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_lines _obj'
@@ -831,11 +1032,14 @@
     touchManagedPtr _obj
     return result''
 
+data LayoutGetLinesMethodInfo
+instance (signature ~ (m [LayoutLine]), MonadIO m, LayoutK a) => MethodInfo LayoutGetLinesMethodInfo a signature where
+    overloadedMethod _ = layoutGetLines
+
 -- method Layout::get_lines_readonly
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Pango" "LayoutLine")
 -- throws : False
 -- Skip return : False
@@ -847,8 +1051,8 @@
 
 layoutGetLinesReadonly ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m [LayoutLine]
+    a                                       -- _obj
+    -> m [LayoutLine]                       -- result
 layoutGetLinesReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_lines_readonly _obj'
@@ -858,11 +1062,14 @@
     touchManagedPtr _obj
     return result''
 
+data LayoutGetLinesReadonlyMethodInfo
+instance (signature ~ (m [LayoutLine]), MonadIO m, LayoutK a) => MethodInfo LayoutGetLinesReadonlyMethodInfo a signature where
+    overloadedMethod _ = layoutGetLinesReadonly
+
 -- method Layout::get_log_attrs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TCArray False (-1) 2 (TInterface "Pango" "LogAttr"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferContainer},Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TCArray False (-1) 2 (TInterface "Pango" "LogAttr"), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -876,28 +1083,31 @@
 
 layoutGetLogAttrs ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m ([LogAttr])
+    a                                       -- _obj
+    -> m ([LogAttr])                        -- result
 layoutGetLogAttrs _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     attrs <- allocMem :: IO (Ptr (Ptr LogAttr))
-    n_attrs <- allocMem :: IO (Ptr Int32)
-    pango_layout_get_log_attrs _obj' attrs n_attrs
-    n_attrs' <- peek n_attrs
+    nAttrs <- allocMem :: IO (Ptr Int32)
+    pango_layout_get_log_attrs _obj' attrs nAttrs
+    nAttrs' <- peek nAttrs
     attrs' <- peek attrs
-    attrs'' <- (unpackBlockArrayWithLength 52 n_attrs') attrs'
+    attrs'' <- (unpackBlockArrayWithLength 52 nAttrs') attrs'
     attrs''' <- mapM (newPtr 52 LogAttr) attrs''
     freeMem attrs'
     touchManagedPtr _obj
     freeMem attrs
-    freeMem n_attrs
+    freeMem nAttrs
     return attrs'''
 
+data LayoutGetLogAttrsMethodInfo
+instance (signature ~ (m ([LogAttr])), MonadIO m, LayoutK a) => MethodInfo LayoutGetLogAttrsMethodInfo a signature where
+    overloadedMethod _ = layoutGetLogAttrs
+
 -- method Layout::get_log_attrs_readonly
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_attrs", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TCArray False (-1) 1 (TInterface "Pango" "LogAttr")
 -- throws : False
 -- Skip return : False
@@ -910,25 +1120,28 @@
 
 layoutGetLogAttrsReadonly ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m [LogAttr]
+    a                                       -- _obj
+    -> m [LogAttr]                          -- result
 layoutGetLogAttrsReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    n_attrs <- allocMem :: IO (Ptr Int32)
-    result <- pango_layout_get_log_attrs_readonly _obj' n_attrs
-    n_attrs' <- peek n_attrs
+    nAttrs <- allocMem :: IO (Ptr Int32)
+    result <- pango_layout_get_log_attrs_readonly _obj' nAttrs
+    nAttrs' <- peek nAttrs
     checkUnexpectedReturnNULL "pango_layout_get_log_attrs_readonly" result
-    result' <- (unpackBlockArrayWithLength 52 n_attrs') result
+    result' <- (unpackBlockArrayWithLength 52 nAttrs') result
     result'' <- mapM (newPtr 52 LogAttr) result'
     touchManagedPtr _obj
-    freeMem n_attrs
+    freeMem nAttrs
     return result''
 
+data LayoutGetLogAttrsReadonlyMethodInfo
+instance (signature ~ (m [LogAttr]), MonadIO m, LayoutK a) => MethodInfo LayoutGetLogAttrsReadonlyMethodInfo a signature where
+    overloadedMethod _ = layoutGetLogAttrsReadonly
+
 -- method Layout::get_pixel_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -942,23 +1155,26 @@
 
 layoutGetPixelExtents ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m (Rectangle,Rectangle)
+    a                                       -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutGetPixelExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_get_pixel_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_get_pixel_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutGetPixelExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m, LayoutK a) => MethodInfo LayoutGetPixelExtentsMethodInfo a signature where
+    overloadedMethod _ = layoutGetPixelExtents
+
 -- method Layout::get_pixel_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -972,8 +1188,8 @@
 
 layoutGetPixelSize ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32)
+    a                                       -- _obj
+    -> m (Int32,Int32)                      -- result
 layoutGetPixelSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     width <- allocMem :: IO (Ptr Int32)
@@ -986,11 +1202,14 @@
     freeMem height
     return (width', height')
 
+data LayoutGetPixelSizeMethodInfo
+instance (signature ~ (m (Int32,Int32)), MonadIO m, LayoutK a) => MethodInfo LayoutGetPixelSizeMethodInfo a signature where
+    overloadedMethod _ = layoutGetPixelSize
+
 -- method Layout::get_serial
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -1002,19 +1221,22 @@
 
 layoutGetSerial ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Word32
+    a                                       -- _obj
+    -> m Word32                             -- result
 layoutGetSerial _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_serial _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetSerialMethodInfo
+instance (signature ~ (m Word32), MonadIO m, LayoutK a) => MethodInfo LayoutGetSerialMethodInfo a signature where
+    overloadedMethod _ = layoutGetSerial
+
 -- method Layout::get_single_paragraph_mode
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1026,8 +1248,8 @@
 
 layoutGetSingleParagraphMode ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 layoutGetSingleParagraphMode _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_single_paragraph_mode _obj'
@@ -1035,11 +1257,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetSingleParagraphModeMethodInfo
+instance (signature ~ (m Bool), MonadIO m, LayoutK a) => MethodInfo LayoutGetSingleParagraphModeMethodInfo a signature where
+    overloadedMethod _ = layoutGetSingleParagraphMode
+
 -- method Layout::get_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "height", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1053,8 +1278,8 @@
 
 layoutGetSize ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m (Int32,Int32)
+    a                                       -- _obj
+    -> m (Int32,Int32)                      -- result
 layoutGetSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     width <- allocMem :: IO (Ptr Int32)
@@ -1067,11 +1292,14 @@
     freeMem height
     return (width', height')
 
+data LayoutGetSizeMethodInfo
+instance (signature ~ (m (Int32,Int32)), MonadIO m, LayoutK a) => MethodInfo LayoutGetSizeMethodInfo a signature where
+    overloadedMethod _ = layoutGetSize
+
 -- method Layout::get_spacing
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -1083,19 +1311,22 @@
 
 layoutGetSpacing ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetSpacing _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_spacing _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetSpacingMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetSpacingMethodInfo a signature where
+    overloadedMethod _ = layoutGetSpacing
+
 -- method Layout::get_tabs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "TabArray"
 -- throws : False
 -- Skip return : False
@@ -1107,8 +1338,8 @@
 
 layoutGetTabs ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m TabArray
+    a                                       -- _obj
+    -> m TabArray                           -- result
 layoutGetTabs _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_tabs _obj'
@@ -1117,11 +1348,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetTabsMethodInfo
+instance (signature ~ (m TabArray), MonadIO m, LayoutK a) => MethodInfo LayoutGetTabsMethodInfo a signature where
+    overloadedMethod _ = layoutGetTabs
+
 -- method Layout::get_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -1133,8 +1367,8 @@
 
 layoutGetText ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m T.Text
+    a                                       -- _obj
+    -> m T.Text                             -- result
 layoutGetText _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_text _obj'
@@ -1143,11 +1377,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetTextMethodInfo
+instance (signature ~ (m T.Text), MonadIO m, LayoutK a) => MethodInfo LayoutGetTextMethodInfo a signature where
+    overloadedMethod _ = layoutGetText
+
 -- method Layout::get_unknown_glyphs_count
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -1159,19 +1396,22 @@
 
 layoutGetUnknownGlyphsCount ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetUnknownGlyphsCount _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_unknown_glyphs_count _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetUnknownGlyphsCountMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetUnknownGlyphsCountMethodInfo a signature where
+    overloadedMethod _ = layoutGetUnknownGlyphsCount
+
 -- method Layout::get_width
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -1183,19 +1423,22 @@
 
 layoutGetWidth ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Int32
+    a                                       -- _obj
+    -> m Int32                              -- result
 layoutGetWidth _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_width _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutGetWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m, LayoutK a) => MethodInfo LayoutGetWidthMethodInfo a signature where
+    overloadedMethod _ = layoutGetWidth
+
 -- method Layout::get_wrap
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "WrapMode"
 -- throws : False
 -- Skip return : False
@@ -1207,8 +1450,8 @@
 
 layoutGetWrap ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m WrapMode
+    a                                       -- _obj
+    -> m WrapMode                           -- result
 layoutGetWrap _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_get_wrap _obj'
@@ -1216,11 +1459,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutGetWrapMethodInfo
+instance (signature ~ (m WrapMode), MonadIO m, LayoutK a) => MethodInfo LayoutGetWrapMethodInfo a signature where
+    overloadedMethod _ = layoutGetWrap
+
 -- method Layout::index_to_line_x
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argCName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1236,28 +1482,31 @@
 
 layoutIndexToLineX ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- index_
-    Bool ->                                 -- trailing
-    m (Int32,Int32)
-layoutIndexToLineX _obj index_ trailing = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- index
+    -> Bool                                 -- trailing
+    -> m (Int32,Int32)                      -- result
+layoutIndexToLineX _obj index trailing = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let trailing' = (fromIntegral . fromEnum) trailing
     line <- allocMem :: IO (Ptr Int32)
-    x_pos <- allocMem :: IO (Ptr Int32)
-    pango_layout_index_to_line_x _obj' index_ trailing' line x_pos
+    xPos <- allocMem :: IO (Ptr Int32)
+    pango_layout_index_to_line_x _obj' index trailing' line xPos
     line' <- peek line
-    x_pos' <- peek x_pos
+    xPos' <- peek xPos
     touchManagedPtr _obj
     freeMem line
-    freeMem x_pos
-    return (line', x_pos')
+    freeMem xPos
+    return (line', xPos')
 
+data LayoutIndexToLineXMethodInfo
+instance (signature ~ (Int32 -> Bool -> m (Int32,Int32)), MonadIO m, LayoutK a) => MethodInfo LayoutIndexToLineXMethodInfo a signature where
+    overloadedMethod _ = layoutIndexToLineX
+
 -- method Layout::index_to_pos
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argName = "pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", 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},Arg {argCName = "pos", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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 TVoid
 -- throws : False
 -- Skip return : False
@@ -1271,22 +1520,25 @@
 
 layoutIndexToPos ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- index_
-    m (Rectangle)
-layoutIndexToPos _obj index_ = liftIO $ do
+    a                                       -- _obj
+    -> Int32                                -- index
+    -> m (Rectangle)                        -- result
+layoutIndexToPos _obj index = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pos <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_index_to_pos _obj' index_ pos
+    pango_layout_index_to_pos _obj' index pos
     pos' <- (wrapPtr Rectangle) pos
     touchManagedPtr _obj
     return pos'
 
+data LayoutIndexToPosMethodInfo
+instance (signature ~ (Int32 -> m (Rectangle)), MonadIO m, LayoutK a) => MethodInfo LayoutIndexToPosMethodInfo a signature where
+    overloadedMethod _ = layoutIndexToPos
+
 -- method Layout::is_ellipsized
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1298,8 +1550,8 @@
 
 layoutIsEllipsized ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 layoutIsEllipsized _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_is_ellipsized _obj'
@@ -1307,11 +1559,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIsEllipsizedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, LayoutK a) => MethodInfo LayoutIsEllipsizedMethodInfo a signature where
+    overloadedMethod _ = layoutIsEllipsized
+
 -- method Layout::is_wrapped
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1323,8 +1578,8 @@
 
 layoutIsWrapped ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    m Bool
+    a                                       -- _obj
+    -> m Bool                               -- result
 layoutIsWrapped _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_layout_is_wrapped _obj'
@@ -1332,11 +1587,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIsWrappedMethodInfo
+instance (signature ~ (m Bool), MonadIO m, LayoutK a) => MethodInfo LayoutIsWrappedMethodInfo a signature where
+    overloadedMethod _ = layoutIsWrapped
+
 -- method Layout::move_cursor_visually
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "new_trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_index", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "new_trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "strong", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_trailing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "direction", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1354,30 +1612,33 @@
 
 layoutMoveCursorVisually ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- strong
-    Int32 ->                                -- old_index
-    Int32 ->                                -- old_trailing
-    Int32 ->                                -- direction
-    m (Int32,Int32)
-layoutMoveCursorVisually _obj strong old_index old_trailing direction = liftIO $ do
+    a                                       -- _obj
+    -> Bool                                 -- strong
+    -> Int32                                -- oldIndex
+    -> Int32                                -- oldTrailing
+    -> Int32                                -- direction
+    -> m (Int32,Int32)                      -- result
+layoutMoveCursorVisually _obj strong oldIndex oldTrailing direction = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let strong' = (fromIntegral . fromEnum) strong
-    new_index <- allocMem :: IO (Ptr Int32)
-    new_trailing <- allocMem :: IO (Ptr Int32)
-    pango_layout_move_cursor_visually _obj' strong' old_index old_trailing direction new_index new_trailing
-    new_index' <- peek new_index
-    new_trailing' <- peek new_trailing
+    newIndex <- allocMem :: IO (Ptr Int32)
+    newTrailing <- allocMem :: IO (Ptr Int32)
+    pango_layout_move_cursor_visually _obj' strong' oldIndex oldTrailing direction newIndex newTrailing
+    newIndex' <- peek newIndex
+    newTrailing' <- peek newTrailing
     touchManagedPtr _obj
-    freeMem new_index
-    freeMem new_trailing
-    return (new_index', new_trailing')
+    freeMem newIndex
+    freeMem newTrailing
+    return (newIndex', newTrailing')
 
+data LayoutMoveCursorVisuallyMethodInfo
+instance (signature ~ (Bool -> Int32 -> Int32 -> Int32 -> m (Int32,Int32)), MonadIO m, LayoutK a) => MethodInfo LayoutMoveCursorVisuallyMethodInfo a signature where
+    overloadedMethod _ = layoutMoveCursorVisually
+
 -- method Layout::set_alignment
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "Alignment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1390,9 +1651,9 @@
 
 layoutSetAlignment ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Alignment ->                            -- alignment
-    m ()
+    a                                       -- _obj
+    -> Alignment                            -- alignment
+    -> m ()                                 -- result
 layoutSetAlignment _obj alignment = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let alignment' = (fromIntegral . fromEnum) alignment
@@ -1400,11 +1661,14 @@
     touchManagedPtr _obj
     return ()
 
+data LayoutSetAlignmentMethodInfo
+instance (signature ~ (Alignment -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetAlignmentMethodInfo a signature where
+    overloadedMethod _ = layoutSetAlignment
+
 -- method Layout::set_attributes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attrs", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1417,9 +1681,9 @@
 
 layoutSetAttributes ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Maybe (AttrList) ->                     -- attrs
-    m ()
+    a                                       -- _obj
+    -> Maybe (AttrList)                     -- attrs
+    -> m ()                                 -- result
 layoutSetAttributes _obj attrs = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeAttrs <- case attrs of
@@ -1432,11 +1696,14 @@
     whenJust attrs touchManagedPtr
     return ()
 
+data LayoutSetAttributesMethodInfo
+instance (signature ~ (Maybe (AttrList) -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetAttributesMethodInfo a signature where
+    overloadedMethod _ = layoutSetAttributes
+
 -- method Layout::set_auto_dir
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_dir", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auto_dir", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "auto_dir", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1449,21 +1716,24 @@
 
 layoutSetAutoDir ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- auto_dir
-    m ()
-layoutSetAutoDir _obj auto_dir = liftIO $ do
+    a                                       -- _obj
+    -> Bool                                 -- autoDir
+    -> m ()                                 -- result
+layoutSetAutoDir _obj autoDir = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    let auto_dir' = (fromIntegral . fromEnum) auto_dir
-    pango_layout_set_auto_dir _obj' auto_dir'
+    let autoDir' = (fromIntegral . fromEnum) autoDir
+    pango_layout_set_auto_dir _obj' autoDir'
     touchManagedPtr _obj
     return ()
 
+data LayoutSetAutoDirMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetAutoDirMethodInfo a signature where
+    overloadedMethod _ = layoutSetAutoDir
+
 -- method Layout::set_ellipsize
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ellipsize", argType = TInterface "Pango" "EllipsizeMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1476,9 +1746,9 @@
 
 layoutSetEllipsize ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    EllipsizeMode ->                        -- ellipsize
-    m ()
+    a                                       -- _obj
+    -> EllipsizeMode                        -- ellipsize
+    -> m ()                                 -- result
 layoutSetEllipsize _obj ellipsize = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let ellipsize' = (fromIntegral . fromEnum) ellipsize
@@ -1486,11 +1756,14 @@
     touchManagedPtr _obj
     return ()
 
+data LayoutSetEllipsizeMethodInfo
+instance (signature ~ (EllipsizeMode -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetEllipsizeMethodInfo a signature where
+    overloadedMethod _ = layoutSetEllipsize
+
 -- method Layout::set_font_description
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1503,9 +1776,9 @@
 
 layoutSetFontDescription ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Maybe (FontDescription) ->              -- desc
-    m ()
+    a                                       -- _obj
+    -> Maybe (FontDescription)              -- desc
+    -> m ()                                 -- result
 layoutSetFontDescription _obj desc = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeDesc <- case desc of
@@ -1518,11 +1791,14 @@
     whenJust desc touchManagedPtr
     return ()
 
+data LayoutSetFontDescriptionMethodInfo
+instance (signature ~ (Maybe (FontDescription) -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetFontDescriptionMethodInfo a signature where
+    overloadedMethod _ = layoutSetFontDescription
+
 -- method Layout::set_height
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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 "Pango" "Layout", 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 "Pango" "Layout", 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
@@ -1535,20 +1811,23 @@
 
 layoutSetHeight ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- height
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- height
+    -> m ()                                 -- result
 layoutSetHeight _obj height = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_layout_set_height _obj' height
     touchManagedPtr _obj
     return ()
 
+data LayoutSetHeightMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetHeightMethodInfo a signature where
+    overloadedMethod _ = layoutSetHeight
+
 -- method Layout::set_indent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "indent", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1561,20 +1840,23 @@
 
 layoutSetIndent ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- indent
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- indent
+    -> m ()                                 -- result
 layoutSetIndent _obj indent = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_layout_set_indent _obj' indent
     touchManagedPtr _obj
     return ()
 
+data LayoutSetIndentMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetIndentMethodInfo a signature where
+    overloadedMethod _ = layoutSetIndent
+
 -- method Layout::set_justify
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "justify", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "justify", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "justify", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1587,9 +1869,9 @@
 
 layoutSetJustify ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- justify
-    m ()
+    a                                       -- _obj
+    -> Bool                                 -- justify
+    -> m ()                                 -- result
 layoutSetJustify _obj justify = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let justify' = (fromIntegral . fromEnum) justify
@@ -1597,11 +1879,14 @@
     touchManagedPtr _obj
     return ()
 
+data LayoutSetJustifyMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetJustifyMethodInfo a signature where
+    overloadedMethod _ = layoutSetJustify
+
 -- method Layout::set_markup
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1615,10 +1900,10 @@
 
 layoutSetMarkup ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- markup
-    Int32 ->                                -- length
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- markup
+    -> Int32                                -- length_
+    -> m ()                                 -- result
 layoutSetMarkup _obj markup length_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     markup' <- textToCString markup
@@ -1627,11 +1912,14 @@
     freeMem markup'
     return ()
 
+data LayoutSetMarkupMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetMarkupMethodInfo a signature where
+    overloadedMethod _ = layoutSetMarkup
+
 -- method Layout::set_markup_with_accel
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", 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 = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "markup", 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 = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_char", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "markup", 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 = "accel_marker", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1647,29 +1935,32 @@
 
 layoutSetMarkupWithAccel ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- markup
-    Int32 ->                                -- length
-    Char ->                                 -- accel_marker
-    m (Char)
-layoutSetMarkupWithAccel _obj markup length_ accel_marker = liftIO $ do
+    a                                       -- _obj
+    -> T.Text                               -- markup
+    -> Int32                                -- length_
+    -> Char                                 -- accelMarker
+    -> m (Char)                             -- result
+layoutSetMarkupWithAccel _obj markup length_ accelMarker = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     markup' <- textToCString markup
-    let accel_marker' = (fromIntegral . ord) accel_marker
-    accel_char <- allocMem :: IO (Ptr CInt)
-    pango_layout_set_markup_with_accel _obj' markup' length_ accel_marker' accel_char
-    accel_char' <- peek accel_char
-    let accel_char'' = (chr . fromIntegral) accel_char'
+    let accelMarker' = (fromIntegral . ord) accelMarker
+    accelChar <- allocMem :: IO (Ptr CInt)
+    pango_layout_set_markup_with_accel _obj' markup' length_ accelMarker' accelChar
+    accelChar' <- peek accelChar
+    let accelChar'' = (chr . fromIntegral) accelChar'
     touchManagedPtr _obj
     freeMem markup'
-    freeMem accel_char
-    return accel_char''
+    freeMem accelChar
+    return accelChar''
 
+data LayoutSetMarkupWithAccelMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Char -> m (Char)), MonadIO m, LayoutK a) => MethodInfo LayoutSetMarkupWithAccelMethodInfo a signature where
+    overloadedMethod _ = layoutSetMarkupWithAccel
+
 -- method Layout::set_single_paragraph_mode
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "setting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1682,9 +1973,9 @@
 
 layoutSetSingleParagraphMode ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Bool ->                                 -- setting
-    m ()
+    a                                       -- _obj
+    -> Bool                                 -- setting
+    -> m ()                                 -- result
 layoutSetSingleParagraphMode _obj setting = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let setting' = (fromIntegral . fromEnum) setting
@@ -1692,11 +1983,14 @@
     touchManagedPtr _obj
     return ()
 
+data LayoutSetSingleParagraphModeMethodInfo
+instance (signature ~ (Bool -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetSingleParagraphModeMethodInfo a signature where
+    overloadedMethod _ = layoutSetSingleParagraphMode
+
 -- method Layout::set_spacing
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1709,20 +2003,23 @@
 
 layoutSetSpacing ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- spacing
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- spacing
+    -> m ()                                 -- result
 layoutSetSpacing _obj spacing = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_layout_set_spacing _obj' spacing
     touchManagedPtr _obj
     return ()
 
+data LayoutSetSpacingMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetSpacingMethodInfo a signature where
+    overloadedMethod _ = layoutSetSpacing
+
 -- method Layout::set_tabs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tabs", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1735,9 +2032,9 @@
 
 layoutSetTabs ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Maybe (TabArray) ->                     -- tabs
-    m ()
+    a                                       -- _obj
+    -> Maybe (TabArray)                     -- tabs
+    -> m ()                                 -- result
 layoutSetTabs _obj tabs = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeTabs <- case tabs of
@@ -1750,11 +2047,14 @@
     whenJust tabs touchManagedPtr
     return ()
 
+data LayoutSetTabsMethodInfo
+instance (signature ~ (Maybe (TabArray) -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetTabsMethodInfo a signature where
+    overloadedMethod _ = layoutSetTabs
+
 -- method Layout::set_text
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1768,10 +2068,10 @@
 
 layoutSetText ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    m ()
+    a                                       -- _obj
+    -> T.Text                               -- text
+    -> Int32                                -- length_
+    -> m ()                                 -- result
 layoutSetText _obj text length_ = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     text' <- textToCString text
@@ -1780,11 +2080,14 @@
     freeMem text'
     return ()
 
+data LayoutSetTextMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetTextMethodInfo a signature where
+    overloadedMethod _ = layoutSetText
+
 -- method Layout::set_width
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1797,20 +2100,23 @@
 
 layoutSetWidth ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- width
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- width
+    -> m ()                                 -- result
 layoutSetWidth _obj width = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_layout_set_width _obj' width
     touchManagedPtr _obj
     return ()
 
+data LayoutSetWidthMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetWidthMethodInfo a signature where
+    overloadedMethod _ = layoutSetWidth
+
 -- method Layout::set_wrap
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wrap", argType = TInterface "Pango" "WrapMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -1823,9 +2129,9 @@
 
 layoutSetWrap ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    WrapMode ->                             -- wrap
-    m ()
+    a                                       -- _obj
+    -> WrapMode                             -- wrap
+    -> m ()                                 -- result
 layoutSetWrap _obj wrap = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let wrap' = (fromIntegral . fromEnum) wrap
@@ -1833,11 +2139,14 @@
     touchManagedPtr _obj
     return ()
 
+data LayoutSetWrapMethodInfo
+instance (signature ~ (WrapMode -> m ()), MonadIO m, LayoutK a) => MethodInfo LayoutSetWrapMethodInfo a signature where
+    overloadedMethod _ = layoutSetWrap
+
 -- method Layout::xy_to_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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 = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Layout", 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 = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Layout", 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}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -1853,21 +2162,25 @@
 
 layoutXyToIndex ::
     (MonadIO m, LayoutK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m (Bool,Int32,Int32)
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> m (Bool,Int32,Int32)                 -- result
 layoutXyToIndex _obj x y = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
-    index_ <- allocMem :: IO (Ptr Int32)
+    index <- allocMem :: IO (Ptr Int32)
     trailing <- allocMem :: IO (Ptr Int32)
-    result <- pango_layout_xy_to_index _obj' x y index_ trailing
+    result <- pango_layout_xy_to_index _obj' x y index trailing
     let result' = (/= 0) result
-    index_' <- peek index_
+    index' <- peek index
     trailing' <- peek trailing
     touchManagedPtr _obj
-    freeMem index_
+    freeMem index
     freeMem trailing
-    return (result', index_', trailing')
+    return (result', index', trailing')
+
+data LayoutXyToIndexMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m (Bool,Int32,Int32)), MonadIO m, LayoutK a) => MethodInfo LayoutXyToIndexMethodInfo a signature where
+    overloadedMethod _ = layoutXyToIndex
 
 
diff --git a/GI/Pango/Objects/Layout.hs-boot b/GI/Pango/Objects/Layout.hs-boot
--- a/GI/Pango/Objects/Layout.hs-boot
+++ b/GI/Pango/Objects/Layout.hs-boot
@@ -11,3 +11,59 @@
 instance GObject Layout where
 class GObject o => LayoutK o
 instance (GObject o, IsDescendantOf Layout o) => LayoutK o
+data LayoutContextChangedMethodInfo
+data LayoutCopyMethodInfo
+data LayoutGetAlignmentMethodInfo
+data LayoutGetAttributesMethodInfo
+data LayoutGetAutoDirMethodInfo
+data LayoutGetBaselineMethodInfo
+data LayoutGetCharacterCountMethodInfo
+data LayoutGetContextMethodInfo
+data LayoutGetCursorPosMethodInfo
+data LayoutGetEllipsizeMethodInfo
+data LayoutGetExtentsMethodInfo
+data LayoutGetFontDescriptionMethodInfo
+data LayoutGetHeightMethodInfo
+data LayoutGetIndentMethodInfo
+data LayoutGetIterMethodInfo
+data LayoutGetJustifyMethodInfo
+data LayoutGetLineMethodInfo
+data LayoutGetLineCountMethodInfo
+data LayoutGetLineReadonlyMethodInfo
+data LayoutGetLinesMethodInfo
+data LayoutGetLinesReadonlyMethodInfo
+data LayoutGetLogAttrsMethodInfo
+data LayoutGetLogAttrsReadonlyMethodInfo
+data LayoutGetPixelExtentsMethodInfo
+data LayoutGetPixelSizeMethodInfo
+data LayoutGetSerialMethodInfo
+data LayoutGetSingleParagraphModeMethodInfo
+data LayoutGetSizeMethodInfo
+data LayoutGetSpacingMethodInfo
+data LayoutGetTabsMethodInfo
+data LayoutGetTextMethodInfo
+data LayoutGetUnknownGlyphsCountMethodInfo
+data LayoutGetWidthMethodInfo
+data LayoutGetWrapMethodInfo
+data LayoutIndexToLineXMethodInfo
+data LayoutIndexToPosMethodInfo
+data LayoutIsEllipsizedMethodInfo
+data LayoutIsWrappedMethodInfo
+data LayoutMoveCursorVisuallyMethodInfo
+data LayoutSetAlignmentMethodInfo
+data LayoutSetAttributesMethodInfo
+data LayoutSetAutoDirMethodInfo
+data LayoutSetEllipsizeMethodInfo
+data LayoutSetFontDescriptionMethodInfo
+data LayoutSetHeightMethodInfo
+data LayoutSetIndentMethodInfo
+data LayoutSetJustifyMethodInfo
+data LayoutSetMarkupMethodInfo
+data LayoutSetMarkupWithAccelMethodInfo
+data LayoutSetSingleParagraphModeMethodInfo
+data LayoutSetSpacingMethodInfo
+data LayoutSetTabsMethodInfo
+data LayoutSetTextMethodInfo
+data LayoutSetWidthMethodInfo
+data LayoutSetWrapMethodInfo
+data LayoutXyToIndexMethodInfo
diff --git a/GI/Pango/Objects/Renderer.hs b/GI/Pango/Objects/Renderer.hs
--- a/GI/Pango/Objects/Renderer.hs
+++ b/GI/Pango/Objects/Renderer.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,78 +18,97 @@
 
  -- * Methods
 -- ** rendererActivate
+    RendererActivateMethodInfo              ,
     rendererActivate                        ,
 
 
 -- ** rendererDeactivate
+    RendererDeactivateMethodInfo            ,
     rendererDeactivate                      ,
 
 
 -- ** rendererDrawErrorUnderline
+    RendererDrawErrorUnderlineMethodInfo    ,
     rendererDrawErrorUnderline              ,
 
 
 -- ** rendererDrawGlyph
+    RendererDrawGlyphMethodInfo             ,
     rendererDrawGlyph                       ,
 
 
 -- ** rendererDrawGlyphItem
+    RendererDrawGlyphItemMethodInfo         ,
     rendererDrawGlyphItem                   ,
 
 
 -- ** rendererDrawGlyphs
+    RendererDrawGlyphsMethodInfo            ,
     rendererDrawGlyphs                      ,
 
 
 -- ** rendererDrawLayout
+    RendererDrawLayoutMethodInfo            ,
     rendererDrawLayout                      ,
 
 
 -- ** rendererDrawLayoutLine
+    RendererDrawLayoutLineMethodInfo        ,
     rendererDrawLayoutLine                  ,
 
 
 -- ** rendererDrawRectangle
+    RendererDrawRectangleMethodInfo         ,
     rendererDrawRectangle                   ,
 
 
 -- ** rendererDrawTrapezoid
+    RendererDrawTrapezoidMethodInfo         ,
     rendererDrawTrapezoid                   ,
 
 
 -- ** rendererGetAlpha
+    RendererGetAlphaMethodInfo              ,
     rendererGetAlpha                        ,
 
 
 -- ** rendererGetColor
+    RendererGetColorMethodInfo              ,
     rendererGetColor                        ,
 
 
 -- ** rendererGetLayout
+    RendererGetLayoutMethodInfo             ,
     rendererGetLayout                       ,
 
 
 -- ** rendererGetLayoutLine
+    RendererGetLayoutLineMethodInfo         ,
     rendererGetLayoutLine                   ,
 
 
 -- ** rendererGetMatrix
+    RendererGetMatrixMethodInfo             ,
     rendererGetMatrix                       ,
 
 
 -- ** rendererPartChanged
+    RendererPartChangedMethodInfo           ,
     rendererPartChanged                     ,
 
 
 -- ** rendererSetAlpha
+    RendererSetAlphaMethodInfo              ,
     rendererSetAlpha                        ,
 
 
 -- ** rendererSetColor
+    RendererSetColorMethodInfo              ,
     rendererSetColor                        ,
 
 
 -- ** rendererSetMatrix
+    RendererSetMatrixMethodInfo             ,
     rendererSetMatrix                       ,
 
 
@@ -128,17 +148,68 @@
 noRenderer :: Maybe Renderer
 noRenderer = Nothing
 
+type family ResolveRendererMethod (t :: Symbol) (o :: *) :: * where
+    ResolveRendererMethod "activate" o = RendererActivateMethodInfo
+    ResolveRendererMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
+    ResolveRendererMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
+    ResolveRendererMethod "deactivate" o = RendererDeactivateMethodInfo
+    ResolveRendererMethod "drawErrorUnderline" o = RendererDrawErrorUnderlineMethodInfo
+    ResolveRendererMethod "drawGlyph" o = RendererDrawGlyphMethodInfo
+    ResolveRendererMethod "drawGlyphItem" o = RendererDrawGlyphItemMethodInfo
+    ResolveRendererMethod "drawGlyphs" o = RendererDrawGlyphsMethodInfo
+    ResolveRendererMethod "drawLayout" o = RendererDrawLayoutMethodInfo
+    ResolveRendererMethod "drawLayoutLine" o = RendererDrawLayoutLineMethodInfo
+    ResolveRendererMethod "drawRectangle" o = RendererDrawRectangleMethodInfo
+    ResolveRendererMethod "drawTrapezoid" o = RendererDrawTrapezoidMethodInfo
+    ResolveRendererMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
+    ResolveRendererMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
+    ResolveRendererMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
+    ResolveRendererMethod "notify" o = GObject.ObjectNotifyMethodInfo
+    ResolveRendererMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
+    ResolveRendererMethod "partChanged" o = RendererPartChangedMethodInfo
+    ResolveRendererMethod "ref" o = GObject.ObjectRefMethodInfo
+    ResolveRendererMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
+    ResolveRendererMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
+    ResolveRendererMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
+    ResolveRendererMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
+    ResolveRendererMethod "stealData" o = GObject.ObjectStealDataMethodInfo
+    ResolveRendererMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
+    ResolveRendererMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
+    ResolveRendererMethod "unref" o = GObject.ObjectUnrefMethodInfo
+    ResolveRendererMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
+    ResolveRendererMethod "getAlpha" o = RendererGetAlphaMethodInfo
+    ResolveRendererMethod "getColor" o = RendererGetColorMethodInfo
+    ResolveRendererMethod "getData" o = GObject.ObjectGetDataMethodInfo
+    ResolveRendererMethod "getLayout" o = RendererGetLayoutMethodInfo
+    ResolveRendererMethod "getLayoutLine" o = RendererGetLayoutLineMethodInfo
+    ResolveRendererMethod "getMatrix" o = RendererGetMatrixMethodInfo
+    ResolveRendererMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
+    ResolveRendererMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
+    ResolveRendererMethod "setAlpha" o = RendererSetAlphaMethodInfo
+    ResolveRendererMethod "setColor" o = RendererSetColorMethodInfo
+    ResolveRendererMethod "setData" o = GObject.ObjectSetDataMethodInfo
+    ResolveRendererMethod "setMatrix" o = RendererSetMatrixMethodInfo
+    ResolveRendererMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
+    ResolveRendererMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveRendererMethod t Renderer, MethodInfo info Renderer p) => IsLabelProxy t (Renderer -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveRendererMethod t Renderer, MethodInfo info Renderer p) => IsLabel t (Renderer -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
+
 type instance AttributeList Renderer = RendererAttributeList
 type RendererAttributeList = ('[ ] :: [(Symbol, *)])
 
 type instance SignalList Renderer = RendererSignalList
-type RendererSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
+type RendererSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
 
 -- method Renderer::activate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -150,19 +221,22 @@
 
 rendererActivate ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 rendererActivate _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_renderer_activate _obj'
     touchManagedPtr _obj
     return ()
 
+data RendererActivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, RendererK a) => MethodInfo RendererActivateMethodInfo a signature where
+    overloadedMethod _ = rendererActivate
+
 -- method Renderer::deactivate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -174,19 +248,22 @@
 
 rendererDeactivate ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    m ()
+    a                                       -- _obj
+    -> m ()                                 -- result
 rendererDeactivate _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_renderer_deactivate _obj'
     touchManagedPtr _obj
     return ()
 
+data RendererDeactivateMethodInfo
+instance (signature ~ (m ()), MonadIO m, RendererK a) => MethodInfo RendererDeactivateMethodInfo a signature where
+    overloadedMethod _ = rendererDeactivate
+
 -- method Renderer::draw_error_underline
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -202,23 +279,26 @@
 
 rendererDrawErrorUnderline ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
+    a                                       -- _obj
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> m ()                                 -- result
 rendererDrawErrorUnderline _obj x y width height = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     pango_renderer_draw_error_underline _obj' x y width height
     touchManagedPtr _obj
     return ()
 
+data RendererDrawErrorUnderlineMethodInfo
+instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, RendererK a) => MethodInfo RendererDrawErrorUnderlineMethodInfo a signature where
+    overloadedMethod _ = rendererDrawErrorUnderline
+
 -- method Renderer::draw_glyph
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -234,12 +314,12 @@
 
 rendererDrawGlyph ::
     (MonadIO m, RendererK a, FontK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- font
-    Word32 ->                               -- glyph
-    Double ->                               -- x
-    Double ->                               -- y
-    m ()
+    a                                       -- _obj
+    -> b                                    -- font
+    -> Word32                               -- glyph
+    -> Double                               -- x
+    -> Double                               -- y
+    -> m ()                                 -- result
 rendererDrawGlyph _obj font glyph x y = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let font' = unsafeManagedPtrCastPtr font
@@ -250,11 +330,14 @@
     touchManagedPtr font
     return ()
 
+data RendererDrawGlyphMethodInfo
+instance (signature ~ (b -> Word32 -> Double -> Double -> m ()), MonadIO m, RendererK a, FontK b) => MethodInfo RendererDrawGlyphMethodInfo a signature where
+    overloadedMethod _ = rendererDrawGlyph
+
 -- method Renderer::draw_glyph_item
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyph_item", argType = TInterface "Pango" "GlyphItem", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -270,31 +353,34 @@
 
 rendererDrawGlyphItem ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    Maybe (T.Text) ->                       -- text
-    GlyphItem ->                            -- glyph_item
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
-rendererDrawGlyphItem _obj text glyph_item x y = liftIO $ do
+    a                                       -- _obj
+    -> Maybe (T.Text)                       -- text
+    -> GlyphItem                            -- glyphItem
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> m ()                                 -- result
+rendererDrawGlyphItem _obj text glyphItem x y = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeText <- case text of
         Nothing -> return nullPtr
         Just jText -> do
             jText' <- textToCString jText
             return jText'
-    let glyph_item' = unsafeManagedPtrGetPtr glyph_item
-    pango_renderer_draw_glyph_item _obj' maybeText glyph_item' x y
+    let glyphItem' = unsafeManagedPtrGetPtr glyphItem
+    pango_renderer_draw_glyph_item _obj' maybeText glyphItem' x y
     touchManagedPtr _obj
-    touchManagedPtr glyph_item
+    touchManagedPtr glyphItem
     freeMem maybeText
     return ()
 
+data RendererDrawGlyphItemMethodInfo
+instance (signature ~ (Maybe (T.Text) -> GlyphItem -> Int32 -> Int32 -> m ()), MonadIO m, RendererK a) => MethodInfo RendererDrawGlyphItemMethodInfo a signature where
+    overloadedMethod _ = rendererDrawGlyphItem
+
 -- method Renderer::draw_glyphs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyphs", argType = TInterface "Pango" "GlyphString", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyphs", argType = TInterface "Pango" "GlyphString", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -310,12 +396,12 @@
 
 rendererDrawGlyphs ::
     (MonadIO m, RendererK a, FontK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- font
-    GlyphString ->                          -- glyphs
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
+    a                                       -- _obj
+    -> b                                    -- font
+    -> GlyphString                          -- glyphs
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> m ()                                 -- result
 rendererDrawGlyphs _obj font glyphs x y = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let font' = unsafeManagedPtrCastPtr font
@@ -326,11 +412,14 @@
     touchManagedPtr glyphs
     return ()
 
+data RendererDrawGlyphsMethodInfo
+instance (signature ~ (b -> GlyphString -> Int32 -> Int32 -> m ()), MonadIO m, RendererK a, FontK b) => MethodInfo RendererDrawGlyphsMethodInfo a signature where
+    overloadedMethod _ = rendererDrawGlyphs
+
 -- method Renderer::draw_layout
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout", argType = TInterface "Pango" "Layout", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "layout", argType = TInterface "Pango" "Layout", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "layout", argType = TInterface "Pango" "Layout", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -345,11 +434,11 @@
 
 rendererDrawLayout ::
     (MonadIO m, RendererK a, LayoutK b) =>
-    a ->                                    -- _obj
-    b ->                                    -- layout
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
+    a                                       -- _obj
+    -> b                                    -- layout
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> m ()                                 -- result
 rendererDrawLayout _obj layout x y = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let layout' = unsafeManagedPtrCastPtr layout
@@ -358,11 +447,14 @@
     touchManagedPtr layout
     return ()
 
+data RendererDrawLayoutMethodInfo
+instance (signature ~ (b -> Int32 -> Int32 -> m ()), MonadIO m, RendererK a, LayoutK b) => MethodInfo RendererDrawLayoutMethodInfo a signature where
+    overloadedMethod _ = rendererDrawLayout
+
 -- method Renderer::draw_layout_line
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TInterface "Pango" "LayoutLine", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TInterface "Pango" "LayoutLine", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "line", argType = TInterface "Pango" "LayoutLine", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -377,11 +469,11 @@
 
 rendererDrawLayoutLine ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    LayoutLine ->                           -- line
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    m ()
+    a                                       -- _obj
+    -> LayoutLine                           -- line
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> m ()                                 -- result
 rendererDrawLayoutLine _obj line x y = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let line' = unsafeManagedPtrGetPtr line
@@ -390,11 +482,14 @@
     touchManagedPtr line
     return ()
 
+data RendererDrawLayoutLineMethodInfo
+instance (signature ~ (LayoutLine -> Int32 -> Int32 -> m ()), MonadIO m, RendererK a) => MethodInfo RendererDrawLayoutLineMethodInfo a signature where
+    overloadedMethod _ = rendererDrawLayoutLine
+
 -- method Renderer::draw_rectangle
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", 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}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", 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}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", 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}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -411,13 +506,13 @@
 
 rendererDrawRectangle ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    Int32 ->                                -- x
-    Int32 ->                                -- y
-    Int32 ->                                -- width
-    Int32 ->                                -- height
-    m ()
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> Int32                                -- x
+    -> Int32                                -- y
+    -> Int32                                -- width
+    -> Int32                                -- height
+    -> m ()                                 -- result
 rendererDrawRectangle _obj part x y width height = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
@@ -425,11 +520,14 @@
     touchManagedPtr _obj
     return ()
 
+data RendererDrawRectangleMethodInfo
+instance (signature ~ (RenderPart -> Int32 -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m, RendererK a) => MethodInfo RendererDrawRectangleMethodInfo a signature where
+    overloadedMethod _ = rendererDrawRectangle
+
 -- method Renderer::draw_trapezoid
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x22", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x22", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y1_", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x11", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x21", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y2", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x12", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x22", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -448,33 +546,36 @@
 
 rendererDrawTrapezoid ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    Double ->                               -- y1_
-    Double ->                               -- x11
-    Double ->                               -- x21
-    Double ->                               -- y2
-    Double ->                               -- x12
-    Double ->                               -- x22
-    m ()
-rendererDrawTrapezoid _obj part y1_ x11 x21 y2 x12 x22 = liftIO $ do
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> Double                               -- y1
+    -> Double                               -- x11
+    -> Double                               -- x21
+    -> Double                               -- y2
+    -> Double                               -- x12
+    -> Double                               -- x22
+    -> m ()                                 -- result
+rendererDrawTrapezoid _obj part y1 x11 x21 y2 x12 x22 = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
-    let y1_' = realToFrac y1_
+    let y1' = realToFrac y1
     let x11' = realToFrac x11
     let x21' = realToFrac x21
     let y2' = realToFrac y2
     let x12' = realToFrac x12
     let x22' = realToFrac x22
-    pango_renderer_draw_trapezoid _obj' part' y1_' x11' x21' y2' x12' x22'
+    pango_renderer_draw_trapezoid _obj' part' y1' x11' x21' y2' x12' x22'
     touchManagedPtr _obj
     return ()
 
+data RendererDrawTrapezoidMethodInfo
+instance (signature ~ (RenderPart -> Double -> Double -> Double -> Double -> Double -> Double -> m ()), MonadIO m, RendererK a) => MethodInfo RendererDrawTrapezoidMethodInfo a signature where
+    overloadedMethod _ = rendererDrawTrapezoid
+
 -- method Renderer::get_alpha
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt16
 -- throws : False
 -- Skip return : False
@@ -487,9 +588,9 @@
 
 rendererGetAlpha ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    m Word16
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> m Word16                             -- result
 rendererGetAlpha _obj part = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
@@ -497,11 +598,14 @@
     touchManagedPtr _obj
     return result
 
+data RendererGetAlphaMethodInfo
+instance (signature ~ (RenderPart -> m Word16), MonadIO m, RendererK a) => MethodInfo RendererGetAlphaMethodInfo a signature where
+    overloadedMethod _ = rendererGetAlpha
+
 -- method Renderer::get_color
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Color"
 -- throws : False
 -- Skip return : False
@@ -514,9 +618,9 @@
 
 rendererGetColor ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    m Color
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> m Color                              -- result
 rendererGetColor _obj part = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
@@ -526,11 +630,14 @@
     touchManagedPtr _obj
     return result'
 
+data RendererGetColorMethodInfo
+instance (signature ~ (RenderPart -> m Color), MonadIO m, RendererK a) => MethodInfo RendererGetColorMethodInfo a signature where
+    overloadedMethod _ = rendererGetColor
+
 -- method Renderer::get_layout
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Layout"
 -- throws : False
 -- Skip return : False
@@ -542,8 +649,8 @@
 
 rendererGetLayout ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    m Layout
+    a                                       -- _obj
+    -> m Layout                             -- result
 rendererGetLayout _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_renderer_get_layout _obj'
@@ -552,11 +659,14 @@
     touchManagedPtr _obj
     return result'
 
+data RendererGetLayoutMethodInfo
+instance (signature ~ (m Layout), MonadIO m, RendererK a) => MethodInfo RendererGetLayoutMethodInfo a signature where
+    overloadedMethod _ = rendererGetLayout
+
 -- method Renderer::get_layout_line
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutLine"
 -- throws : False
 -- Skip return : False
@@ -568,8 +678,8 @@
 
 rendererGetLayoutLine ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    m LayoutLine
+    a                                       -- _obj
+    -> m LayoutLine                         -- result
 rendererGetLayoutLine _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_renderer_get_layout_line _obj'
@@ -578,11 +688,14 @@
     touchManagedPtr _obj
     return result'
 
+data RendererGetLayoutLineMethodInfo
+instance (signature ~ (m LayoutLine), MonadIO m, RendererK a) => MethodInfo RendererGetLayoutLineMethodInfo a signature where
+    overloadedMethod _ = rendererGetLayoutLine
+
 -- method Renderer::get_matrix
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Matrix"
 -- throws : False
 -- Skip return : False
@@ -594,8 +707,8 @@
 
 rendererGetMatrix ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    m Matrix
+    a                                       -- _obj
+    -> m Matrix                             -- result
 rendererGetMatrix _obj = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     result <- pango_renderer_get_matrix _obj'
@@ -604,11 +717,14 @@
     touchManagedPtr _obj
     return result'
 
+data RendererGetMatrixMethodInfo
+instance (signature ~ (m Matrix), MonadIO m, RendererK a) => MethodInfo RendererGetMatrixMethodInfo a signature where
+    overloadedMethod _ = rendererGetMatrix
+
 -- method Renderer::part_changed
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -621,9 +737,9 @@
 
 rendererPartChanged ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    m ()
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> m ()                                 -- result
 rendererPartChanged _obj part = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
@@ -631,11 +747,14 @@
     touchManagedPtr _obj
     return ()
 
+data RendererPartChangedMethodInfo
+instance (signature ~ (RenderPart -> m ()), MonadIO m, RendererK a) => MethodInfo RendererPartChangedMethodInfo a signature where
+    overloadedMethod _ = rendererPartChanged
+
 -- method Renderer::set_alpha
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alpha", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alpha", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alpha", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -649,10 +768,10 @@
 
 rendererSetAlpha ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    Word16 ->                               -- alpha
-    m ()
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> Word16                               -- alpha
+    -> m ()                                 -- result
 rendererSetAlpha _obj part alpha = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
@@ -660,11 +779,14 @@
     touchManagedPtr _obj
     return ()
 
+data RendererSetAlphaMethodInfo
+instance (signature ~ (RenderPart -> Word16 -> m ()), MonadIO m, RendererK a) => MethodInfo RendererSetAlphaMethodInfo a signature where
+    overloadedMethod _ = rendererSetAlpha
+
 -- method Renderer::set_color
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "part", argType = TInterface "Pango" "RenderPart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "color", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -678,10 +800,10 @@
 
 rendererSetColor ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    RenderPart ->                           -- part
-    Maybe (Color) ->                        -- color
-    m ()
+    a                                       -- _obj
+    -> RenderPart                           -- part
+    -> Maybe (Color)                        -- color
+    -> m ()                                 -- result
 rendererSetColor _obj part color = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     let part' = (fromIntegral . fromEnum) part
@@ -695,11 +817,14 @@
     whenJust color touchManagedPtr
     return ()
 
+data RendererSetColorMethodInfo
+instance (signature ~ (RenderPart -> Maybe (Color) -> m ()), MonadIO m, RendererK a) => MethodInfo RendererSetColorMethodInfo a signature where
+    overloadedMethod _ = rendererSetColor
+
 -- method Renderer::set_matrix
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Renderer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -712,9 +837,9 @@
 
 rendererSetMatrix ::
     (MonadIO m, RendererK a) =>
-    a ->                                    -- _obj
-    Maybe (Matrix) ->                       -- matrix
-    m ()
+    a                                       -- _obj
+    -> Maybe (Matrix)                       -- matrix
+    -> m ()                                 -- result
 rendererSetMatrix _obj matrix = liftIO $ do
     let _obj' = unsafeManagedPtrCastPtr _obj
     maybeMatrix <- case matrix of
@@ -726,5 +851,9 @@
     touchManagedPtr _obj
     whenJust matrix touchManagedPtr
     return ()
+
+data RendererSetMatrixMethodInfo
+instance (signature ~ (Maybe (Matrix) -> m ()), MonadIO m, RendererK a) => MethodInfo RendererSetMatrixMethodInfo a signature where
+    overloadedMethod _ = rendererSetMatrix
 
 
diff --git a/GI/Pango/Objects/Renderer.hs-boot b/GI/Pango/Objects/Renderer.hs-boot
--- a/GI/Pango/Objects/Renderer.hs-boot
+++ b/GI/Pango/Objects/Renderer.hs-boot
@@ -11,3 +11,22 @@
 instance GObject Renderer where
 class GObject o => RendererK o
 instance (GObject o, IsDescendantOf Renderer o) => RendererK o
+data RendererActivateMethodInfo
+data RendererDeactivateMethodInfo
+data RendererDrawErrorUnderlineMethodInfo
+data RendererDrawGlyphMethodInfo
+data RendererDrawGlyphItemMethodInfo
+data RendererDrawGlyphsMethodInfo
+data RendererDrawLayoutMethodInfo
+data RendererDrawLayoutLineMethodInfo
+data RendererDrawRectangleMethodInfo
+data RendererDrawTrapezoidMethodInfo
+data RendererGetAlphaMethodInfo
+data RendererGetColorMethodInfo
+data RendererGetLayoutMethodInfo
+data RendererGetLayoutLineMethodInfo
+data RendererGetMatrixMethodInfo
+data RendererPartChangedMethodInfo
+data RendererSetAlphaMethodInfo
+data RendererSetColorMethodInfo
+data RendererSetMatrixMethodInfo
diff --git a/GI/Pango/Structs.hs b/GI/Pango/Structs.hs
--- a/GI/Pango/Structs.hs
+++ b/GI/Pango/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/Pango/Structs/Analysis.hs b/GI/Pango/Structs/Analysis.hs
--- a/GI/Pango/Structs/Analysis.hs
+++ b/GI/Pango/Structs/Analysis.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
     Analysis(..)                            ,
+    newZeroAnalysis                         ,
     noAnalysis                              ,
 
 
@@ -68,6 +70,10 @@
 import GI.Pango.Callbacks
 
 newtype Analysis = Analysis (ForeignPtr Analysis)
+-- | Construct a `Analysis` struct initialized to zero.
+newZeroAnalysis :: MonadIO m => m Analysis
+newZeroAnalysis = liftIO $ callocBytes 48 >>= wrapPtr Analysis
+
 noAnalysis :: Maybe Analysis
 noAnalysis = Nothing
 
@@ -120,5 +126,16 @@
     val <- peek (ptr `plusPtr` 40) :: IO (Ptr (GSList (Ptr ())))
     val' <- unpackGSList val
     return val'
+
+type family ResolveAnalysisMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAnalysisMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAnalysisMethod t Analysis, MethodInfo info Analysis p) => IsLabelProxy t (Analysis -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAnalysisMethod t Analysis, MethodInfo info Analysis p) => IsLabel t (Analysis -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrClass.hs b/GI/Pango/Structs/AttrClass.hs
--- a/GI/Pango/Structs/AttrClass.hs
+++ b/GI/Pango/Structs/AttrClass.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -15,6 +16,7 @@
 
 -- * Exported types
     AttrClass(..)                           ,
+    newZeroAttrClass                        ,
     noAttrClass                             ,
 
 
@@ -38,6 +40,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrClass = AttrClass (ForeignPtr AttrClass)
+-- | Construct a `AttrClass` struct initialized to zero.
+newZeroAttrClass :: MonadIO m => m AttrClass
+newZeroAttrClass = liftIO $ callocBytes 32 >>= wrapPtr AttrClass
+
 noAttrClass :: Maybe AttrClass
 noAttrClass = Nothing
 
@@ -50,5 +56,16 @@
 -- XXX Skipped getter for "AttrClass:destroy" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
 
 -- XXX Skipped getter for "AttrClass:equal" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
+
+type family ResolveAttrClassMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrClassMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrClassMethod t AttrClass, MethodInfo info AttrClass p) => IsLabelProxy t (AttrClass -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrClassMethod t AttrClass, MethodInfo info AttrClass p) => IsLabel t (AttrClass -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrColor.hs b/GI/Pango/Structs/AttrColor.hs
--- a/GI/Pango/Structs/AttrColor.hs
+++ b/GI/Pango/Structs/AttrColor.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
     AttrColor(..)                           ,
+    newZeroAttrColor                        ,
     noAttrColor                             ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrColor = AttrColor (ForeignPtr AttrColor)
+-- | Construct a `AttrColor` struct initialized to zero.
+newZeroAttrColor :: MonadIO m => m AttrColor
+newZeroAttrColor = liftIO $ callocBytes 24 >>= wrapPtr AttrColor
+
 noAttrColor :: Maybe AttrColor
 noAttrColor = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO (Ptr Color)
     val' <- (newBoxed Color) val
     return val'
+
+type family ResolveAttrColorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrColorMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrColorMethod t AttrColor, MethodInfo info AttrColor p) => IsLabelProxy t (AttrColor -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrColorMethod t AttrColor, MethodInfo info AttrColor p) => IsLabel t (AttrColor -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrFloat.hs b/GI/Pango/Structs/AttrFloat.hs
--- a/GI/Pango/Structs/AttrFloat.hs
+++ b/GI/Pango/Structs/AttrFloat.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
     AttrFloat(..)                           ,
+    newZeroAttrFloat                        ,
     noAttrFloat                             ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrFloat = AttrFloat (ForeignPtr AttrFloat)
+-- | Construct a `AttrFloat` struct initialized to zero.
+newZeroAttrFloat :: MonadIO m => m AttrFloat
+newZeroAttrFloat = liftIO $ callocBytes 24 >>= wrapPtr AttrFloat
+
 noAttrFloat :: Maybe AttrFloat
 noAttrFloat = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO CDouble
     let val' = realToFrac val
     return val'
+
+type family ResolveAttrFloatMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrFloatMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrFloatMethod t AttrFloat, MethodInfo info AttrFloat p) => IsLabelProxy t (AttrFloat -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrFloatMethod t AttrFloat, MethodInfo info AttrFloat p) => IsLabel t (AttrFloat -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrFontDesc.hs b/GI/Pango/Structs/AttrFontDesc.hs
--- a/GI/Pango/Structs/AttrFontDesc.hs
+++ b/GI/Pango/Structs/AttrFontDesc.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
     AttrFontDesc(..)                        ,
+    newZeroAttrFontDesc                     ,
     noAttrFontDesc                          ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrFontDesc = AttrFontDesc (ForeignPtr AttrFontDesc)
+-- | Construct a `AttrFontDesc` struct initialized to zero.
+newZeroAttrFontDesc :: MonadIO m => m AttrFontDesc
+newZeroAttrFontDesc = liftIO $ callocBytes 24 >>= wrapPtr AttrFontDesc
+
 noAttrFontDesc :: Maybe AttrFontDesc
 noAttrFontDesc = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO (Ptr FontDescription)
     val' <- (newBoxed FontDescription) val
     return val'
+
+type family ResolveAttrFontDescMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrFontDescMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrFontDescMethod t AttrFontDesc, MethodInfo info AttrFontDesc p) => IsLabelProxy t (AttrFontDesc -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrFontDescMethod t AttrFontDesc, MethodInfo info AttrFontDesc p) => IsLabel t (AttrFontDesc -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrFontFeatures.hs b/GI/Pango/Structs/AttrFontFeatures.hs
--- a/GI/Pango/Structs/AttrFontFeatures.hs
+++ b/GI/Pango/Structs/AttrFontFeatures.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
     AttrFontFeatures(..)                    ,
+    newZeroAttrFontFeatures                 ,
     noAttrFontFeatures                      ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrFontFeatures = AttrFontFeatures (ForeignPtr AttrFontFeatures)
+-- | Construct a `AttrFontFeatures` struct initialized to zero.
+newZeroAttrFontFeatures :: MonadIO m => m AttrFontFeatures
+newZeroAttrFontFeatures = liftIO $ callocBytes 24 >>= wrapPtr AttrFontFeatures
+
 noAttrFontFeatures :: Maybe AttrFontFeatures
 noAttrFontFeatures = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO CString
     val' <- cstringToText val
     return val'
+
+type family ResolveAttrFontFeaturesMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrFontFeaturesMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrFontFeaturesMethod t AttrFontFeatures, MethodInfo info AttrFontFeatures p) => IsLabelProxy t (AttrFontFeatures -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrFontFeaturesMethod t AttrFontFeatures, MethodInfo info AttrFontFeatures p) => IsLabel t (AttrFontFeatures -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrInt.hs b/GI/Pango/Structs/AttrInt.hs
--- a/GI/Pango/Structs/AttrInt.hs
+++ b/GI/Pango/Structs/AttrInt.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
     AttrInt(..)                             ,
+    newZeroAttrInt                          ,
     noAttrInt                               ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrInt = AttrInt (ForeignPtr AttrInt)
+-- | Construct a `AttrInt` struct initialized to zero.
+newZeroAttrInt :: MonadIO m => m AttrInt
+newZeroAttrInt = liftIO $ callocBytes 24 >>= wrapPtr AttrInt
+
 noAttrInt :: Maybe AttrInt
 noAttrInt = Nothing
 
@@ -53,5 +59,16 @@
 attrIntReadValue s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 16) :: IO Int32
     return val
+
+type family ResolveAttrIntMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrIntMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrIntMethod t AttrInt, MethodInfo info AttrInt p) => IsLabelProxy t (AttrInt -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrIntMethod t AttrInt, MethodInfo info AttrInt p) => IsLabel t (AttrInt -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrIterator.hs b/GI/Pango/Structs/AttrIterator.hs
--- a/GI/Pango/Structs/AttrIterator.hs
+++ b/GI/Pango/Structs/AttrIterator.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -23,22 +24,27 @@
 
  -- * Methods
 -- ** attrIteratorDestroy
+    AttrIteratorDestroyMethodInfo           ,
     attrIteratorDestroy                     ,
 
 
 -- ** attrIteratorGetAttrs
+    AttrIteratorGetAttrsMethodInfo          ,
     attrIteratorGetAttrs                    ,
 
 
 -- ** attrIteratorGetFont
+    AttrIteratorGetFontMethodInfo           ,
     attrIteratorGetFont                     ,
 
 
 -- ** attrIteratorNext
+    AttrIteratorNextMethodInfo              ,
     attrIteratorNext                        ,
 
 
 -- ** attrIteratorRange
+    AttrIteratorRangeMethodInfo             ,
     attrIteratorRange                       ,
 
 
@@ -62,9 +68,8 @@
 
 -- method AttrIterator::destroy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -76,19 +81,22 @@
 
 attrIteratorDestroy ::
     (MonadIO m) =>
-    AttrIterator ->                         -- _obj
-    m ()
+    AttrIterator                            -- _obj
+    -> m ()                                 -- result
 attrIteratorDestroy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_attr_iterator_destroy _obj'
     touchManagedPtr _obj
     return ()
 
+data AttrIteratorDestroyMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo AttrIteratorDestroyMethodInfo AttrIterator signature where
+    overloadedMethod _ = attrIteratorDestroy
+
 -- method AttrIterator::get_attrs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Pango" "Attribute")
 -- throws : False
 -- Skip return : False
@@ -100,8 +108,8 @@
 
 attrIteratorGetAttrs ::
     (MonadIO m) =>
-    AttrIterator ->                         -- _obj
-    m [Attribute]
+    AttrIterator                            -- _obj
+    -> m [Attribute]                        -- result
 attrIteratorGetAttrs _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_iterator_get_attrs _obj'
@@ -112,11 +120,14 @@
     touchManagedPtr _obj
     return result''
 
+data AttrIteratorGetAttrsMethodInfo
+instance (signature ~ (m [Attribute]), MonadIO m) => MethodInfo AttrIteratorGetAttrsMethodInfo AttrIterator signature where
+    overloadedMethod _ = attrIteratorGetAttrs
+
 -- method AttrIterator::get_font
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "extra_attrs", argType = TGSList (TInterface "Pango" "Attribute"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -131,12 +142,12 @@
 
 attrIteratorGetFont ::
     (MonadIO m) =>
-    AttrIterator ->                         -- _obj
-    FontDescription ->                      -- desc
-    Maybe (Language) ->                     -- language
-    [Attribute] ->                          -- extra_attrs
-    m ()
-attrIteratorGetFont _obj desc language extra_attrs = liftIO $ do
+    AttrIterator                            -- _obj
+    -> FontDescription                      -- desc
+    -> Maybe (Language)                     -- language
+    -> [Attribute]                          -- extraAttrs
+    -> m ()                                 -- result
+attrIteratorGetFont _obj desc language extraAttrs = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let desc' = unsafeManagedPtrGetPtr desc
     maybeLanguage <- case language of
@@ -144,20 +155,23 @@
         Just jLanguage -> do
             let jLanguage' = unsafeManagedPtrGetPtr jLanguage
             return jLanguage'
-    let extra_attrs' = map unsafeManagedPtrGetPtr extra_attrs
-    extra_attrs'' <- packGSList extra_attrs'
-    pango_attr_iterator_get_font _obj' desc' maybeLanguage extra_attrs''
+    let extraAttrs' = map unsafeManagedPtrGetPtr extraAttrs
+    extraAttrs'' <- packGSList extraAttrs'
+    pango_attr_iterator_get_font _obj' desc' maybeLanguage extraAttrs''
     touchManagedPtr _obj
     touchManagedPtr desc
     whenJust language touchManagedPtr
-    mapM_ touchManagedPtr extra_attrs
+    mapM_ touchManagedPtr extraAttrs
     return ()
 
+data AttrIteratorGetFontMethodInfo
+instance (signature ~ (FontDescription -> Maybe (Language) -> [Attribute] -> m ()), MonadIO m) => MethodInfo AttrIteratorGetFontMethodInfo AttrIterator signature where
+    overloadedMethod _ = attrIteratorGetFont
+
 -- method AttrIterator::next
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -169,8 +183,8 @@
 
 attrIteratorNext ::
     (MonadIO m) =>
-    AttrIterator ->                         -- _obj
-    m Bool
+    AttrIterator                            -- _obj
+    -> m Bool                               -- result
 attrIteratorNext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_iterator_next _obj'
@@ -178,11 +192,14 @@
     touchManagedPtr _obj
     return result'
 
+data AttrIteratorNextMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo AttrIteratorNextMethodInfo AttrIterator signature where
+    overloadedMethod _ = attrIteratorNext
+
 -- method AttrIterator::range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrIterator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -196,8 +213,8 @@
 
 attrIteratorRange ::
     (MonadIO m) =>
-    AttrIterator ->                         -- _obj
-    m (Int32,Int32)
+    AttrIterator                            -- _obj
+    -> m (Int32,Int32)                      -- result
 attrIteratorRange _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     start <- allocMem :: IO (Ptr Int32)
@@ -209,5 +226,25 @@
     freeMem start
     freeMem end
     return (start', end')
+
+data AttrIteratorRangeMethodInfo
+instance (signature ~ (m (Int32,Int32)), MonadIO m) => MethodInfo AttrIteratorRangeMethodInfo AttrIterator signature where
+    overloadedMethod _ = attrIteratorRange
+
+type family ResolveAttrIteratorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrIteratorMethod "destroy" o = AttrIteratorDestroyMethodInfo
+    ResolveAttrIteratorMethod "next" o = AttrIteratorNextMethodInfo
+    ResolveAttrIteratorMethod "range" o = AttrIteratorRangeMethodInfo
+    ResolveAttrIteratorMethod "getAttrs" o = AttrIteratorGetAttrsMethodInfo
+    ResolveAttrIteratorMethod "getFont" o = AttrIteratorGetFontMethodInfo
+    ResolveAttrIteratorMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrIteratorMethod t AttrIterator, MethodInfo info AttrIterator p) => IsLabelProxy t (AttrIterator -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrIteratorMethod t AttrIterator, MethodInfo info AttrIterator p) => IsLabel t (AttrIterator -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrIterator.hs-boot b/GI/Pango/Structs/AttrIterator.hs-boot
--- a/GI/Pango/Structs/AttrIterator.hs-boot
+++ b/GI/Pango/Structs/AttrIterator.hs-boot
@@ -8,3 +8,8 @@
 import qualified Data.Map as Map
 
 newtype AttrIterator = AttrIterator (ForeignPtr AttrIterator)
+data AttrIteratorDestroyMethodInfo
+data AttrIteratorGetAttrsMethodInfo
+data AttrIteratorGetFontMethodInfo
+data AttrIteratorNextMethodInfo
+data AttrIteratorRangeMethodInfo
diff --git a/GI/Pango/Structs/AttrLanguage.hs b/GI/Pango/Structs/AttrLanguage.hs
--- a/GI/Pango/Structs/AttrLanguage.hs
+++ b/GI/Pango/Structs/AttrLanguage.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
     AttrLanguage(..)                        ,
+    newZeroAttrLanguage                     ,
     noAttrLanguage                          ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrLanguage = AttrLanguage (ForeignPtr AttrLanguage)
+-- | Construct a `AttrLanguage` struct initialized to zero.
+newZeroAttrLanguage :: MonadIO m => m AttrLanguage
+newZeroAttrLanguage = liftIO $ callocBytes 24 >>= wrapPtr AttrLanguage
+
 noAttrLanguage :: Maybe AttrLanguage
 noAttrLanguage = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO (Ptr Language)
     val' <- (newBoxed Language) val
     return val'
+
+type family ResolveAttrLanguageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrLanguageMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrLanguageMethod t AttrLanguage, MethodInfo info AttrLanguage p) => IsLabelProxy t (AttrLanguage -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrLanguageMethod t AttrLanguage, MethodInfo info AttrLanguage p) => IsLabel t (AttrLanguage -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrList.hs b/GI/Pango/Structs/AttrList.hs
--- a/GI/Pango/Structs/AttrList.hs
+++ b/GI/Pango/Structs/AttrList.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -26,22 +27,27 @@
 
  -- * Methods
 -- ** attrListChange
+    AttrListChangeMethodInfo                ,
     attrListChange                          ,
 
 
 -- ** attrListCopy
+    AttrListCopyMethodInfo                  ,
     attrListCopy                            ,
 
 
 -- ** attrListFilter
+    AttrListFilterMethodInfo                ,
     attrListFilter                          ,
 
 
 -- ** attrListInsert
+    AttrListInsertMethodInfo                ,
     attrListInsert                          ,
 
 
 -- ** attrListInsertBefore
+    AttrListInsertBeforeMethodInfo          ,
     attrListInsertBefore                    ,
 
 
@@ -50,14 +56,17 @@
 
 
 -- ** attrListRef
+    AttrListRefMethodInfo                   ,
     attrListRef                             ,
 
 
 -- ** attrListSplice
+    AttrListSpliceMethodInfo                ,
     attrListSplice                          ,
 
 
 -- ** attrListUnref
+    AttrListUnrefMethodInfo                 ,
     attrListUnref                           ,
 
 
@@ -89,7 +98,6 @@
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Pango" "AttrList"
 -- throws : False
 -- Skip return : False
@@ -100,7 +108,7 @@
 
 attrListNew ::
     (MonadIO m) =>
-    m AttrList
+    m AttrList                              -- result
 attrListNew  = liftIO $ do
     result <- pango_attr_list_new
     checkUnexpectedReturnNULL "pango_attr_list_new" result
@@ -109,9 +117,8 @@
 
 -- method AttrList::change
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -124,9 +131,9 @@
 
 attrListChange ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    Attribute ->                            -- attr
-    m ()
+    AttrList                                -- _obj
+    -> Attribute                            -- attr
+    -> m ()                                 -- result
 attrListChange _obj attr = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let attr' = unsafeManagedPtrGetPtr attr
@@ -135,11 +142,14 @@
     touchManagedPtr attr
     return ()
 
+data AttrListChangeMethodInfo
+instance (signature ~ (Attribute -> m ()), MonadIO m) => MethodInfo AttrListChangeMethodInfo AttrList signature where
+    overloadedMethod _ = attrListChange
+
 -- method AttrList::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "AttrList"
 -- throws : False
 -- Skip return : False
@@ -151,8 +161,8 @@
 
 attrListCopy ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    m AttrList
+    AttrList                                -- _obj
+    -> m AttrList                           -- result
 attrListCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_list_copy _obj'
@@ -161,11 +171,14 @@
     touchManagedPtr _obj
     return result'
 
+data AttrListCopyMethodInfo
+instance (signature ~ (m AttrList), MonadIO m) => MethodInfo AttrListCopyMethodInfo AttrList signature where
+    overloadedMethod _ = attrListCopy
+
 -- method AttrList::filter
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, 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 "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, 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 "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "func", argType = TInterface "Pango" "AttrFilterFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "AttrList"
 -- throws : False
 -- Skip return : False
@@ -179,9 +192,9 @@
 
 attrListFilter ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    AttrFilterFunc ->                       -- func
-    m AttrList
+    AttrList                                -- _obj
+    -> AttrFilterFunc                       -- func
+    -> m AttrList                           -- result
 attrListFilter _obj func = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     func' <- mkAttrFilterFunc (attrFilterFuncWrapper Nothing func)
@@ -193,11 +206,14 @@
     touchManagedPtr _obj
     return result'
 
+data AttrListFilterMethodInfo
+instance (signature ~ (AttrFilterFunc -> m AttrList), MonadIO m) => MethodInfo AttrListFilterMethodInfo AttrList signature where
+    overloadedMethod _ = attrListFilter
+
 -- method AttrList::insert
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -210,9 +226,9 @@
 
 attrListInsert ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    Attribute ->                            -- attr
-    m ()
+    AttrList                                -- _obj
+    -> Attribute                            -- attr
+    -> m ()                                 -- result
 attrListInsert _obj attr = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let attr' = unsafeManagedPtrGetPtr attr
@@ -221,11 +237,14 @@
     touchManagedPtr attr
     return ()
 
+data AttrListInsertMethodInfo
+instance (signature ~ (Attribute -> m ()), MonadIO m) => MethodInfo AttrListInsertMethodInfo AttrList signature where
+    overloadedMethod _ = attrListInsert
+
 -- method AttrList::insert_before
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -238,9 +257,9 @@
 
 attrListInsertBefore ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    Attribute ->                            -- attr
-    m ()
+    AttrList                                -- _obj
+    -> Attribute                            -- attr
+    -> m ()                                 -- result
 attrListInsertBefore _obj attr = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let attr' = unsafeManagedPtrGetPtr attr
@@ -249,11 +268,14 @@
     touchManagedPtr attr
     return ()
 
+data AttrListInsertBeforeMethodInfo
+instance (signature ~ (Attribute -> m ()), MonadIO m) => MethodInfo AttrListInsertBeforeMethodInfo AttrList signature where
+    overloadedMethod _ = attrListInsertBefore
+
 -- method AttrList::ref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "AttrList"
 -- throws : False
 -- Skip return : False
@@ -265,8 +287,8 @@
 
 attrListRef ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    m AttrList
+    AttrList                                -- _obj
+    -> m AttrList                           -- result
 attrListRef _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_attr_list_ref _obj'
@@ -275,11 +297,14 @@
     touchManagedPtr _obj
     return result'
 
+data AttrListRefMethodInfo
+instance (signature ~ (m AttrList), MonadIO m) => MethodInfo AttrListRefMethodInfo AttrList signature where
+    overloadedMethod _ = attrListRef
+
 -- method AttrList::splice
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -294,11 +319,11 @@
 
 attrListSplice ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    AttrList ->                             -- other
-    Int32 ->                                -- pos
-    Int32 ->                                -- len
-    m ()
+    AttrList                                -- _obj
+    -> AttrList                             -- other
+    -> Int32                                -- pos
+    -> Int32                                -- len
+    -> m ()                                 -- result
 attrListSplice _obj other pos len = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let other' = unsafeManagedPtrGetPtr other
@@ -307,11 +332,14 @@
     touchManagedPtr other
     return ()
 
+data AttrListSpliceMethodInfo
+instance (signature ~ (AttrList -> Int32 -> Int32 -> m ()), MonadIO m) => MethodInfo AttrListSpliceMethodInfo AttrList signature where
+    overloadedMethod _ = attrListSplice
+
 -- method AttrList::unref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -323,12 +351,35 @@
 
 attrListUnref ::
     (MonadIO m) =>
-    AttrList ->                             -- _obj
-    m ()
+    AttrList                                -- _obj
+    -> m ()                                 -- result
 attrListUnref _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_attr_list_unref _obj'
     touchManagedPtr _obj
     return ()
+
+data AttrListUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo AttrListUnrefMethodInfo AttrList signature where
+    overloadedMethod _ = attrListUnref
+
+type family ResolveAttrListMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrListMethod "change" o = AttrListChangeMethodInfo
+    ResolveAttrListMethod "copy" o = AttrListCopyMethodInfo
+    ResolveAttrListMethod "filter" o = AttrListFilterMethodInfo
+    ResolveAttrListMethod "insert" o = AttrListInsertMethodInfo
+    ResolveAttrListMethod "insertBefore" o = AttrListInsertBeforeMethodInfo
+    ResolveAttrListMethod "ref" o = AttrListRefMethodInfo
+    ResolveAttrListMethod "splice" o = AttrListSpliceMethodInfo
+    ResolveAttrListMethod "unref" o = AttrListUnrefMethodInfo
+    ResolveAttrListMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrListMethod t AttrList, MethodInfo info AttrList p) => IsLabelProxy t (AttrList -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrListMethod t AttrList, MethodInfo info AttrList p) => IsLabel t (AttrList -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrList.hs-boot b/GI/Pango/Structs/AttrList.hs-boot
--- a/GI/Pango/Structs/AttrList.hs-boot
+++ b/GI/Pango/Structs/AttrList.hs-boot
@@ -9,3 +9,11 @@
 
 newtype AttrList = AttrList (ForeignPtr AttrList)
 instance BoxedObject AttrList where
+data AttrListChangeMethodInfo
+data AttrListCopyMethodInfo
+data AttrListFilterMethodInfo
+data AttrListInsertMethodInfo
+data AttrListInsertBeforeMethodInfo
+data AttrListRefMethodInfo
+data AttrListSpliceMethodInfo
+data AttrListUnrefMethodInfo
diff --git a/GI/Pango/Structs/AttrShape.hs b/GI/Pango/Structs/AttrShape.hs
--- a/GI/Pango/Structs/AttrShape.hs
+++ b/GI/Pango/Structs/AttrShape.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
     AttrShape(..)                           ,
+    newZeroAttrShape                        ,
     noAttrShape                             ,
 
 
@@ -48,6 +50,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrShape = AttrShape (ForeignPtr AttrShape)
+-- | Construct a `AttrShape` struct initialized to zero.
+newZeroAttrShape :: MonadIO m => m AttrShape
+newZeroAttrShape = liftIO $ callocBytes 72 >>= wrapPtr AttrShape
+
 noAttrShape :: Maybe AttrShape
 noAttrShape = Nothing
 
@@ -75,5 +81,16 @@
     return val
 
 -- XXX Skipped getter for "AttrShape:destroy_func" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
+
+type family ResolveAttrShapeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrShapeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrShapeMethod t AttrShape, MethodInfo info AttrShape p) => IsLabelProxy t (AttrShape -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrShapeMethod t AttrShape, MethodInfo info AttrShape p) => IsLabel t (AttrShape -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrSize.hs b/GI/Pango/Structs/AttrSize.hs
--- a/GI/Pango/Structs/AttrSize.hs
+++ b/GI/Pango/Structs/AttrSize.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
     AttrSize(..)                            ,
+    newZeroAttrSize                         ,
     noAttrSize                              ,
 
 
@@ -44,6 +46,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrSize = AttrSize (ForeignPtr AttrSize)
+-- | Construct a `AttrSize` struct initialized to zero.
+newZeroAttrSize :: MonadIO m => m AttrSize
+newZeroAttrSize = liftIO $ callocBytes 24 >>= wrapPtr AttrSize
+
 noAttrSize :: Maybe AttrSize
 noAttrSize = Nothing
 
@@ -62,5 +68,16 @@
 attrSizeReadAbsolute s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 20) :: IO Word32
     return val
+
+type family ResolveAttrSizeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrSizeMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrSizeMethod t AttrSize, MethodInfo info AttrSize p) => IsLabelProxy t (AttrSize -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrSizeMethod t AttrSize, MethodInfo info AttrSize p) => IsLabel t (AttrSize -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/AttrString.hs b/GI/Pango/Structs/AttrString.hs
--- a/GI/Pango/Structs/AttrString.hs
+++ b/GI/Pango/Structs/AttrString.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
     AttrString(..)                          ,
+    newZeroAttrString                       ,
     noAttrString                            ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype AttrString = AttrString (ForeignPtr AttrString)
+-- | Construct a `AttrString` struct initialized to zero.
+newZeroAttrString :: MonadIO m => m AttrString
+newZeroAttrString = liftIO $ callocBytes 24 >>= wrapPtr AttrString
+
 noAttrString :: Maybe AttrString
 noAttrString = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO CString
     val' <- cstringToText val
     return val'
+
+type family ResolveAttrStringMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttrStringMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveAttrStringMethod t AttrString, MethodInfo info AttrString p) => IsLabelProxy t (AttrString -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveAttrStringMethod t AttrString, MethodInfo info AttrString p) => IsLabel t (AttrString -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Attribute.hs b/GI/Pango/Structs/Attribute.hs
--- a/GI/Pango/Structs/Attribute.hs
+++ b/GI/Pango/Structs/Attribute.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -17,19 +18,23 @@
 
 -- * Exported types
     Attribute(..)                           ,
+    newZeroAttribute                        ,
     noAttribute                             ,
 
 
  -- * Methods
 -- ** attributeDestroy
+    AttributeDestroyMethodInfo              ,
     attributeDestroy                        ,
 
 
 -- ** attributeEqual
+    AttributeEqualMethodInfo                ,
     attributeEqual                          ,
 
 
 -- ** attributeInit
+    AttributeInitMethodInfo                 ,
     attributeInit                           ,
 
 
@@ -63,6 +68,10 @@
 import GI.Pango.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
 
@@ -84,9 +93,8 @@
 
 -- method Attribute::destroy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -98,19 +106,22 @@
 
 attributeDestroy ::
     (MonadIO m) =>
-    Attribute ->                            -- _obj
-    m ()
+    Attribute                               -- _obj
+    -> m ()                                 -- result
 attributeDestroy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_attribute_destroy _obj'
     touchManagedPtr _obj
     return ()
 
+data AttributeDestroyMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo AttributeDestroyMethodInfo Attribute signature where
+    overloadedMethod _ = attributeDestroy
+
 -- method Attribute::equal
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "attr2", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -123,9 +134,9 @@
 
 attributeEqual ::
     (MonadIO m) =>
-    Attribute ->                            -- _obj
-    Attribute ->                            -- attr2
-    m Bool
+    Attribute                               -- _obj
+    -> Attribute                            -- attr2
+    -> m Bool                               -- result
 attributeEqual _obj attr2 = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let attr2' = unsafeManagedPtrGetPtr attr2
@@ -135,11 +146,14 @@
     touchManagedPtr attr2
     return result'
 
+data AttributeEqualMethodInfo
+instance (signature ~ (Attribute -> m Bool), MonadIO m) => MethodInfo AttributeEqualMethodInfo Attribute signature where
+    overloadedMethod _ = attributeEqual
+
 -- method Attribute::init
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Attribute", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "klass", argType = TInterface "Pango" "AttrClass", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -152,9 +166,9 @@
 
 attributeInit ::
     (MonadIO m) =>
-    Attribute ->                            -- _obj
-    AttrClass ->                            -- klass
-    m ()
+    Attribute                               -- _obj
+    -> AttrClass                            -- klass
+    -> m ()                                 -- result
 attributeInit _obj klass = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let klass' = unsafeManagedPtrGetPtr klass
@@ -162,5 +176,23 @@
     touchManagedPtr _obj
     touchManagedPtr klass
     return ()
+
+data AttributeInitMethodInfo
+instance (signature ~ (AttrClass -> m ()), MonadIO m) => MethodInfo AttributeInitMethodInfo Attribute signature where
+    overloadedMethod _ = attributeInit
+
+type family ResolveAttributeMethod (t :: Symbol) (o :: *) :: * where
+    ResolveAttributeMethod "destroy" o = AttributeDestroyMethodInfo
+    ResolveAttributeMethod "equal" o = AttributeEqualMethodInfo
+    ResolveAttributeMethod "init" o = AttributeInitMethodInfo
+    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/Pango/Structs/Attribute.hs-boot b/GI/Pango/Structs/Attribute.hs-boot
--- a/GI/Pango/Structs/Attribute.hs-boot
+++ b/GI/Pango/Structs/Attribute.hs-boot
@@ -8,3 +8,6 @@
 import qualified Data.Map as Map
 
 newtype Attribute = Attribute (ForeignPtr Attribute)
+data AttributeDestroyMethodInfo
+data AttributeEqualMethodInfo
+data AttributeInitMethodInfo
diff --git a/GI/Pango/Structs/Color.hs b/GI/Pango/Structs/Color.hs
--- a/GI/Pango/Structs/Color.hs
+++ b/GI/Pango/Structs/Color.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -13,23 +14,28 @@
 
 -- * Exported types
     Color(..)                               ,
+    newZeroColor                            ,
     noColor                                 ,
 
 
  -- * Methods
 -- ** colorCopy
+    ColorCopyMethodInfo                     ,
     colorCopy                               ,
 
 
 -- ** colorFree
+    ColorFreeMethodInfo                     ,
     colorFree                               ,
 
 
 -- ** colorParse
+    ColorParseMethodInfo                    ,
     colorParse                              ,
 
 
 -- ** colorToString
+    ColorToStringMethodInfo                 ,
     colorToString                           ,
 
 
@@ -69,6 +75,10 @@
 instance BoxedObject Color where
     boxedType _ = c_pango_color_get_type
 
+-- | Construct a `Color` struct initialized to zero.
+newZeroColor :: MonadIO m => m Color
+newZeroColor = liftIO $ callocBoxedBytes 6 >>= wrapBoxed Color
+
 noColor :: Maybe Color
 noColor = Nothing
 
@@ -89,9 +99,8 @@
 
 -- method Color::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Color"
 -- throws : False
 -- Skip return : False
@@ -103,8 +112,8 @@
 
 colorCopy ::
     (MonadIO m) =>
-    Color ->                                -- _obj
-    m Color
+    Color                                   -- _obj
+    -> m Color                              -- result
 colorCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_color_copy _obj'
@@ -113,11 +122,14 @@
     touchManagedPtr _obj
     return result'
 
+data ColorCopyMethodInfo
+instance (signature ~ (m Color), MonadIO m) => MethodInfo ColorCopyMethodInfo Color signature where
+    overloadedMethod _ = colorCopy
+
 -- method Color::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -129,19 +141,22 @@
 
 colorFree ::
     (MonadIO m) =>
-    Color ->                                -- _obj
-    m ()
+    Color                                   -- _obj
+    -> m ()                                 -- result
 colorFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_color_free _obj'
     touchManagedPtr _obj
     return ()
 
+data ColorFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo ColorFreeMethodInfo Color signature where
+    overloadedMethod _ = colorFree
+
 -- method Color::parse
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -154,9 +169,9 @@
 
 colorParse ::
     (MonadIO m) =>
-    Color ->                                -- _obj
-    T.Text ->                               -- spec
-    m Bool
+    Color                                   -- _obj
+    -> T.Text                               -- spec
+    -> m Bool                               -- result
 colorParse _obj spec = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     spec' <- textToCString spec
@@ -166,11 +181,14 @@
     freeMem spec'
     return result'
 
+data ColorParseMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m) => MethodInfo ColorParseMethodInfo Color signature where
+    overloadedMethod _ = colorParse
+
 -- method Color::to_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Color", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -182,8 +200,8 @@
 
 colorToString ::
     (MonadIO m) =>
-    Color ->                                -- _obj
-    m T.Text
+    Color                                   -- _obj
+    -> m T.Text                             -- result
 colorToString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_color_to_string _obj'
@@ -192,5 +210,24 @@
     freeMem result
     touchManagedPtr _obj
     return result'
+
+data ColorToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo ColorToStringMethodInfo Color signature where
+    overloadedMethod _ = colorToString
+
+type family ResolveColorMethod (t :: Symbol) (o :: *) :: * where
+    ResolveColorMethod "copy" o = ColorCopyMethodInfo
+    ResolveColorMethod "free" o = ColorFreeMethodInfo
+    ResolveColorMethod "parse" o = ColorParseMethodInfo
+    ResolveColorMethod "toString" o = ColorToStringMethodInfo
+    ResolveColorMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveColorMethod t Color, MethodInfo info Color p) => IsLabelProxy t (Color -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveColorMethod t Color, MethodInfo info Color p) => IsLabel t (Color -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Color.hs-boot b/GI/Pango/Structs/Color.hs-boot
--- a/GI/Pango/Structs/Color.hs-boot
+++ b/GI/Pango/Structs/Color.hs-boot
@@ -9,3 +9,7 @@
 
 newtype Color = Color (ForeignPtr Color)
 instance BoxedObject Color where
+data ColorCopyMethodInfo
+data ColorFreeMethodInfo
+data ColorParseMethodInfo
+data ColorToStringMethodInfo
diff --git a/GI/Pango/Structs/Coverage.hs b/GI/Pango/Structs/Coverage.hs
--- a/GI/Pango/Structs/Coverage.hs
+++ b/GI/Pango/Structs/Coverage.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -18,22 +19,27 @@
 
  -- * Methods
 -- ** coverageGet
+    CoverageGetMethodInfo                   ,
     coverageGet                             ,
 
 
 -- ** coverageMax
+    CoverageMaxMethodInfo                   ,
     coverageMax                             ,
 
 
 -- ** coverageSet
+    CoverageSetMethodInfo                   ,
     coverageSet                             ,
 
 
 -- ** coverageToBytes
+    CoverageToBytesMethodInfo               ,
     coverageToBytes                         ,
 
 
 -- ** coverageUnref
+    CoverageUnrefMethodInfo                 ,
     coverageUnref                           ,
 
 
@@ -57,9 +63,8 @@
 
 -- method Coverage::get
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", 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 "Pango" "Coverage", 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 "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "CoverageLevel"
 -- throws : False
 -- Skip return : False
@@ -72,21 +77,24 @@
 
 coverageGet ::
     (MonadIO m) =>
-    Coverage ->                             -- _obj
-    Int32 ->                                -- index_
-    m CoverageLevel
-coverageGet _obj index_ = liftIO $ do
+    Coverage                                -- _obj
+    -> Int32                                -- index
+    -> m CoverageLevel                      -- result
+coverageGet _obj index = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- pango_coverage_get _obj' index_
+    result <- pango_coverage_get _obj' index
     let result' = (toEnum . fromIntegral) result
     touchManagedPtr _obj
     return result'
 
+data CoverageGetMethodInfo
+instance (signature ~ (Int32 -> m CoverageLevel), MonadIO m) => MethodInfo CoverageGetMethodInfo Coverage signature where
+    overloadedMethod _ = coverageGet
+
 -- method Coverage::max
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "other", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -99,9 +107,9 @@
 
 coverageMax ::
     (MonadIO m) =>
-    Coverage ->                             -- _obj
-    Coverage ->                             -- other
-    m ()
+    Coverage                                -- _obj
+    -> Coverage                             -- other
+    -> m ()                                 -- result
 coverageMax _obj other = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let other' = unsafeManagedPtrGetPtr other
@@ -110,11 +118,14 @@
     touchManagedPtr other
     return ()
 
+data CoverageMaxMethodInfo
+instance (signature ~ (Coverage -> m ()), MonadIO m) => MethodInfo CoverageMaxMethodInfo Coverage signature where
+    overloadedMethod _ = coverageMax
+
 -- method Coverage::set
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", 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},Arg {argName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Coverage", 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},Arg {argCName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", 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},Arg {argName = "level", argType = TInterface "Pango" "CoverageLevel", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -128,22 +139,25 @@
 
 coverageSet ::
     (MonadIO m) =>
-    Coverage ->                             -- _obj
-    Int32 ->                                -- index_
-    CoverageLevel ->                        -- level
-    m ()
-coverageSet _obj index_ level = liftIO $ do
+    Coverage                                -- _obj
+    -> Int32                                -- index
+    -> CoverageLevel                        -- level
+    -> m ()                                 -- result
+coverageSet _obj index level = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let level' = (fromIntegral . fromEnum) level
-    pango_coverage_set _obj' index_ level'
+    pango_coverage_set _obj' index level'
     touchManagedPtr _obj
     return ()
 
+data CoverageSetMethodInfo
+instance (signature ~ (Int32 -> CoverageLevel -> m ()), MonadIO m) => MethodInfo CoverageSetMethodInfo Coverage signature where
+    overloadedMethod _ = coverageSet
+
 -- method Coverage::to_bytes
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "bytes", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_bytes", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -157,27 +171,30 @@
 
 coverageToBytes ::
     (MonadIO m) =>
-    Coverage ->                             -- _obj
-    m (ByteString)
+    Coverage                                -- _obj
+    -> m (ByteString)                       -- result
 coverageToBytes _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     bytes <- allocMem :: IO (Ptr (Ptr Word8))
-    n_bytes <- allocMem :: IO (Ptr Int32)
-    pango_coverage_to_bytes _obj' bytes n_bytes
-    n_bytes' <- peek n_bytes
+    nBytes <- allocMem :: IO (Ptr Int32)
+    pango_coverage_to_bytes _obj' bytes nBytes
+    nBytes' <- peek nBytes
     bytes' <- peek bytes
-    bytes'' <- (unpackByteStringWithLength n_bytes') bytes'
+    bytes'' <- (unpackByteStringWithLength nBytes') bytes'
     freeMem bytes'
     touchManagedPtr _obj
     freeMem bytes
-    freeMem n_bytes
+    freeMem nBytes
     return bytes''
 
+data CoverageToBytesMethodInfo
+instance (signature ~ (m (ByteString)), MonadIO m) => MethodInfo CoverageToBytesMethodInfo Coverage signature where
+    overloadedMethod _ = coverageToBytes
+
 -- method Coverage::unref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Coverage", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -189,12 +206,32 @@
 
 coverageUnref ::
     (MonadIO m) =>
-    Coverage ->                             -- _obj
-    m ()
+    Coverage                                -- _obj
+    -> m ()                                 -- result
 coverageUnref _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_coverage_unref _obj'
     touchManagedPtr _obj
     return ()
+
+data CoverageUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo CoverageUnrefMethodInfo Coverage signature where
+    overloadedMethod _ = coverageUnref
+
+type family ResolveCoverageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveCoverageMethod "get" o = CoverageGetMethodInfo
+    ResolveCoverageMethod "max" o = CoverageMaxMethodInfo
+    ResolveCoverageMethod "set" o = CoverageSetMethodInfo
+    ResolveCoverageMethod "toBytes" o = CoverageToBytesMethodInfo
+    ResolveCoverageMethod "unref" o = CoverageUnrefMethodInfo
+    ResolveCoverageMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveCoverageMethod t Coverage, MethodInfo info Coverage p) => IsLabelProxy t (Coverage -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveCoverageMethod t Coverage, MethodInfo info Coverage p) => IsLabel t (Coverage -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Coverage.hs-boot b/GI/Pango/Structs/Coverage.hs-boot
--- a/GI/Pango/Structs/Coverage.hs-boot
+++ b/GI/Pango/Structs/Coverage.hs-boot
@@ -8,3 +8,8 @@
 import qualified Data.Map as Map
 
 newtype Coverage = Coverage (ForeignPtr Coverage)
+data CoverageGetMethodInfo
+data CoverageMaxMethodInfo
+data CoverageSetMethodInfo
+data CoverageToBytesMethodInfo
+data CoverageUnrefMethodInfo
diff --git a/GI/Pango/Structs/EngineInfo.hs b/GI/Pango/Structs/EngineInfo.hs
--- a/GI/Pango/Structs/EngineInfo.hs
+++ b/GI/Pango/Structs/EngineInfo.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
     EngineInfo(..)                          ,
+    newZeroEngineInfo                       ,
     noEngineInfo                            ,
 
 
@@ -52,6 +54,10 @@
 import GI.Pango.Callbacks
 
 newtype EngineInfo = EngineInfo (ForeignPtr EngineInfo)
+-- | Construct a `EngineInfo` struct initialized to zero.
+newZeroEngineInfo :: MonadIO m => m EngineInfo
+newZeroEngineInfo = liftIO $ callocBytes 40 >>= wrapPtr EngineInfo
+
 noEngineInfo :: Maybe EngineInfo
 noEngineInfo = Nothing
 
@@ -83,5 +89,16 @@
 engineInfoReadNScripts s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 32) :: IO Int32
     return val
+
+type family ResolveEngineInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEngineInfoMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEngineInfoMethod t EngineInfo, MethodInfo info EngineInfo p) => IsLabelProxy t (EngineInfo -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEngineInfoMethod t EngineInfo, MethodInfo info EngineInfo p) => IsLabel t (EngineInfo -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/EngineScriptInfo.hs b/GI/Pango/Structs/EngineScriptInfo.hs
--- a/GI/Pango/Structs/EngineScriptInfo.hs
+++ b/GI/Pango/Structs/EngineScriptInfo.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
     EngineScriptInfo(..)                    ,
+    newZeroEngineScriptInfo                 ,
     noEngineScriptInfo                      ,
 
 
@@ -40,6 +42,10 @@
 import GI.Pango.Callbacks
 
 newtype EngineScriptInfo = EngineScriptInfo (ForeignPtr EngineScriptInfo)
+-- | Construct a `EngineScriptInfo` struct initialized to zero.
+newZeroEngineScriptInfo :: MonadIO m => m EngineScriptInfo
+newZeroEngineScriptInfo = liftIO $ callocBytes 16 >>= wrapPtr EngineScriptInfo
+
 noEngineScriptInfo :: Maybe EngineScriptInfo
 noEngineScriptInfo = Nothing
 
@@ -54,5 +60,16 @@
     val <- peek (ptr `plusPtr` 8) :: IO CString
     val' <- cstringToText val
     return val'
+
+type family ResolveEngineScriptInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveEngineScriptInfoMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveEngineScriptInfoMethod t EngineScriptInfo, MethodInfo info EngineScriptInfo p) => IsLabelProxy t (EngineScriptInfo -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveEngineScriptInfoMethod t EngineScriptInfo, MethodInfo info EngineScriptInfo p) => IsLabel t (EngineScriptInfo -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/FontDescription.hs b/GI/Pango/Structs/FontDescription.hs
--- a/GI/Pango/Structs/FontDescription.hs
+++ b/GI/Pango/Structs/FontDescription.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -20,70 +21,91 @@
 
  -- * Methods
 -- ** fontDescriptionBetterMatch
+    FontDescriptionBetterMatchMethodInfo    ,
     fontDescriptionBetterMatch              ,
 
 
 -- ** fontDescriptionCopy
+    FontDescriptionCopyMethodInfo           ,
     fontDescriptionCopy                     ,
 
 
 -- ** fontDescriptionCopyStatic
+    FontDescriptionCopyStaticMethodInfo     ,
     fontDescriptionCopyStatic               ,
 
 
 -- ** fontDescriptionEqual
+    FontDescriptionEqualMethodInfo          ,
     fontDescriptionEqual                    ,
 
 
 -- ** fontDescriptionFree
+    FontDescriptionFreeMethodInfo           ,
     fontDescriptionFree                     ,
 
 
+-- ** fontDescriptionFromString
+    fontDescriptionFromString               ,
+
+
 -- ** fontDescriptionGetFamily
+    FontDescriptionGetFamilyMethodInfo      ,
     fontDescriptionGetFamily                ,
 
 
 -- ** fontDescriptionGetGravity
+    FontDescriptionGetGravityMethodInfo     ,
     fontDescriptionGetGravity               ,
 
 
 -- ** fontDescriptionGetSetFields
+    FontDescriptionGetSetFieldsMethodInfo   ,
     fontDescriptionGetSetFields             ,
 
 
 -- ** fontDescriptionGetSize
+    FontDescriptionGetSizeMethodInfo        ,
     fontDescriptionGetSize                  ,
 
 
 -- ** fontDescriptionGetSizeIsAbsolute
+    FontDescriptionGetSizeIsAbsoluteMethodInfo,
     fontDescriptionGetSizeIsAbsolute        ,
 
 
 -- ** fontDescriptionGetStretch
+    FontDescriptionGetStretchMethodInfo     ,
     fontDescriptionGetStretch               ,
 
 
 -- ** fontDescriptionGetStyle
+    FontDescriptionGetStyleMethodInfo       ,
     fontDescriptionGetStyle                 ,
 
 
 -- ** fontDescriptionGetVariant
+    FontDescriptionGetVariantMethodInfo     ,
     fontDescriptionGetVariant               ,
 
 
 -- ** fontDescriptionGetWeight
+    FontDescriptionGetWeightMethodInfo      ,
     fontDescriptionGetWeight                ,
 
 
 -- ** fontDescriptionHash
+    FontDescriptionHashMethodInfo           ,
     fontDescriptionHash                     ,
 
 
 -- ** fontDescriptionMerge
+    FontDescriptionMergeMethodInfo          ,
     fontDescriptionMerge                    ,
 
 
 -- ** fontDescriptionMergeStatic
+    FontDescriptionMergeStaticMethodInfo    ,
     fontDescriptionMergeStatic              ,
 
 
@@ -92,50 +114,62 @@
 
 
 -- ** fontDescriptionSetAbsoluteSize
+    FontDescriptionSetAbsoluteSizeMethodInfo,
     fontDescriptionSetAbsoluteSize          ,
 
 
 -- ** fontDescriptionSetFamily
+    FontDescriptionSetFamilyMethodInfo      ,
     fontDescriptionSetFamily                ,
 
 
 -- ** fontDescriptionSetFamilyStatic
+    FontDescriptionSetFamilyStaticMethodInfo,
     fontDescriptionSetFamilyStatic          ,
 
 
 -- ** fontDescriptionSetGravity
+    FontDescriptionSetGravityMethodInfo     ,
     fontDescriptionSetGravity               ,
 
 
 -- ** fontDescriptionSetSize
+    FontDescriptionSetSizeMethodInfo        ,
     fontDescriptionSetSize                  ,
 
 
 -- ** fontDescriptionSetStretch
+    FontDescriptionSetStretchMethodInfo     ,
     fontDescriptionSetStretch               ,
 
 
 -- ** fontDescriptionSetStyle
+    FontDescriptionSetStyleMethodInfo       ,
     fontDescriptionSetStyle                 ,
 
 
 -- ** fontDescriptionSetVariant
+    FontDescriptionSetVariantMethodInfo     ,
     fontDescriptionSetVariant               ,
 
 
 -- ** fontDescriptionSetWeight
+    FontDescriptionSetWeightMethodInfo      ,
     fontDescriptionSetWeight                ,
 
 
 -- ** fontDescriptionToFilename
+    FontDescriptionToFilenameMethodInfo     ,
     fontDescriptionToFilename               ,
 
 
 -- ** fontDescriptionToString
+    FontDescriptionToStringMethodInfo       ,
     fontDescriptionToString                 ,
 
 
 -- ** fontDescriptionUnsetFields
+    FontDescriptionUnsetFieldsMethodInfo    ,
     fontDescriptionUnsetFields              ,
 
 
@@ -167,7 +201,6 @@
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -178,7 +211,7 @@
 
 fontDescriptionNew ::
     (MonadIO m) =>
-    m FontDescription
+    m FontDescription                       -- result
 fontDescriptionNew  = liftIO $ do
     result <- pango_font_description_new
     checkUnexpectedReturnNULL "pango_font_description_new" result
@@ -187,9 +220,8 @@
 
 -- method FontDescription::better_match
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "old_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_match", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -203,30 +235,33 @@
 
 fontDescriptionBetterMatch ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Maybe (FontDescription) ->              -- old_match
-    FontDescription ->                      -- new_match
-    m Bool
-fontDescriptionBetterMatch _obj old_match new_match = liftIO $ do
+    FontDescription                         -- _obj
+    -> Maybe (FontDescription)              -- oldMatch
+    -> FontDescription                      -- newMatch
+    -> m Bool                               -- result
+fontDescriptionBetterMatch _obj oldMatch newMatch = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    maybeOld_match <- case old_match of
+    maybeOldMatch <- case oldMatch of
         Nothing -> return nullPtr
-        Just jOld_match -> do
-            let jOld_match' = unsafeManagedPtrGetPtr jOld_match
-            return jOld_match'
-    let new_match' = unsafeManagedPtrGetPtr new_match
-    result <- pango_font_description_better_match _obj' maybeOld_match new_match'
+        Just jOldMatch -> do
+            let jOldMatch' = unsafeManagedPtrGetPtr jOldMatch
+            return jOldMatch'
+    let newMatch' = unsafeManagedPtrGetPtr newMatch
+    result <- pango_font_description_better_match _obj' maybeOldMatch newMatch'
     let result' = (/= 0) result
     touchManagedPtr _obj
-    whenJust old_match touchManagedPtr
-    touchManagedPtr new_match
+    whenJust oldMatch touchManagedPtr
+    touchManagedPtr newMatch
     return result'
 
+data FontDescriptionBetterMatchMethodInfo
+instance (signature ~ (Maybe (FontDescription) -> FontDescription -> m Bool), MonadIO m) => MethodInfo FontDescriptionBetterMatchMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionBetterMatch
+
 -- method FontDescription::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -238,8 +273,8 @@
 
 fontDescriptionCopy ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m FontDescription
+    FontDescription                         -- _obj
+    -> m FontDescription                    -- result
 fontDescriptionCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_copy _obj'
@@ -248,11 +283,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionCopyMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m) => MethodInfo FontDescriptionCopyMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionCopy
+
 -- method FontDescription::copy_static
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontDescription"
 -- throws : False
 -- Skip return : False
@@ -264,8 +302,8 @@
 
 fontDescriptionCopyStatic ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m FontDescription
+    FontDescription                         -- _obj
+    -> m FontDescription                    -- result
 fontDescriptionCopyStatic _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_copy_static _obj'
@@ -274,11 +312,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionCopyStaticMethodInfo
+instance (signature ~ (m FontDescription), MonadIO m) => MethodInfo FontDescriptionCopyStaticMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionCopyStatic
+
 -- method FontDescription::equal
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc2", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -291,9 +332,9 @@
 
 fontDescriptionEqual ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    FontDescription ->                      -- desc2
-    m Bool
+    FontDescription                         -- _obj
+    -> FontDescription                      -- desc2
+    -> m Bool                               -- result
 fontDescriptionEqual _obj desc2 = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let desc2' = unsafeManagedPtrGetPtr desc2
@@ -303,11 +344,14 @@
     touchManagedPtr desc2
     return result'
 
+data FontDescriptionEqualMethodInfo
+instance (signature ~ (FontDescription -> m Bool), MonadIO m) => MethodInfo FontDescriptionEqualMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionEqual
+
 -- method FontDescription::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -319,19 +363,22 @@
 
 fontDescriptionFree ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m ()
+    FontDescription                         -- _obj
+    -> m ()                                 -- result
 fontDescriptionFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_font_description_free _obj'
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo FontDescriptionFreeMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionFree
+
 -- method FontDescription::get_family
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -343,8 +390,8 @@
 
 fontDescriptionGetFamily ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m T.Text
+    FontDescription                         -- _obj
+    -> m T.Text                             -- result
 fontDescriptionGetFamily _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_family _obj'
@@ -353,11 +400,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetFamilyMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo FontDescriptionGetFamilyMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetFamily
+
 -- method FontDescription::get_gravity
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Gravity"
 -- throws : False
 -- Skip return : False
@@ -369,8 +419,8 @@
 
 fontDescriptionGetGravity ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Gravity
+    FontDescription                         -- _obj
+    -> m Gravity                            -- result
 fontDescriptionGetGravity _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_gravity _obj'
@@ -378,11 +428,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetGravityMethodInfo
+instance (signature ~ (m Gravity), MonadIO m) => MethodInfo FontDescriptionGetGravityMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetGravity
+
 -- method FontDescription::get_set_fields
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMask"
 -- throws : False
 -- Skip return : False
@@ -394,8 +447,8 @@
 
 fontDescriptionGetSetFields ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m [FontMask]
+    FontDescription                         -- _obj
+    -> m [FontMask]                         -- result
 fontDescriptionGetSetFields _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_set_fields _obj'
@@ -403,11 +456,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetSetFieldsMethodInfo
+instance (signature ~ (m [FontMask]), MonadIO m) => MethodInfo FontDescriptionGetSetFieldsMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetSetFields
+
 -- method FontDescription::get_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -419,19 +475,22 @@
 
 fontDescriptionGetSize ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Int32
+    FontDescription                         -- _obj
+    -> m Int32                              -- result
 fontDescriptionGetSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_size _obj'
     touchManagedPtr _obj
     return result
 
+data FontDescriptionGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontDescriptionGetSizeMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetSize
+
 -- method FontDescription::get_size_is_absolute
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -443,8 +502,8 @@
 
 fontDescriptionGetSizeIsAbsolute ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Bool
+    FontDescription                         -- _obj
+    -> m Bool                               -- result
 fontDescriptionGetSizeIsAbsolute _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_size_is_absolute _obj'
@@ -452,11 +511,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetSizeIsAbsoluteMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo FontDescriptionGetSizeIsAbsoluteMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetSizeIsAbsolute
+
 -- method FontDescription::get_stretch
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Stretch"
 -- throws : False
 -- Skip return : False
@@ -468,8 +530,8 @@
 
 fontDescriptionGetStretch ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Stretch
+    FontDescription                         -- _obj
+    -> m Stretch                            -- result
 fontDescriptionGetStretch _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_stretch _obj'
@@ -477,11 +539,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetStretchMethodInfo
+instance (signature ~ (m Stretch), MonadIO m) => MethodInfo FontDescriptionGetStretchMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetStretch
+
 -- method FontDescription::get_style
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Style"
 -- throws : False
 -- Skip return : False
@@ -493,8 +558,8 @@
 
 fontDescriptionGetStyle ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Style
+    FontDescription                         -- _obj
+    -> m Style                              -- result
 fontDescriptionGetStyle _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_style _obj'
@@ -502,11 +567,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetStyleMethodInfo
+instance (signature ~ (m Style), MonadIO m) => MethodInfo FontDescriptionGetStyleMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetStyle
+
 -- method FontDescription::get_variant
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Variant"
 -- throws : False
 -- Skip return : False
@@ -518,8 +586,8 @@
 
 fontDescriptionGetVariant ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Variant
+    FontDescription                         -- _obj
+    -> m Variant                            -- result
 fontDescriptionGetVariant _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_variant _obj'
@@ -527,11 +595,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetVariantMethodInfo
+instance (signature ~ (m Variant), MonadIO m) => MethodInfo FontDescriptionGetVariantMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetVariant
+
 -- method FontDescription::get_weight
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Weight"
 -- throws : False
 -- Skip return : False
@@ -543,8 +614,8 @@
 
 fontDescriptionGetWeight ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Weight
+    FontDescription                         -- _obj
+    -> m Weight                             -- result
 fontDescriptionGetWeight _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_get_weight _obj'
@@ -552,11 +623,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionGetWeightMethodInfo
+instance (signature ~ (m Weight), MonadIO m) => MethodInfo FontDescriptionGetWeightMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionGetWeight
+
 -- method FontDescription::hash
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUInt32
 -- throws : False
 -- Skip return : False
@@ -568,19 +642,22 @@
 
 fontDescriptionHash ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m Word32
+    FontDescription                         -- _obj
+    -> m Word32                             -- result
 fontDescriptionHash _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_hash _obj'
     touchManagedPtr _obj
     return result
 
+data FontDescriptionHashMethodInfo
+instance (signature ~ (m Word32), MonadIO m) => MethodInfo FontDescriptionHashMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionHash
+
 -- method FontDescription::merge
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -594,28 +671,31 @@
 
 fontDescriptionMerge ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Maybe (FontDescription) ->              -- desc_to_merge
-    Bool ->                                 -- replace_existing
-    m ()
-fontDescriptionMerge _obj desc_to_merge replace_existing = liftIO $ do
+    FontDescription                         -- _obj
+    -> Maybe (FontDescription)              -- descToMerge
+    -> Bool                                 -- replaceExisting
+    -> m ()                                 -- result
+fontDescriptionMerge _obj descToMerge replaceExisting = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    maybeDesc_to_merge <- case desc_to_merge of
+    maybeDescToMerge <- case descToMerge of
         Nothing -> return nullPtr
-        Just jDesc_to_merge -> do
-            let jDesc_to_merge' = unsafeManagedPtrGetPtr jDesc_to_merge
-            return jDesc_to_merge'
-    let replace_existing' = (fromIntegral . fromEnum) replace_existing
-    pango_font_description_merge _obj' maybeDesc_to_merge replace_existing'
+        Just jDescToMerge -> do
+            let jDescToMerge' = unsafeManagedPtrGetPtr jDescToMerge
+            return jDescToMerge'
+    let replaceExisting' = (fromIntegral . fromEnum) replaceExisting
+    pango_font_description_merge _obj' maybeDescToMerge replaceExisting'
     touchManagedPtr _obj
-    whenJust desc_to_merge touchManagedPtr
+    whenJust descToMerge touchManagedPtr
     return ()
 
+data FontDescriptionMergeMethodInfo
+instance (signature ~ (Maybe (FontDescription) -> Bool -> m ()), MonadIO m) => MethodInfo FontDescriptionMergeMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionMerge
+
 -- method FontDescription::merge_static
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "desc_to_merge", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "replace_existing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -629,24 +709,27 @@
 
 fontDescriptionMergeStatic ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    FontDescription ->                      -- desc_to_merge
-    Bool ->                                 -- replace_existing
-    m ()
-fontDescriptionMergeStatic _obj desc_to_merge replace_existing = liftIO $ do
+    FontDescription                         -- _obj
+    -> FontDescription                      -- descToMerge
+    -> Bool                                 -- replaceExisting
+    -> m ()                                 -- result
+fontDescriptionMergeStatic _obj descToMerge replaceExisting = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let desc_to_merge' = unsafeManagedPtrGetPtr desc_to_merge
-    let replace_existing' = (fromIntegral . fromEnum) replace_existing
-    pango_font_description_merge_static _obj' desc_to_merge' replace_existing'
+    let descToMerge' = unsafeManagedPtrGetPtr descToMerge
+    let replaceExisting' = (fromIntegral . fromEnum) replaceExisting
+    pango_font_description_merge_static _obj' descToMerge' replaceExisting'
     touchManagedPtr _obj
-    touchManagedPtr desc_to_merge
+    touchManagedPtr descToMerge
     return ()
 
+data FontDescriptionMergeStaticMethodInfo
+instance (signature ~ (FontDescription -> Bool -> m ()), MonadIO m) => MethodInfo FontDescriptionMergeStaticMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionMergeStatic
+
 -- method FontDescription::set_absolute_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -659,9 +742,9 @@
 
 fontDescriptionSetAbsoluteSize ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Double ->                               -- size
-    m ()
+    FontDescription                         -- _obj
+    -> Double                               -- size
+    -> m ()                                 -- result
 fontDescriptionSetAbsoluteSize _obj size = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let size' = realToFrac size
@@ -669,11 +752,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetAbsoluteSizeMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m) => MethodInfo FontDescriptionSetAbsoluteSizeMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetAbsoluteSize
+
 -- method FontDescription::set_family
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -686,9 +772,9 @@
 
 fontDescriptionSetFamily ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    T.Text ->                               -- family
-    m ()
+    FontDescription                         -- _obj
+    -> T.Text                               -- family
+    -> m ()                                 -- result
 fontDescriptionSetFamily _obj family = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     family' <- textToCString family
@@ -697,11 +783,14 @@
     freeMem family'
     return ()
 
+data FontDescriptionSetFamilyMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo FontDescriptionSetFamilyMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetFamily
+
 -- method FontDescription::set_family_static
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "family", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -714,9 +803,9 @@
 
 fontDescriptionSetFamilyStatic ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    T.Text ->                               -- family
-    m ()
+    FontDescription                         -- _obj
+    -> T.Text                               -- family
+    -> m ()                                 -- result
 fontDescriptionSetFamilyStatic _obj family = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     family' <- textToCString family
@@ -725,11 +814,14 @@
     freeMem family'
     return ()
 
+data FontDescriptionSetFamilyStaticMethodInfo
+instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo FontDescriptionSetFamilyStaticMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetFamilyStatic
+
 -- method FontDescription::set_gravity
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "gravity", argType = TInterface "Pango" "Gravity", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -742,9 +834,9 @@
 
 fontDescriptionSetGravity ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Gravity ->                              -- gravity
-    m ()
+    FontDescription                         -- _obj
+    -> Gravity                              -- gravity
+    -> m ()                                 -- result
 fontDescriptionSetGravity _obj gravity = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let gravity' = (fromIntegral . fromEnum) gravity
@@ -752,11 +844,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetGravityMethodInfo
+instance (signature ~ (Gravity -> m ()), MonadIO m) => MethodInfo FontDescriptionSetGravityMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetGravity
+
 -- method FontDescription::set_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -769,20 +864,23 @@
 
 fontDescriptionSetSize ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Int32 ->                                -- size
-    m ()
+    FontDescription                         -- _obj
+    -> Int32                                -- size
+    -> m ()                                 -- result
 fontDescriptionSetSize _obj size = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_font_description_set_size _obj' size
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => MethodInfo FontDescriptionSetSizeMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetSize
+
 -- method FontDescription::set_stretch
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stretch", argType = TInterface "Pango" "Stretch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -795,9 +893,9 @@
 
 fontDescriptionSetStretch ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Stretch ->                              -- stretch
-    m ()
+    FontDescription                         -- _obj
+    -> Stretch                              -- stretch
+    -> m ()                                 -- result
 fontDescriptionSetStretch _obj stretch = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let stretch' = (fromIntegral . fromEnum) stretch
@@ -805,11 +903,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetStretchMethodInfo
+instance (signature ~ (Stretch -> m ()), MonadIO m) => MethodInfo FontDescriptionSetStretchMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetStretch
+
 -- method FontDescription::set_style
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "style", argType = TInterface "Pango" "Style", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -822,9 +923,9 @@
 
 fontDescriptionSetStyle ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Style ->                                -- style
-    m ()
+    FontDescription                         -- _obj
+    -> Style                                -- style
+    -> m ()                                 -- result
 fontDescriptionSetStyle _obj style = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let style' = (fromIntegral . fromEnum) style
@@ -832,11 +933,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetStyleMethodInfo
+instance (signature ~ (Style -> m ()), MonadIO m) => MethodInfo FontDescriptionSetStyleMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetStyle
+
 -- method FontDescription::set_variant
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "variant", argType = TInterface "Pango" "Variant", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -849,9 +953,9 @@
 
 fontDescriptionSetVariant ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Variant ->                              -- variant
-    m ()
+    FontDescription                         -- _obj
+    -> Variant                              -- variant
+    -> m ()                                 -- result
 fontDescriptionSetVariant _obj variant = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let variant' = (fromIntegral . fromEnum) variant
@@ -859,11 +963,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetVariantMethodInfo
+instance (signature ~ (Variant -> m ()), MonadIO m) => MethodInfo FontDescriptionSetVariantMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetVariant
+
 -- method FontDescription::set_weight
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "weight", argType = TInterface "Pango" "Weight", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -876,9 +983,9 @@
 
 fontDescriptionSetWeight ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    Weight ->                               -- weight
-    m ()
+    FontDescription                         -- _obj
+    -> Weight                               -- weight
+    -> m ()                                 -- result
 fontDescriptionSetWeight _obj weight = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let weight' = (fromIntegral . fromEnum) weight
@@ -886,11 +993,14 @@
     touchManagedPtr _obj
     return ()
 
+data FontDescriptionSetWeightMethodInfo
+instance (signature ~ (Weight -> m ()), MonadIO m) => MethodInfo FontDescriptionSetWeightMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionSetWeight
+
 -- method FontDescription::to_filename
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -902,8 +1012,8 @@
 
 fontDescriptionToFilename ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m T.Text
+    FontDescription                         -- _obj
+    -> m T.Text                             -- result
 fontDescriptionToFilename _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_to_filename _obj'
@@ -913,11 +1023,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionToFilenameMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo FontDescriptionToFilenameMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionToFilename
+
 -- method FontDescription::to_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -929,8 +1042,8 @@
 
 fontDescriptionToString ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    m T.Text
+    FontDescription                         -- _obj
+    -> m T.Text                             -- result
 fontDescriptionToString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_description_to_string _obj'
@@ -940,11 +1053,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontDescriptionToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo FontDescriptionToStringMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionToString
+
 -- method FontDescription::unset_fields
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontDescription", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "to_unset", argType = TInterface "Pango" "FontMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -957,14 +1073,83 @@
 
 fontDescriptionUnsetFields ::
     (MonadIO m) =>
-    FontDescription ->                      -- _obj
-    [FontMask] ->                           -- to_unset
-    m ()
-fontDescriptionUnsetFields _obj to_unset = liftIO $ do
+    FontDescription                         -- _obj
+    -> [FontMask]                           -- toUnset
+    -> m ()                                 -- result
+fontDescriptionUnsetFields _obj toUnset = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let to_unset' = gflagsToWord to_unset
-    pango_font_description_unset_fields _obj' to_unset'
+    let toUnset' = gflagsToWord toUnset
+    pango_font_description_unset_fields _obj' toUnset'
     touchManagedPtr _obj
     return ()
+
+data FontDescriptionUnsetFieldsMethodInfo
+instance (signature ~ ([FontMask] -> m ()), MonadIO m) => MethodInfo FontDescriptionUnsetFieldsMethodInfo FontDescription signature where
+    overloadedMethod _ = fontDescriptionUnsetFields
+
+-- method FontDescription::from_string
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Pango" "FontDescription"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "pango_font_description_from_string" pango_font_description_from_string :: 
+    CString ->                              -- str : TBasicType TUTF8
+    IO (Ptr FontDescription)
+
+
+fontDescriptionFromString ::
+    (MonadIO m) =>
+    T.Text                                  -- str
+    -> m FontDescription                    -- result
+fontDescriptionFromString str = liftIO $ do
+    str' <- textToCString str
+    result <- pango_font_description_from_string str'
+    checkUnexpectedReturnNULL "pango_font_description_from_string" result
+    result' <- (wrapBoxed FontDescription) result
+    freeMem str'
+    return result'
+
+type family ResolveFontDescriptionMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontDescriptionMethod "betterMatch" o = FontDescriptionBetterMatchMethodInfo
+    ResolveFontDescriptionMethod "copy" o = FontDescriptionCopyMethodInfo
+    ResolveFontDescriptionMethod "copyStatic" o = FontDescriptionCopyStaticMethodInfo
+    ResolveFontDescriptionMethod "equal" o = FontDescriptionEqualMethodInfo
+    ResolveFontDescriptionMethod "free" o = FontDescriptionFreeMethodInfo
+    ResolveFontDescriptionMethod "hash" o = FontDescriptionHashMethodInfo
+    ResolveFontDescriptionMethod "merge" o = FontDescriptionMergeMethodInfo
+    ResolveFontDescriptionMethod "mergeStatic" o = FontDescriptionMergeStaticMethodInfo
+    ResolveFontDescriptionMethod "toFilename" o = FontDescriptionToFilenameMethodInfo
+    ResolveFontDescriptionMethod "toString" o = FontDescriptionToStringMethodInfo
+    ResolveFontDescriptionMethod "unsetFields" o = FontDescriptionUnsetFieldsMethodInfo
+    ResolveFontDescriptionMethod "getFamily" o = FontDescriptionGetFamilyMethodInfo
+    ResolveFontDescriptionMethod "getGravity" o = FontDescriptionGetGravityMethodInfo
+    ResolveFontDescriptionMethod "getSetFields" o = FontDescriptionGetSetFieldsMethodInfo
+    ResolveFontDescriptionMethod "getSize" o = FontDescriptionGetSizeMethodInfo
+    ResolveFontDescriptionMethod "getSizeIsAbsolute" o = FontDescriptionGetSizeIsAbsoluteMethodInfo
+    ResolveFontDescriptionMethod "getStretch" o = FontDescriptionGetStretchMethodInfo
+    ResolveFontDescriptionMethod "getStyle" o = FontDescriptionGetStyleMethodInfo
+    ResolveFontDescriptionMethod "getVariant" o = FontDescriptionGetVariantMethodInfo
+    ResolveFontDescriptionMethod "getWeight" o = FontDescriptionGetWeightMethodInfo
+    ResolveFontDescriptionMethod "setAbsoluteSize" o = FontDescriptionSetAbsoluteSizeMethodInfo
+    ResolveFontDescriptionMethod "setFamily" o = FontDescriptionSetFamilyMethodInfo
+    ResolveFontDescriptionMethod "setFamilyStatic" o = FontDescriptionSetFamilyStaticMethodInfo
+    ResolveFontDescriptionMethod "setGravity" o = FontDescriptionSetGravityMethodInfo
+    ResolveFontDescriptionMethod "setSize" o = FontDescriptionSetSizeMethodInfo
+    ResolveFontDescriptionMethod "setStretch" o = FontDescriptionSetStretchMethodInfo
+    ResolveFontDescriptionMethod "setStyle" o = FontDescriptionSetStyleMethodInfo
+    ResolveFontDescriptionMethod "setVariant" o = FontDescriptionSetVariantMethodInfo
+    ResolveFontDescriptionMethod "setWeight" o = FontDescriptionSetWeightMethodInfo
+    ResolveFontDescriptionMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontDescriptionMethod t FontDescription, MethodInfo info FontDescription p) => IsLabelProxy t (FontDescription -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontDescriptionMethod t FontDescription, MethodInfo info FontDescription p) => IsLabel t (FontDescription -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/FontDescription.hs-boot b/GI/Pango/Structs/FontDescription.hs-boot
--- a/GI/Pango/Structs/FontDescription.hs-boot
+++ b/GI/Pango/Structs/FontDescription.hs-boot
@@ -9,3 +9,32 @@
 
 newtype FontDescription = FontDescription (ForeignPtr FontDescription)
 instance BoxedObject FontDescription where
+data FontDescriptionBetterMatchMethodInfo
+data FontDescriptionCopyMethodInfo
+data FontDescriptionCopyStaticMethodInfo
+data FontDescriptionEqualMethodInfo
+data FontDescriptionFreeMethodInfo
+data FontDescriptionGetFamilyMethodInfo
+data FontDescriptionGetGravityMethodInfo
+data FontDescriptionGetSetFieldsMethodInfo
+data FontDescriptionGetSizeMethodInfo
+data FontDescriptionGetSizeIsAbsoluteMethodInfo
+data FontDescriptionGetStretchMethodInfo
+data FontDescriptionGetStyleMethodInfo
+data FontDescriptionGetVariantMethodInfo
+data FontDescriptionGetWeightMethodInfo
+data FontDescriptionHashMethodInfo
+data FontDescriptionMergeMethodInfo
+data FontDescriptionMergeStaticMethodInfo
+data FontDescriptionSetAbsoluteSizeMethodInfo
+data FontDescriptionSetFamilyMethodInfo
+data FontDescriptionSetFamilyStaticMethodInfo
+data FontDescriptionSetGravityMethodInfo
+data FontDescriptionSetSizeMethodInfo
+data FontDescriptionSetStretchMethodInfo
+data FontDescriptionSetStyleMethodInfo
+data FontDescriptionSetVariantMethodInfo
+data FontDescriptionSetWeightMethodInfo
+data FontDescriptionToFilenameMethodInfo
+data FontDescriptionToStringMethodInfo
+data FontDescriptionUnsetFieldsMethodInfo
diff --git a/GI/Pango/Structs/FontMetrics.hs b/GI/Pango/Structs/FontMetrics.hs
--- a/GI/Pango/Structs/FontMetrics.hs
+++ b/GI/Pango/Structs/FontMetrics.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,39 +17,48 @@
 
 -- * Exported types
     FontMetrics(..)                         ,
+    newZeroFontMetrics                      ,
     noFontMetrics                           ,
 
 
  -- * Methods
 -- ** fontMetricsGetApproximateCharWidth
+    FontMetricsGetApproximateCharWidthMethodInfo,
     fontMetricsGetApproximateCharWidth      ,
 
 
 -- ** fontMetricsGetApproximateDigitWidth
+    FontMetricsGetApproximateDigitWidthMethodInfo,
     fontMetricsGetApproximateDigitWidth     ,
 
 
 -- ** fontMetricsGetAscent
+    FontMetricsGetAscentMethodInfo          ,
     fontMetricsGetAscent                    ,
 
 
 -- ** fontMetricsGetDescent
+    FontMetricsGetDescentMethodInfo         ,
     fontMetricsGetDescent                   ,
 
 
 -- ** fontMetricsGetStrikethroughPosition
+    FontMetricsGetStrikethroughPositionMethodInfo,
     fontMetricsGetStrikethroughPosition     ,
 
 
 -- ** fontMetricsGetStrikethroughThickness
+    FontMetricsGetStrikethroughThicknessMethodInfo,
     fontMetricsGetStrikethroughThickness    ,
 
 
 -- ** fontMetricsGetUnderlinePosition
+    FontMetricsGetUnderlinePositionMethodInfo,
     fontMetricsGetUnderlinePosition         ,
 
 
 -- ** fontMetricsGetUnderlineThickness
+    FontMetricsGetUnderlineThicknessMethodInfo,
     fontMetricsGetUnderlineThickness        ,
 
 
@@ -57,10 +67,12 @@
 
 
 -- ** fontMetricsRef
+    FontMetricsRefMethodInfo                ,
     fontMetricsRef                          ,
 
 
 -- ** fontMetricsUnref
+    FontMetricsUnrefMethodInfo              ,
     fontMetricsUnref                        ,
 
 
@@ -85,6 +97,10 @@
 instance BoxedObject FontMetrics where
     boxedType _ = c_pango_font_metrics_get_type
 
+-- | Construct a `FontMetrics` struct initialized to zero.
+newZeroFontMetrics :: MonadIO m => m FontMetrics
+newZeroFontMetrics = liftIO $ callocBoxedBytes 36 >>= wrapBoxed FontMetrics
+
 noFontMetrics :: Maybe FontMetrics
 noFontMetrics = Nothing
 
@@ -92,7 +108,6 @@
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Pango" "FontMetrics"
 -- throws : False
 -- Skip return : False
@@ -103,7 +118,7 @@
 
 fontMetricsNew ::
     (MonadIO m) =>
-    m FontMetrics
+    m FontMetrics                           -- result
 fontMetricsNew  = liftIO $ do
     result <- pango_font_metrics_new
     checkUnexpectedReturnNULL "pango_font_metrics_new" result
@@ -112,9 +127,8 @@
 
 -- method FontMetrics::get_approximate_char_width
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -126,19 +140,22 @@
 
 fontMetricsGetApproximateCharWidth ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetApproximateCharWidth _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_approximate_char_width _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetApproximateCharWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetApproximateCharWidthMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetApproximateCharWidth
+
 -- method FontMetrics::get_approximate_digit_width
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -150,19 +167,22 @@
 
 fontMetricsGetApproximateDigitWidth ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetApproximateDigitWidth _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_approximate_digit_width _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetApproximateDigitWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetApproximateDigitWidthMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetApproximateDigitWidth
+
 -- method FontMetrics::get_ascent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -174,19 +194,22 @@
 
 fontMetricsGetAscent ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetAscent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_ascent _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetAscentMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetAscentMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetAscent
+
 -- method FontMetrics::get_descent
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -198,19 +221,22 @@
 
 fontMetricsGetDescent ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetDescent _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_descent _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetDescentMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetDescentMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetDescent
+
 -- method FontMetrics::get_strikethrough_position
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -222,19 +248,22 @@
 
 fontMetricsGetStrikethroughPosition ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetStrikethroughPosition _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_strikethrough_position _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetStrikethroughPositionMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetStrikethroughPositionMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetStrikethroughPosition
+
 -- method FontMetrics::get_strikethrough_thickness
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -246,19 +275,22 @@
 
 fontMetricsGetStrikethroughThickness ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetStrikethroughThickness _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_strikethrough_thickness _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetStrikethroughThicknessMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetStrikethroughThicknessMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetStrikethroughThickness
+
 -- method FontMetrics::get_underline_position
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -270,19 +302,22 @@
 
 fontMetricsGetUnderlinePosition ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetUnderlinePosition _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_underline_position _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetUnderlinePositionMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetUnderlinePositionMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetUnderlinePosition
+
 -- method FontMetrics::get_underline_thickness
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -294,19 +329,22 @@
 
 fontMetricsGetUnderlineThickness ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m Int32
+    FontMetrics                             -- _obj
+    -> m Int32                              -- result
 fontMetricsGetUnderlineThickness _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_get_underline_thickness _obj'
     touchManagedPtr _obj
     return result
 
+data FontMetricsGetUnderlineThicknessMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo FontMetricsGetUnderlineThicknessMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsGetUnderlineThickness
+
 -- method FontMetrics::ref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "FontMetrics"
 -- throws : False
 -- Skip return : False
@@ -318,8 +356,8 @@
 
 fontMetricsRef ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m FontMetrics
+    FontMetrics                             -- _obj
+    -> m FontMetrics                        -- result
 fontMetricsRef _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_font_metrics_ref _obj'
@@ -328,11 +366,14 @@
     touchManagedPtr _obj
     return result'
 
+data FontMetricsRefMethodInfo
+instance (signature ~ (m FontMetrics), MonadIO m) => MethodInfo FontMetricsRefMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsRef
+
 -- method FontMetrics::unref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "FontMetrics", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -344,12 +385,37 @@
 
 fontMetricsUnref ::
     (MonadIO m) =>
-    FontMetrics ->                          -- _obj
-    m ()
+    FontMetrics                             -- _obj
+    -> m ()                                 -- result
 fontMetricsUnref _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_font_metrics_unref _obj'
     touchManagedPtr _obj
     return ()
+
+data FontMetricsUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo FontMetricsUnrefMethodInfo FontMetrics signature where
+    overloadedMethod _ = fontMetricsUnref
+
+type family ResolveFontMetricsMethod (t :: Symbol) (o :: *) :: * where
+    ResolveFontMetricsMethod "ref" o = FontMetricsRefMethodInfo
+    ResolveFontMetricsMethod "unref" o = FontMetricsUnrefMethodInfo
+    ResolveFontMetricsMethod "getApproximateCharWidth" o = FontMetricsGetApproximateCharWidthMethodInfo
+    ResolveFontMetricsMethod "getApproximateDigitWidth" o = FontMetricsGetApproximateDigitWidthMethodInfo
+    ResolveFontMetricsMethod "getAscent" o = FontMetricsGetAscentMethodInfo
+    ResolveFontMetricsMethod "getDescent" o = FontMetricsGetDescentMethodInfo
+    ResolveFontMetricsMethod "getStrikethroughPosition" o = FontMetricsGetStrikethroughPositionMethodInfo
+    ResolveFontMetricsMethod "getStrikethroughThickness" o = FontMetricsGetStrikethroughThicknessMethodInfo
+    ResolveFontMetricsMethod "getUnderlinePosition" o = FontMetricsGetUnderlinePositionMethodInfo
+    ResolveFontMetricsMethod "getUnderlineThickness" o = FontMetricsGetUnderlineThicknessMethodInfo
+    ResolveFontMetricsMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveFontMetricsMethod t FontMetrics, MethodInfo info FontMetrics p) => IsLabelProxy t (FontMetrics -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveFontMetricsMethod t FontMetrics, MethodInfo info FontMetrics p) => IsLabel t (FontMetrics -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/FontMetrics.hs-boot b/GI/Pango/Structs/FontMetrics.hs-boot
--- a/GI/Pango/Structs/FontMetrics.hs-boot
+++ b/GI/Pango/Structs/FontMetrics.hs-boot
@@ -9,3 +9,13 @@
 
 newtype FontMetrics = FontMetrics (ForeignPtr FontMetrics)
 instance BoxedObject FontMetrics where
+data FontMetricsGetApproximateCharWidthMethodInfo
+data FontMetricsGetApproximateDigitWidthMethodInfo
+data FontMetricsGetAscentMethodInfo
+data FontMetricsGetDescentMethodInfo
+data FontMetricsGetStrikethroughPositionMethodInfo
+data FontMetricsGetStrikethroughThicknessMethodInfo
+data FontMetricsGetUnderlinePositionMethodInfo
+data FontMetricsGetUnderlineThicknessMethodInfo
+data FontMetricsRefMethodInfo
+data FontMetricsUnrefMethodInfo
diff --git a/GI/Pango/Structs/GlyphGeometry.hs b/GI/Pango/Structs/GlyphGeometry.hs
--- a/GI/Pango/Structs/GlyphGeometry.hs
+++ b/GI/Pango/Structs/GlyphGeometry.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
     GlyphGeometry(..)                       ,
+    newZeroGlyphGeometry                    ,
     noGlyphGeometry                         ,
 
 
@@ -44,6 +46,10 @@
 import GI.Pango.Callbacks
 
 newtype GlyphGeometry = GlyphGeometry (ForeignPtr GlyphGeometry)
+-- | Construct a `GlyphGeometry` struct initialized to zero.
+newZeroGlyphGeometry :: MonadIO m => m GlyphGeometry
+newZeroGlyphGeometry = liftIO $ callocBytes 12 >>= wrapPtr GlyphGeometry
+
 noGlyphGeometry :: Maybe GlyphGeometry
 noGlyphGeometry = Nothing
 
@@ -61,5 +67,16 @@
 glyphGeometryReadYOffset s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 8) :: IO Int32
     return val
+
+type family ResolveGlyphGeometryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGlyphGeometryMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGlyphGeometryMethod t GlyphGeometry, MethodInfo info GlyphGeometry p) => IsLabelProxy t (GlyphGeometry -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGlyphGeometryMethod t GlyphGeometry, MethodInfo info GlyphGeometry p) => IsLabel t (GlyphGeometry -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/GlyphInfo.hs b/GI/Pango/Structs/GlyphInfo.hs
--- a/GI/Pango/Structs/GlyphInfo.hs
+++ b/GI/Pango/Structs/GlyphInfo.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
     GlyphInfo(..)                           ,
+    newZeroGlyphInfo                        ,
     noGlyphInfo                             ,
 
 
@@ -45,6 +47,10 @@
 import GI.Pango.Callbacks
 
 newtype GlyphInfo = GlyphInfo (ForeignPtr GlyphInfo)
+-- | Construct a `GlyphInfo` struct initialized to zero.
+newZeroGlyphInfo :: MonadIO m => m GlyphInfo
+newZeroGlyphInfo = liftIO $ callocBytes 20 >>= wrapPtr GlyphInfo
+
 noGlyphInfo :: Maybe GlyphInfo
 noGlyphInfo = Nothing
 
@@ -64,5 +70,16 @@
     val <- peek (ptr `plusPtr` 16) :: IO (Ptr GlyphVisAttr)
     val' <- (newPtr 4 GlyphVisAttr) val
     return val'
+
+type family ResolveGlyphInfoMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGlyphInfoMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGlyphInfoMethod t GlyphInfo, MethodInfo info GlyphInfo p) => IsLabelProxy t (GlyphInfo -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGlyphInfoMethod t GlyphInfo, MethodInfo info GlyphInfo p) => IsLabel t (GlyphInfo -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/GlyphItem.hs b/GI/Pango/Structs/GlyphItem.hs
--- a/GI/Pango/Structs/GlyphItem.hs
+++ b/GI/Pango/Structs/GlyphItem.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -16,31 +17,38 @@
 
 -- * Exported types
     GlyphItem(..)                           ,
+    newZeroGlyphItem                        ,
     noGlyphItem                             ,
 
 
  -- * Methods
 -- ** glyphItemApplyAttrs
+    GlyphItemApplyAttrsMethodInfo           ,
     glyphItemApplyAttrs                     ,
 
 
 -- ** glyphItemCopy
+    GlyphItemCopyMethodInfo                 ,
     glyphItemCopy                           ,
 
 
 -- ** glyphItemFree
+    GlyphItemFreeMethodInfo                 ,
     glyphItemFree                           ,
 
 
 -- ** glyphItemGetLogicalWidths
+    GlyphItemGetLogicalWidthsMethodInfo     ,
     glyphItemGetLogicalWidths               ,
 
 
 -- ** glyphItemLetterSpace
+    GlyphItemLetterSpaceMethodInfo          ,
     glyphItemLetterSpace                    ,
 
 
 -- ** glyphItemSplit
+    GlyphItemSplitMethodInfo                ,
     glyphItemSplit                          ,
 
 
@@ -76,6 +84,10 @@
 instance BoxedObject GlyphItem where
     boxedType _ = c_pango_glyph_item_get_type
 
+-- | Construct a `GlyphItem` struct initialized to zero.
+newZeroGlyphItem :: MonadIO m => m GlyphItem
+newZeroGlyphItem = liftIO $ callocBoxedBytes 16 >>= wrapBoxed GlyphItem
+
 noGlyphItem :: Maybe GlyphItem
 noGlyphItem = Nothing
 
@@ -93,9 +105,8 @@
 
 -- method GlyphItem::apply_attrs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "list", argType = TInterface "Pango" "AttrList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TGSList (TInterface "Pango" "GlyphItem")
 -- throws : False
 -- Skip return : False
@@ -109,10 +120,10 @@
 
 glyphItemApplyAttrs ::
     (MonadIO m) =>
-    GlyphItem ->                            -- _obj
-    T.Text ->                               -- text
-    AttrList ->                             -- list
-    m [GlyphItem]
+    GlyphItem                               -- _obj
+    -> T.Text                               -- text
+    -> AttrList                             -- list
+    -> m [GlyphItem]                        -- result
 glyphItemApplyAttrs _obj text list = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
@@ -127,11 +138,14 @@
     freeMem text'
     return result''
 
+data GlyphItemApplyAttrsMethodInfo
+instance (signature ~ (T.Text -> AttrList -> m [GlyphItem]), MonadIO m) => MethodInfo GlyphItemApplyAttrsMethodInfo GlyphItem signature where
+    overloadedMethod _ = glyphItemApplyAttrs
+
 -- method GlyphItem::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GlyphItem"
 -- throws : False
 -- Skip return : False
@@ -143,8 +157,8 @@
 
 glyphItemCopy ::
     (MonadIO m) =>
-    GlyphItem ->                            -- _obj
-    m GlyphItem
+    GlyphItem                               -- _obj
+    -> m GlyphItem                          -- result
 glyphItemCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_item_copy _obj'
@@ -153,11 +167,14 @@
     touchManagedPtr _obj
     return result'
 
+data GlyphItemCopyMethodInfo
+instance (signature ~ (m GlyphItem), MonadIO m) => MethodInfo GlyphItemCopyMethodInfo GlyphItem signature where
+    overloadedMethod _ = glyphItemCopy
+
 -- method GlyphItem::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -169,19 +186,22 @@
 
 glyphItemFree ::
     (MonadIO m) =>
-    GlyphItem ->                            -- _obj
-    m ()
+    GlyphItem                               -- _obj
+    -> m ()                                 -- result
 glyphItemFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_glyph_item_free _obj'
     touchManagedPtr _obj
     return ()
 
+data GlyphItemFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo GlyphItemFreeMethodInfo GlyphItem signature where
+    overloadedMethod _ = glyphItemFree
+
 -- method GlyphItem::get_logical_widths
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -195,23 +215,26 @@
 
 glyphItemGetLogicalWidths ::
     (MonadIO m) =>
-    GlyphItem ->                            -- _obj
-    T.Text ->                               -- text
-    Ptr Int32 ->                            -- logical_widths
-    m ()
-glyphItemGetLogicalWidths _obj text logical_widths = liftIO $ do
+    GlyphItem                               -- _obj
+    -> T.Text                               -- text
+    -> Ptr Int32                            -- logicalWidths
+    -> m ()                                 -- result
+glyphItemGetLogicalWidths _obj text logicalWidths = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
-    pango_glyph_item_get_logical_widths _obj' text' logical_widths
+    pango_glyph_item_get_logical_widths _obj' text' logicalWidths
     touchManagedPtr _obj
     freeMem text'
     return ()
 
+data GlyphItemGetLogicalWidthsMethodInfo
+instance (signature ~ (T.Text -> Ptr Int32 -> m ()), MonadIO m) => MethodInfo GlyphItemGetLogicalWidthsMethodInfo GlyphItem signature where
+    overloadedMethod _ = glyphItemGetLogicalWidths
+
 -- method GlyphItem::letter_space
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "log_attrs", argType = TCArray False (-1) (-1) (TInterface "Pango" "LogAttr"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "letter_spacing", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -226,24 +249,27 @@
 
 glyphItemLetterSpace ::
     (MonadIO m) =>
-    GlyphItem ->                            -- _obj
-    T.Text ->                               -- text
-    Ptr (Ptr LogAttr) ->                    -- log_attrs
-    Int32 ->                                -- letter_spacing
-    m ()
-glyphItemLetterSpace _obj text log_attrs letter_spacing = liftIO $ do
+    GlyphItem                               -- _obj
+    -> T.Text                               -- text
+    -> Ptr (Ptr LogAttr)                    -- logAttrs
+    -> Int32                                -- letterSpacing
+    -> m ()                                 -- result
+glyphItemLetterSpace _obj text logAttrs letterSpacing = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
-    pango_glyph_item_letter_space _obj' text' log_attrs letter_spacing
+    pango_glyph_item_letter_space _obj' text' logAttrs letterSpacing
     touchManagedPtr _obj
     freeMem text'
     return ()
 
+data GlyphItemLetterSpaceMethodInfo
+instance (signature ~ (T.Text -> Ptr (Ptr LogAttr) -> Int32 -> m ()), MonadIO m) => MethodInfo GlyphItemLetterSpaceMethodInfo GlyphItem signature where
+    overloadedMethod _ = glyphItemLetterSpace
+
 -- method GlyphItem::split
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "split_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 "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GlyphItem"
 -- throws : False
 -- Skip return : False
@@ -257,18 +283,39 @@
 
 glyphItemSplit ::
     (MonadIO m) =>
-    GlyphItem ->                            -- _obj
-    T.Text ->                               -- text
-    Int32 ->                                -- split_index
-    m GlyphItem
-glyphItemSplit _obj text split_index = liftIO $ do
+    GlyphItem                               -- _obj
+    -> T.Text                               -- text
+    -> Int32                                -- splitIndex
+    -> m GlyphItem                          -- result
+glyphItemSplit _obj text splitIndex = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
-    result <- pango_glyph_item_split _obj' text' split_index
+    result <- pango_glyph_item_split _obj' text' splitIndex
     checkUnexpectedReturnNULL "pango_glyph_item_split" result
     result' <- (wrapBoxed GlyphItem) result
     touchManagedPtr _obj
     freeMem text'
     return result'
+
+data GlyphItemSplitMethodInfo
+instance (signature ~ (T.Text -> Int32 -> m GlyphItem), MonadIO m) => MethodInfo GlyphItemSplitMethodInfo GlyphItem signature where
+    overloadedMethod _ = glyphItemSplit
+
+type family ResolveGlyphItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGlyphItemMethod "applyAttrs" o = GlyphItemApplyAttrsMethodInfo
+    ResolveGlyphItemMethod "copy" o = GlyphItemCopyMethodInfo
+    ResolveGlyphItemMethod "free" o = GlyphItemFreeMethodInfo
+    ResolveGlyphItemMethod "letterSpace" o = GlyphItemLetterSpaceMethodInfo
+    ResolveGlyphItemMethod "split" o = GlyphItemSplitMethodInfo
+    ResolveGlyphItemMethod "getLogicalWidths" o = GlyphItemGetLogicalWidthsMethodInfo
+    ResolveGlyphItemMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGlyphItemMethod t GlyphItem, MethodInfo info GlyphItem p) => IsLabelProxy t (GlyphItem -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGlyphItemMethod t GlyphItem, MethodInfo info GlyphItem p) => IsLabel t (GlyphItem -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/GlyphItem.hs-boot b/GI/Pango/Structs/GlyphItem.hs-boot
--- a/GI/Pango/Structs/GlyphItem.hs-boot
+++ b/GI/Pango/Structs/GlyphItem.hs-boot
@@ -9,3 +9,9 @@
 
 newtype GlyphItem = GlyphItem (ForeignPtr GlyphItem)
 instance BoxedObject GlyphItem where
+data GlyphItemApplyAttrsMethodInfo
+data GlyphItemCopyMethodInfo
+data GlyphItemFreeMethodInfo
+data GlyphItemGetLogicalWidthsMethodInfo
+data GlyphItemLetterSpaceMethodInfo
+data GlyphItemSplitMethodInfo
diff --git a/GI/Pango/Structs/GlyphItemIter.hs b/GI/Pango/Structs/GlyphItemIter.hs
--- a/GI/Pango/Structs/GlyphItemIter.hs
+++ b/GI/Pango/Structs/GlyphItemIter.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -48,31 +49,38 @@
 
 -- * Exported types
     GlyphItemIter(..)                       ,
+    newZeroGlyphItemIter                    ,
     noGlyphItemIter                         ,
 
 
  -- * Methods
 -- ** glyphItemIterCopy
+    GlyphItemIterCopyMethodInfo             ,
     glyphItemIterCopy                       ,
 
 
 -- ** glyphItemIterFree
+    GlyphItemIterFreeMethodInfo             ,
     glyphItemIterFree                       ,
 
 
 -- ** glyphItemIterInitEnd
+    GlyphItemIterInitEndMethodInfo          ,
     glyphItemIterInitEnd                    ,
 
 
 -- ** glyphItemIterInitStart
+    GlyphItemIterInitStartMethodInfo        ,
     glyphItemIterInitStart                  ,
 
 
 -- ** glyphItemIterNextCluster
+    GlyphItemIterNextClusterMethodInfo      ,
     glyphItemIterNextCluster                ,
 
 
 -- ** glyphItemIterPrevCluster
+    GlyphItemIterPrevClusterMethodInfo      ,
     glyphItemIterPrevCluster                ,
 
 
@@ -132,6 +140,10 @@
 instance BoxedObject GlyphItemIter where
     boxedType _ = c_pango_glyph_item_iter_get_type
 
+-- | Construct a `GlyphItemIter` struct initialized to zero.
+newZeroGlyphItemIter :: MonadIO m => m GlyphItemIter
+newZeroGlyphItemIter = liftIO $ callocBoxedBytes 40 >>= wrapBoxed GlyphItemIter
+
 noGlyphItemIter :: Maybe GlyphItemIter
 noGlyphItemIter = Nothing
 
@@ -179,9 +191,8 @@
 
 -- method GlyphItemIter::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GlyphItemIter"
 -- throws : False
 -- Skip return : False
@@ -193,8 +204,8 @@
 
 glyphItemIterCopy ::
     (MonadIO m) =>
-    GlyphItemIter ->                        -- _obj
-    m GlyphItemIter
+    GlyphItemIter                           -- _obj
+    -> m GlyphItemIter                      -- result
 glyphItemIterCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_item_iter_copy _obj'
@@ -203,11 +214,14 @@
     touchManagedPtr _obj
     return result'
 
+data GlyphItemIterCopyMethodInfo
+instance (signature ~ (m GlyphItemIter), MonadIO m) => MethodInfo GlyphItemIterCopyMethodInfo GlyphItemIter signature where
+    overloadedMethod _ = glyphItemIterCopy
+
 -- method GlyphItemIter::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -219,19 +233,22 @@
 
 glyphItemIterFree ::
     (MonadIO m) =>
-    GlyphItemIter ->                        -- _obj
-    m ()
+    GlyphItemIter                           -- _obj
+    -> m ()                                 -- result
 glyphItemIterFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_glyph_item_iter_free _obj'
     touchManagedPtr _obj
     return ()
 
+data GlyphItemIterFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo GlyphItemIterFreeMethodInfo GlyphItemIter signature where
+    overloadedMethod _ = glyphItemIterFree
+
 -- method GlyphItemIter::init_end
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -245,26 +262,29 @@
 
 glyphItemIterInitEnd ::
     (MonadIO m) =>
-    GlyphItemIter ->                        -- _obj
-    GlyphItem ->                            -- glyph_item
-    T.Text ->                               -- text
-    m Bool
-glyphItemIterInitEnd _obj glyph_item text = liftIO $ do
+    GlyphItemIter                           -- _obj
+    -> GlyphItem                            -- glyphItem
+    -> T.Text                               -- text
+    -> m Bool                               -- result
+glyphItemIterInitEnd _obj glyphItem text = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let glyph_item' = unsafeManagedPtrGetPtr glyph_item
+    let glyphItem' = unsafeManagedPtrGetPtr glyphItem
     text' <- textToCString text
-    result <- pango_glyph_item_iter_init_end _obj' glyph_item' text'
+    result <- pango_glyph_item_iter_init_end _obj' glyphItem' text'
     let result' = (/= 0) result
     touchManagedPtr _obj
-    touchManagedPtr glyph_item
+    touchManagedPtr glyphItem
     freeMem text'
     return result'
 
+data GlyphItemIterInitEndMethodInfo
+instance (signature ~ (GlyphItem -> T.Text -> m Bool), MonadIO m) => MethodInfo GlyphItemIterInitEndMethodInfo GlyphItemIter signature where
+    overloadedMethod _ = glyphItemIterInitEnd
+
 -- method GlyphItemIter::init_start
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "glyph_item", argType = TInterface "Pango" "GlyphItem", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -278,26 +298,29 @@
 
 glyphItemIterInitStart ::
     (MonadIO m) =>
-    GlyphItemIter ->                        -- _obj
-    GlyphItem ->                            -- glyph_item
-    T.Text ->                               -- text
-    m Bool
-glyphItemIterInitStart _obj glyph_item text = liftIO $ do
+    GlyphItemIter                           -- _obj
+    -> GlyphItem                            -- glyphItem
+    -> T.Text                               -- text
+    -> m Bool                               -- result
+glyphItemIterInitStart _obj glyphItem text = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let glyph_item' = unsafeManagedPtrGetPtr glyph_item
+    let glyphItem' = unsafeManagedPtrGetPtr glyphItem
     text' <- textToCString text
-    result <- pango_glyph_item_iter_init_start _obj' glyph_item' text'
+    result <- pango_glyph_item_iter_init_start _obj' glyphItem' text'
     let result' = (/= 0) result
     touchManagedPtr _obj
-    touchManagedPtr glyph_item
+    touchManagedPtr glyphItem
     freeMem text'
     return result'
 
+data GlyphItemIterInitStartMethodInfo
+instance (signature ~ (GlyphItem -> T.Text -> m Bool), MonadIO m) => MethodInfo GlyphItemIterInitStartMethodInfo GlyphItemIter signature where
+    overloadedMethod _ = glyphItemIterInitStart
+
 -- method GlyphItemIter::next_cluster
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -309,8 +332,8 @@
 
 glyphItemIterNextCluster ::
     (MonadIO m) =>
-    GlyphItemIter ->                        -- _obj
-    m Bool
+    GlyphItemIter                           -- _obj
+    -> m Bool                               -- result
 glyphItemIterNextCluster _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_item_iter_next_cluster _obj'
@@ -318,11 +341,14 @@
     touchManagedPtr _obj
     return result'
 
+data GlyphItemIterNextClusterMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo GlyphItemIterNextClusterMethodInfo GlyphItemIter signature where
+    overloadedMethod _ = glyphItemIterNextCluster
+
 -- method GlyphItemIter::prev_cluster
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphItemIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -334,13 +360,34 @@
 
 glyphItemIterPrevCluster ::
     (MonadIO m) =>
-    GlyphItemIter ->                        -- _obj
-    m Bool
+    GlyphItemIter                           -- _obj
+    -> m Bool                               -- result
 glyphItemIterPrevCluster _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_item_iter_prev_cluster _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data GlyphItemIterPrevClusterMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo GlyphItemIterPrevClusterMethodInfo GlyphItemIter signature where
+    overloadedMethod _ = glyphItemIterPrevCluster
+
+type family ResolveGlyphItemIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGlyphItemIterMethod "copy" o = GlyphItemIterCopyMethodInfo
+    ResolveGlyphItemIterMethod "free" o = GlyphItemIterFreeMethodInfo
+    ResolveGlyphItemIterMethod "initEnd" o = GlyphItemIterInitEndMethodInfo
+    ResolveGlyphItemIterMethod "initStart" o = GlyphItemIterInitStartMethodInfo
+    ResolveGlyphItemIterMethod "nextCluster" o = GlyphItemIterNextClusterMethodInfo
+    ResolveGlyphItemIterMethod "prevCluster" o = GlyphItemIterPrevClusterMethodInfo
+    ResolveGlyphItemIterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGlyphItemIterMethod t GlyphItemIter, MethodInfo info GlyphItemIter p) => IsLabelProxy t (GlyphItemIter -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGlyphItemIterMethod t GlyphItemIter, MethodInfo info GlyphItemIter p) => IsLabel t (GlyphItemIter -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/GlyphItemIter.hs-boot b/GI/Pango/Structs/GlyphItemIter.hs-boot
--- a/GI/Pango/Structs/GlyphItemIter.hs-boot
+++ b/GI/Pango/Structs/GlyphItemIter.hs-boot
@@ -9,3 +9,9 @@
 
 newtype GlyphItemIter = GlyphItemIter (ForeignPtr GlyphItemIter)
 instance BoxedObject GlyphItemIter where
+data GlyphItemIterCopyMethodInfo
+data GlyphItemIterFreeMethodInfo
+data GlyphItemIterInitEndMethodInfo
+data GlyphItemIterInitStartMethodInfo
+data GlyphItemIterNextClusterMethodInfo
+data GlyphItemIterPrevClusterMethodInfo
diff --git a/GI/Pango/Structs/GlyphString.hs b/GI/Pango/Structs/GlyphString.hs
--- a/GI/Pango/Structs/GlyphString.hs
+++ b/GI/Pango/Structs/GlyphString.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -15,35 +16,43 @@
 
 -- * Exported types
     GlyphString(..)                         ,
+    newZeroGlyphString                      ,
     noGlyphString                           ,
 
 
  -- * Methods
 -- ** glyphStringCopy
+    GlyphStringCopyMethodInfo               ,
     glyphStringCopy                         ,
 
 
 -- ** glyphStringExtents
+    GlyphStringExtentsMethodInfo            ,
     glyphStringExtents                      ,
 
 
 -- ** glyphStringExtentsRange
+    GlyphStringExtentsRangeMethodInfo       ,
     glyphStringExtentsRange                 ,
 
 
 -- ** glyphStringFree
+    GlyphStringFreeMethodInfo               ,
     glyphStringFree                         ,
 
 
 -- ** glyphStringGetLogicalWidths
+    GlyphStringGetLogicalWidthsMethodInfo   ,
     glyphStringGetLogicalWidths             ,
 
 
 -- ** glyphStringGetWidth
+    GlyphStringGetWidthMethodInfo           ,
     glyphStringGetWidth                     ,
 
 
 -- ** glyphStringIndexToX
+    GlyphStringIndexToXMethodInfo           ,
     glyphStringIndexToX                     ,
 
 
@@ -52,10 +61,12 @@
 
 
 -- ** glyphStringSetSize
+    GlyphStringSetSizeMethodInfo            ,
     glyphStringSetSize                      ,
 
 
 -- ** glyphStringXToIndex
+    GlyphStringXToIndexMethodInfo           ,
     glyphStringXToIndex                     ,
 
 
@@ -91,6 +102,10 @@
 instance BoxedObject GlyphString where
     boxedType _ = c_pango_glyph_string_get_type
 
+-- | Construct a `GlyphString` struct initialized to zero.
+newZeroGlyphString :: MonadIO m => m GlyphString
+newZeroGlyphString = liftIO $ callocBoxedBytes 32 >>= wrapBoxed GlyphString
+
 noGlyphString :: Maybe GlyphString
 noGlyphString = Nothing
 
@@ -110,7 +125,6 @@
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Pango" "GlyphString"
 -- throws : False
 -- Skip return : False
@@ -121,7 +135,7 @@
 
 glyphStringNew ::
     (MonadIO m) =>
-    m GlyphString
+    m GlyphString                           -- result
 glyphStringNew  = liftIO $ do
     result <- pango_glyph_string_new
     checkUnexpectedReturnNULL "pango_glyph_string_new" result
@@ -130,9 +144,8 @@
 
 -- method GlyphString::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GlyphString"
 -- throws : False
 -- Skip return : False
@@ -144,8 +157,8 @@
 
 glyphStringCopy ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    m GlyphString
+    GlyphString                             -- _obj
+    -> m GlyphString                        -- result
 glyphStringCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_string_copy _obj'
@@ -154,11 +167,14 @@
     touchManagedPtr _obj
     return result'
 
+data GlyphStringCopyMethodInfo
+instance (signature ~ (m GlyphString), MonadIO m) => MethodInfo GlyphStringCopyMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringCopy
+
 -- method GlyphString::extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -173,26 +189,29 @@
 
 glyphStringExtents ::
     (MonadIO m, FontK a) =>
-    GlyphString ->                          -- _obj
-    a ->                                    -- font
-    m (Rectangle,Rectangle)
+    GlyphString                             -- _obj
+    -> a                                    -- font
+    -> m (Rectangle,Rectangle)              -- result
 glyphStringExtents _obj font = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let font' = unsafeManagedPtrCastPtr font
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_glyph_string_extents _obj' font' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_glyph_string_extents _obj' font' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
     touchManagedPtr font
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data GlyphStringExtentsMethodInfo
+instance (signature ~ (a -> m (Rectangle,Rectangle)), MonadIO m, FontK a) => MethodInfo GlyphStringExtentsMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringExtents
+
 -- method GlyphString::extents_range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "font", argType = TInterface "Pango" "Font", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -209,28 +228,31 @@
 
 glyphStringExtentsRange ::
     (MonadIO m, FontK a) =>
-    GlyphString ->                          -- _obj
-    Int32 ->                                -- start
-    Int32 ->                                -- end
-    a ->                                    -- font
-    m (Rectangle,Rectangle)
+    GlyphString                             -- _obj
+    -> Int32                                -- start
+    -> Int32                                -- end
+    -> a                                    -- font
+    -> m (Rectangle,Rectangle)              -- result
 glyphStringExtentsRange _obj start end font = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let font' = unsafeManagedPtrCastPtr font
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_glyph_string_extents_range _obj' start end font' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_glyph_string_extents_range _obj' start end font' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
     touchManagedPtr font
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data GlyphStringExtentsRangeMethodInfo
+instance (signature ~ (Int32 -> Int32 -> a -> m (Rectangle,Rectangle)), MonadIO m, FontK a) => MethodInfo GlyphStringExtentsRangeMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringExtentsRange
+
 -- method GlyphString::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -242,19 +264,22 @@
 
 glyphStringFree ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    m ()
+    GlyphString                             -- _obj
+    -> m ()                                 -- result
 glyphStringFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_glyph_string_free _obj'
     touchManagedPtr _obj
     return ()
 
+data GlyphStringFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo GlyphStringFreeMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringFree
+
 -- method GlyphString::get_logical_widths
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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 = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", 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 = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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 = "embedding_level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_widths", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -270,25 +295,28 @@
 
 glyphStringGetLogicalWidths ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Int32 ->                                -- embedding_level
-    Ptr Int32 ->                            -- logical_widths
-    m ()
-glyphStringGetLogicalWidths _obj text length_ embedding_level logical_widths = liftIO $ do
+    GlyphString                             -- _obj
+    -> T.Text                               -- text
+    -> Int32                                -- length_
+    -> Int32                                -- embeddingLevel
+    -> Ptr Int32                            -- logicalWidths
+    -> m ()                                 -- result
+glyphStringGetLogicalWidths _obj text length_ embeddingLevel logicalWidths = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
-    pango_glyph_string_get_logical_widths _obj' text' length_ embedding_level logical_widths
+    pango_glyph_string_get_logical_widths _obj' text' length_ embeddingLevel logicalWidths
     touchManagedPtr _obj
     freeMem text'
     return ()
 
+data GlyphStringGetLogicalWidthsMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Int32 -> Ptr Int32 -> m ()), MonadIO m) => MethodInfo GlyphStringGetLogicalWidthsMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringGetLogicalWidths
+
 -- method GlyphString::get_width
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -300,19 +328,22 @@
 
 glyphStringGetWidth ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    m Int32
+    GlyphString                             -- _obj
+    -> m Int32                              -- result
 glyphStringGetWidth _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_glyph_string_get_width _obj'
     touchManagedPtr _obj
     return result
 
+data GlyphStringGetWidthMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo GlyphStringGetWidthMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringGetWidth
+
 -- method GlyphString::index_to_x
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", 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},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", 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},Arg {argCName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", 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},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -330,32 +361,35 @@
 
 glyphStringIndexToX ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Analysis ->                             -- analysis
-    Int32 ->                                -- index_
-    Bool ->                                 -- trailing
-    m (Int32)
-glyphStringIndexToX _obj text length_ analysis index_ trailing = liftIO $ do
+    GlyphString                             -- _obj
+    -> T.Text                               -- text
+    -> Int32                                -- length_
+    -> Analysis                             -- analysis
+    -> Int32                                -- index
+    -> Bool                                 -- trailing
+    -> m (Int32)                            -- result
+glyphStringIndexToX _obj text length_ analysis index trailing = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
     let analysis' = unsafeManagedPtrGetPtr analysis
     let trailing' = (fromIntegral . fromEnum) trailing
-    x_pos <- allocMem :: IO (Ptr Int32)
-    pango_glyph_string_index_to_x _obj' text' length_ analysis' index_ trailing' x_pos
-    x_pos' <- peek x_pos
+    xPos <- allocMem :: IO (Ptr Int32)
+    pango_glyph_string_index_to_x _obj' text' length_ analysis' index trailing' xPos
+    xPos' <- peek xPos
     touchManagedPtr _obj
     touchManagedPtr analysis
     freeMem text'
-    freeMem x_pos
-    return x_pos'
+    freeMem xPos
+    return xPos'
 
+data GlyphStringIndexToXMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Analysis -> Int32 -> Bool -> m (Int32)), MonadIO m) => MethodInfo GlyphStringIndexToXMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringIndexToX
+
 -- method GlyphString::set_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -368,20 +402,23 @@
 
 glyphStringSetSize ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    Int32 ->                                -- new_len
-    m ()
-glyphStringSetSize _obj new_len = liftIO $ do
+    GlyphString                             -- _obj
+    -> Int32                                -- newLen
+    -> m ()                                 -- result
+glyphStringSetSize _obj newLen = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    pango_glyph_string_set_size _obj' new_len
+    pango_glyph_string_set_size _obj' newLen
     touchManagedPtr _obj
     return ()
 
+data GlyphStringSetSizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => MethodInfo GlyphStringSetSizeMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringSetSize
+
 -- method GlyphString::x_to_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "GlyphString", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "text", 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 = "analysis", argType = TInterface "Pango" "Analysis", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -399,26 +436,50 @@
 
 glyphStringXToIndex ::
     (MonadIO m) =>
-    GlyphString ->                          -- _obj
-    T.Text ->                               -- text
-    Int32 ->                                -- length
-    Analysis ->                             -- analysis
-    Int32 ->                                -- x_pos
-    m (Int32,Int32)
-glyphStringXToIndex _obj text length_ analysis x_pos = liftIO $ do
+    GlyphString                             -- _obj
+    -> T.Text                               -- text
+    -> Int32                                -- length_
+    -> Analysis                             -- analysis
+    -> Int32                                -- xPos
+    -> m (Int32,Int32)                      -- result
+glyphStringXToIndex _obj text length_ analysis xPos = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     text' <- textToCString text
     let analysis' = unsafeManagedPtrGetPtr analysis
-    index_ <- allocMem :: IO (Ptr Int32)
+    index <- allocMem :: IO (Ptr Int32)
     trailing <- allocMem :: IO (Ptr Int32)
-    pango_glyph_string_x_to_index _obj' text' length_ analysis' x_pos index_ trailing
-    index_' <- peek index_
+    pango_glyph_string_x_to_index _obj' text' length_ analysis' xPos index trailing
+    index' <- peek index
     trailing' <- peek trailing
     touchManagedPtr _obj
     touchManagedPtr analysis
     freeMem text'
-    freeMem index_
+    freeMem index
     freeMem trailing
-    return (index_', trailing')
+    return (index', trailing')
+
+data GlyphStringXToIndexMethodInfo
+instance (signature ~ (T.Text -> Int32 -> Analysis -> Int32 -> m (Int32,Int32)), MonadIO m) => MethodInfo GlyphStringXToIndexMethodInfo GlyphString signature where
+    overloadedMethod _ = glyphStringXToIndex
+
+type family ResolveGlyphStringMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGlyphStringMethod "copy" o = GlyphStringCopyMethodInfo
+    ResolveGlyphStringMethod "extents" o = GlyphStringExtentsMethodInfo
+    ResolveGlyphStringMethod "extentsRange" o = GlyphStringExtentsRangeMethodInfo
+    ResolveGlyphStringMethod "free" o = GlyphStringFreeMethodInfo
+    ResolveGlyphStringMethod "indexToX" o = GlyphStringIndexToXMethodInfo
+    ResolveGlyphStringMethod "xToIndex" o = GlyphStringXToIndexMethodInfo
+    ResolveGlyphStringMethod "getLogicalWidths" o = GlyphStringGetLogicalWidthsMethodInfo
+    ResolveGlyphStringMethod "getWidth" o = GlyphStringGetWidthMethodInfo
+    ResolveGlyphStringMethod "setSize" o = GlyphStringSetSizeMethodInfo
+    ResolveGlyphStringMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGlyphStringMethod t GlyphString, MethodInfo info GlyphString p) => IsLabelProxy t (GlyphString -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGlyphStringMethod t GlyphString, MethodInfo info GlyphString p) => IsLabel t (GlyphString -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/GlyphString.hs-boot b/GI/Pango/Structs/GlyphString.hs-boot
--- a/GI/Pango/Structs/GlyphString.hs-boot
+++ b/GI/Pango/Structs/GlyphString.hs-boot
@@ -9,3 +9,12 @@
 
 newtype GlyphString = GlyphString (ForeignPtr GlyphString)
 instance BoxedObject GlyphString where
+data GlyphStringCopyMethodInfo
+data GlyphStringExtentsMethodInfo
+data GlyphStringExtentsRangeMethodInfo
+data GlyphStringFreeMethodInfo
+data GlyphStringGetLogicalWidthsMethodInfo
+data GlyphStringGetWidthMethodInfo
+data GlyphStringIndexToXMethodInfo
+data GlyphStringSetSizeMethodInfo
+data GlyphStringXToIndexMethodInfo
diff --git a/GI/Pango/Structs/GlyphVisAttr.hs b/GI/Pango/Structs/GlyphVisAttr.hs
--- a/GI/Pango/Structs/GlyphVisAttr.hs
+++ b/GI/Pango/Structs/GlyphVisAttr.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
     GlyphVisAttr(..)                        ,
+    newZeroGlyphVisAttr                     ,
     noGlyphVisAttr                          ,
 
 
@@ -37,6 +39,10 @@
 import GI.Pango.Callbacks
 
 newtype GlyphVisAttr = GlyphVisAttr (ForeignPtr GlyphVisAttr)
+-- | Construct a `GlyphVisAttr` struct initialized to zero.
+newZeroGlyphVisAttr :: MonadIO m => m GlyphVisAttr
+newZeroGlyphVisAttr = liftIO $ callocBytes 4 >>= wrapPtr GlyphVisAttr
+
 noGlyphVisAttr :: Maybe GlyphVisAttr
 noGlyphVisAttr = Nothing
 
@@ -44,5 +50,16 @@
 glyphVisAttrReadIsClusterStart s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO Word32
     return val
+
+type family ResolveGlyphVisAttrMethod (t :: Symbol) (o :: *) :: * where
+    ResolveGlyphVisAttrMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveGlyphVisAttrMethod t GlyphVisAttr, MethodInfo info GlyphVisAttr p) => IsLabelProxy t (GlyphVisAttr -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveGlyphVisAttrMethod t GlyphVisAttr, MethodInfo info GlyphVisAttr p) => IsLabel t (GlyphVisAttr -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/IncludedModule.hs b/GI/Pango/Structs/IncludedModule.hs
--- a/GI/Pango/Structs/IncludedModule.hs
+++ b/GI/Pango/Structs/IncludedModule.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
     IncludedModule(..)                      ,
+    newZeroIncludedModule                   ,
     noIncludedModule                        ,
 
 
@@ -30,6 +32,10 @@
 import GI.Pango.Callbacks
 
 newtype IncludedModule = IncludedModule (ForeignPtr IncludedModule)
+-- | Construct a `IncludedModule` struct initialized to zero.
+newZeroIncludedModule :: MonadIO m => m IncludedModule
+newZeroIncludedModule = liftIO $ callocBytes 32 >>= wrapPtr IncludedModule
+
 noIncludedModule :: Maybe IncludedModule
 noIncludedModule = Nothing
 
@@ -38,5 +44,16 @@
 -- XXX Skipped getter for "IncludedModule:init" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
 
 -- XXX Skipped getter for "IncludedModule:exit" :: Not implemented: "Wrapping foreign callbacks is not supported yet"
+
+type family ResolveIncludedModuleMethod (t :: Symbol) (o :: *) :: * where
+    ResolveIncludedModuleMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveIncludedModuleMethod t IncludedModule, MethodInfo info IncludedModule p) => IsLabelProxy t (IncludedModule -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveIncludedModuleMethod t IncludedModule, MethodInfo info IncludedModule p) => IsLabel t (IncludedModule -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Item.hs b/GI/Pango/Structs/Item.hs
--- a/GI/Pango/Structs/Item.hs
+++ b/GI/Pango/Structs/Item.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -12,15 +13,18 @@
 
 -- * Exported types
     Item(..)                                ,
+    newZeroItem                             ,
     noItem                                  ,
 
 
  -- * Methods
 -- ** itemCopy
+    ItemCopyMethodInfo                      ,
     itemCopy                                ,
 
 
 -- ** itemFree
+    ItemFreeMethodInfo                      ,
     itemFree                                ,
 
 
@@ -29,6 +33,7 @@
 
 
 -- ** itemSplit
+    ItemSplitMethodInfo                     ,
     itemSplit                               ,
 
 
@@ -72,6 +77,10 @@
 instance BoxedObject Item where
     boxedType _ = c_pango_item_get_type
 
+-- | Construct a `Item` struct initialized to zero.
+newZeroItem :: MonadIO m => m Item
+newZeroItem = liftIO $ callocBoxedBytes 64 >>= wrapBoxed Item
+
 noItem :: Maybe Item
 noItem = Nothing
 
@@ -100,7 +109,6 @@
 -- method type : Constructor
 -- Args : []
 -- Lengths : []
--- hInArgs : []
 -- returnType : TInterface "Pango" "Item"
 -- throws : False
 -- Skip return : False
@@ -111,7 +119,7 @@
 
 itemNew ::
     (MonadIO m) =>
-    m Item
+    m Item                                  -- result
 itemNew  = liftIO $ do
     result <- pango_item_new
     checkUnexpectedReturnNULL "pango_item_new" result
@@ -120,9 +128,8 @@
 
 -- method Item::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Item"
 -- throws : False
 -- Skip return : False
@@ -134,8 +141,8 @@
 
 itemCopy ::
     (MonadIO m) =>
-    Item ->                                 -- _obj
-    m Item
+    Item                                    -- _obj
+    -> m Item                               -- result
 itemCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_item_copy _obj'
@@ -144,11 +151,14 @@
     touchManagedPtr _obj
     return result'
 
+data ItemCopyMethodInfo
+instance (signature ~ (m Item), MonadIO m) => MethodInfo ItemCopyMethodInfo Item signature where
+    overloadedMethod _ = itemCopy
+
 -- method Item::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -160,19 +170,22 @@
 
 itemFree ::
     (MonadIO m) =>
-    Item ->                                 -- _obj
-    m ()
+    Item                                    -- _obj
+    -> m ()                                 -- result
 itemFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_item_free _obj'
     touchManagedPtr _obj
     return ()
 
+data ItemFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo ItemFreeMethodInfo Item signature where
+    overloadedMethod _ = itemFree
+
 -- method Item::split
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "split_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 "Pango" "Item", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "split_offset", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Item"
 -- throws : False
 -- Skip return : False
@@ -186,16 +199,34 @@
 
 itemSplit ::
     (MonadIO m) =>
-    Item ->                                 -- _obj
-    Int32 ->                                -- split_index
-    Int32 ->                                -- split_offset
-    m Item
-itemSplit _obj split_index split_offset = liftIO $ do
+    Item                                    -- _obj
+    -> Int32                                -- splitIndex
+    -> Int32                                -- splitOffset
+    -> m Item                               -- result
+itemSplit _obj splitIndex splitOffset = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    result <- pango_item_split _obj' split_index split_offset
+    result <- pango_item_split _obj' splitIndex splitOffset
     checkUnexpectedReturnNULL "pango_item_split" result
     result' <- (wrapBoxed Item) result
     touchManagedPtr _obj
     return result'
+
+data ItemSplitMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m Item), MonadIO m) => MethodInfo ItemSplitMethodInfo Item signature where
+    overloadedMethod _ = itemSplit
+
+type family ResolveItemMethod (t :: Symbol) (o :: *) :: * where
+    ResolveItemMethod "copy" o = ItemCopyMethodInfo
+    ResolveItemMethod "free" o = ItemFreeMethodInfo
+    ResolveItemMethod "split" o = ItemSplitMethodInfo
+    ResolveItemMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveItemMethod t Item, MethodInfo info Item p) => IsLabelProxy t (Item -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveItemMethod t Item, MethodInfo info Item p) => IsLabel t (Item -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Item.hs-boot b/GI/Pango/Structs/Item.hs-boot
--- a/GI/Pango/Structs/Item.hs-boot
+++ b/GI/Pango/Structs/Item.hs-boot
@@ -9,3 +9,6 @@
 
 newtype Item = Item (ForeignPtr Item)
 instance BoxedObject Item where
+data ItemCopyMethodInfo
+data ItemFreeMethodInfo
+data ItemSplitMethodInfo
diff --git a/GI/Pango/Structs/Language.hs b/GI/Pango/Structs/Language.hs
--- a/GI/Pango/Structs/Language.hs
+++ b/GI/Pango/Structs/Language.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -20,23 +21,36 @@
 
 
  -- * Methods
+-- ** languageFromString
+    languageFromString                      ,
+
+
+-- ** languageGetDefault
+    languageGetDefault                      ,
+
+
 -- ** languageGetSampleString
+    LanguageGetSampleStringMethodInfo       ,
     languageGetSampleString                 ,
 
 
 -- ** languageGetScripts
+    LanguageGetScriptsMethodInfo            ,
     languageGetScripts                      ,
 
 
 -- ** languageIncludesScript
+    LanguageIncludesScriptMethodInfo        ,
     languageIncludesScript                  ,
 
 
 -- ** languageMatches
+    LanguageMatchesMethodInfo               ,
     languageMatches                         ,
 
 
 -- ** languageToString
+    LanguageToStringMethodInfo              ,
     languageToString                        ,
 
 
@@ -66,9 +80,8 @@
 
 -- method Language::get_sample_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -80,8 +93,8 @@
 
 languageGetSampleString ::
     (MonadIO m) =>
-    Language ->                             -- _obj
-    m T.Text
+    Language                                -- _obj
+    -> m T.Text                             -- result
 languageGetSampleString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_language_get_sample_string _obj'
@@ -90,11 +103,14 @@
     touchManagedPtr _obj
     return result'
 
+data LanguageGetSampleStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo LanguageGetSampleStringMethodInfo Language signature where
+    overloadedMethod _ = languageGetSampleString
+
 -- method Language::get_scripts
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "num_scripts", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
 -- returnType : TCArray False (-1) 1 (TInterface "Pango" "Script")
 -- throws : False
 -- Skip return : False
@@ -107,25 +123,28 @@
 
 languageGetScripts ::
     (MonadIO m) =>
-    Language ->                             -- _obj
-    m [Script]
+    Language                                -- _obj
+    -> m [Script]                           -- result
 languageGetScripts _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    num_scripts <- allocMem :: IO (Ptr Int32)
-    result <- pango_language_get_scripts _obj' num_scripts
-    num_scripts' <- peek num_scripts
+    numScripts <- allocMem :: IO (Ptr Int32)
+    result <- pango_language_get_scripts _obj' numScripts
+    numScripts' <- peek numScripts
     checkUnexpectedReturnNULL "pango_language_get_scripts" result
-    result' <- (unpackStorableArrayWithLength num_scripts') result
+    result' <- (unpackStorableArrayWithLength numScripts') result
     let result'' = map (toEnum . fromIntegral) result'
     touchManagedPtr _obj
-    freeMem num_scripts
+    freeMem numScripts
     return result''
 
+data LanguageGetScriptsMethodInfo
+instance (signature ~ (m [Script]), MonadIO m) => MethodInfo LanguageGetScriptsMethodInfo Language signature where
+    overloadedMethod _ = languageGetScripts
+
 -- method Language::includes_script
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -138,9 +157,9 @@
 
 languageIncludesScript ::
     (MonadIO m) =>
-    Language ->                             -- _obj
-    Script ->                               -- script
-    m Bool
+    Language                                -- _obj
+    -> Script                               -- script
+    -> m Bool                               -- result
 languageIncludesScript _obj script = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let script' = (fromIntegral . fromEnum) script
@@ -149,11 +168,14 @@
     touchManagedPtr _obj
     return result'
 
+data LanguageIncludesScriptMethodInfo
+instance (signature ~ (Script -> m Bool), MonadIO m) => MethodInfo LanguageIncludesScriptMethodInfo Language signature where
+    overloadedMethod _ = languageIncludesScript
+
 -- method Language::matches
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "range_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -166,23 +188,26 @@
 
 languageMatches ::
     (MonadIO m) =>
-    Language ->                             -- _obj
-    T.Text ->                               -- range_list
-    m Bool
-languageMatches _obj range_list = liftIO $ do
+    Language                                -- _obj
+    -> T.Text                               -- rangeList
+    -> m Bool                               -- result
+languageMatches _obj rangeList = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    range_list' <- textToCString range_list
-    result <- pango_language_matches _obj' range_list'
+    rangeList' <- textToCString rangeList
+    result <- pango_language_matches _obj' rangeList'
     let result' = (/= 0) result
     touchManagedPtr _obj
-    freeMem range_list'
+    freeMem rangeList'
     return result'
 
+data LanguageMatchesMethodInfo
+instance (signature ~ (T.Text -> m Bool), MonadIO m) => MethodInfo LanguageMatchesMethodInfo Language signature where
+    overloadedMethod _ = languageMatches
+
 -- method Language::to_string
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Language", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TUTF8
 -- throws : False
 -- Skip return : False
@@ -194,8 +219,8 @@
 
 languageToString ::
     (MonadIO m) =>
-    Language ->                             -- _obj
-    m T.Text
+    Language                                -- _obj
+    -> m T.Text                             -- result
 languageToString _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_language_to_string _obj'
@@ -203,5 +228,75 @@
     result' <- cstringToText result
     touchManagedPtr _obj
     return result'
+
+data LanguageToStringMethodInfo
+instance (signature ~ (m T.Text), MonadIO m) => MethodInfo LanguageToStringMethodInfo Language signature where
+    overloadedMethod _ = languageToString
+
+-- method Language::from_string
+-- method type : MemberFunction
+-- Args : [Arg {argCName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
+-- Lengths : []
+-- returnType : TInterface "Pango" "Language"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "pango_language_from_string" pango_language_from_string :: 
+    CString ->                              -- language : TBasicType TUTF8
+    IO (Ptr Language)
+
+
+languageFromString ::
+    (MonadIO m) =>
+    Maybe (T.Text)                          -- language
+    -> m Language                           -- result
+languageFromString language = liftIO $ do
+    maybeLanguage <- case language of
+        Nothing -> return nullPtr
+        Just jLanguage -> do
+            jLanguage' <- textToCString jLanguage
+            return jLanguage'
+    result <- pango_language_from_string maybeLanguage
+    checkUnexpectedReturnNULL "pango_language_from_string" result
+    result' <- (newBoxed Language) result
+    freeMem maybeLanguage
+    return result'
+
+-- method Language::get_default
+-- method type : MemberFunction
+-- Args : []
+-- Lengths : []
+-- returnType : TInterface "Pango" "Language"
+-- throws : False
+-- Skip return : False
+
+foreign import ccall "pango_language_get_default" pango_language_get_default :: 
+    IO (Ptr Language)
+
+
+languageGetDefault ::
+    (MonadIO m) =>
+    m Language                              -- result
+languageGetDefault  = liftIO $ do
+    result <- pango_language_get_default
+    checkUnexpectedReturnNULL "pango_language_get_default" result
+    result' <- (newBoxed Language) result
+    return result'
+
+type family ResolveLanguageMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLanguageMethod "includesScript" o = LanguageIncludesScriptMethodInfo
+    ResolveLanguageMethod "matches" o = LanguageMatchesMethodInfo
+    ResolveLanguageMethod "toString" o = LanguageToStringMethodInfo
+    ResolveLanguageMethod "getSampleString" o = LanguageGetSampleStringMethodInfo
+    ResolveLanguageMethod "getScripts" o = LanguageGetScriptsMethodInfo
+    ResolveLanguageMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLanguageMethod t Language, MethodInfo info Language p) => IsLabelProxy t (Language -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLanguageMethod t Language, MethodInfo info Language p) => IsLabel t (Language -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Language.hs-boot b/GI/Pango/Structs/Language.hs-boot
--- a/GI/Pango/Structs/Language.hs-boot
+++ b/GI/Pango/Structs/Language.hs-boot
@@ -9,3 +9,8 @@
 
 newtype Language = Language (ForeignPtr Language)
 instance BoxedObject Language where
+data LanguageGetSampleStringMethodInfo
+data LanguageGetScriptsMethodInfo
+data LanguageIncludesScriptMethodInfo
+data LanguageMatchesMethodInfo
+data LanguageToStringMethodInfo
diff --git a/GI/Pango/Structs/LayoutIter.hs b/GI/Pango/Structs/LayoutIter.hs
--- a/GI/Pango/Structs/LayoutIter.hs
+++ b/GI/Pango/Structs/LayoutIter.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -21,82 +22,102 @@
 
  -- * Methods
 -- ** layoutIterAtLastLine
+    LayoutIterAtLastLineMethodInfo          ,
     layoutIterAtLastLine                    ,
 
 
 -- ** layoutIterCopy
+    LayoutIterCopyMethodInfo                ,
     layoutIterCopy                          ,
 
 
 -- ** layoutIterFree
+    LayoutIterFreeMethodInfo                ,
     layoutIterFree                          ,
 
 
 -- ** layoutIterGetBaseline
+    LayoutIterGetBaselineMethodInfo         ,
     layoutIterGetBaseline                   ,
 
 
 -- ** layoutIterGetCharExtents
+    LayoutIterGetCharExtentsMethodInfo      ,
     layoutIterGetCharExtents                ,
 
 
 -- ** layoutIterGetClusterExtents
+    LayoutIterGetClusterExtentsMethodInfo   ,
     layoutIterGetClusterExtents             ,
 
 
 -- ** layoutIterGetIndex
+    LayoutIterGetIndexMethodInfo            ,
     layoutIterGetIndex                      ,
 
 
 -- ** layoutIterGetLayout
+    LayoutIterGetLayoutMethodInfo           ,
     layoutIterGetLayout                     ,
 
 
 -- ** layoutIterGetLayoutExtents
+    LayoutIterGetLayoutExtentsMethodInfo    ,
     layoutIterGetLayoutExtents              ,
 
 
 -- ** layoutIterGetLine
+    LayoutIterGetLineMethodInfo             ,
     layoutIterGetLine                       ,
 
 
 -- ** layoutIterGetLineExtents
+    LayoutIterGetLineExtentsMethodInfo      ,
     layoutIterGetLineExtents                ,
 
 
 -- ** layoutIterGetLineReadonly
+    LayoutIterGetLineReadonlyMethodInfo     ,
     layoutIterGetLineReadonly               ,
 
 
 -- ** layoutIterGetLineYrange
+    LayoutIterGetLineYrangeMethodInfo       ,
     layoutIterGetLineYrange                 ,
 
 
 -- ** layoutIterGetRun
+    LayoutIterGetRunMethodInfo              ,
     layoutIterGetRun                        ,
 
 
 -- ** layoutIterGetRunExtents
+    LayoutIterGetRunExtentsMethodInfo       ,
     layoutIterGetRunExtents                 ,
 
 
 -- ** layoutIterGetRunReadonly
+    LayoutIterGetRunReadonlyMethodInfo      ,
     layoutIterGetRunReadonly                ,
 
 
 -- ** layoutIterNextChar
+    LayoutIterNextCharMethodInfo            ,
     layoutIterNextChar                      ,
 
 
 -- ** layoutIterNextCluster
+    LayoutIterNextClusterMethodInfo         ,
     layoutIterNextCluster                   ,
 
 
 -- ** layoutIterNextLine
+    LayoutIterNextLineMethodInfo            ,
     layoutIterNextLine                      ,
 
 
 -- ** layoutIterNextRun
+    LayoutIterNextRunMethodInfo             ,
     layoutIterNextRun                       ,
 
 
@@ -126,9 +147,8 @@
 
 -- method LayoutIter::at_last_line
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -140,8 +160,8 @@
 
 layoutIterAtLastLine ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Bool
+    LayoutIter                              -- _obj
+    -> m Bool                               -- result
 layoutIterAtLastLine _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_at_last_line _obj'
@@ -149,11 +169,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterAtLastLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo LayoutIterAtLastLineMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterAtLastLine
+
 -- method LayoutIter::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutIter"
 -- throws : False
 -- Skip return : False
@@ -165,8 +188,8 @@
 
 layoutIterCopy ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m LayoutIter
+    LayoutIter                              -- _obj
+    -> m LayoutIter                         -- result
 layoutIterCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_copy _obj'
@@ -175,11 +198,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterCopyMethodInfo
+instance (signature ~ (m LayoutIter), MonadIO m) => MethodInfo LayoutIterCopyMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterCopy
+
 -- method LayoutIter::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -191,19 +217,22 @@
 
 layoutIterFree ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m ()
+    LayoutIter                              -- _obj
+    -> m ()                                 -- result
 layoutIterFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_layout_iter_free _obj'
     touchManagedPtr _obj
     return ()
 
+data LayoutIterFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo LayoutIterFreeMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterFree
+
 -- method LayoutIter::get_baseline
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -215,19 +244,22 @@
 
 layoutIterGetBaseline ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Int32
+    LayoutIter                              -- _obj
+    -> m Int32                              -- result
 layoutIterGetBaseline _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_baseline _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutIterGetBaselineMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo LayoutIterGetBaselineMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetBaseline
+
 -- method LayoutIter::get_char_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -240,21 +272,24 @@
 
 layoutIterGetCharExtents ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m (Rectangle)
+    LayoutIter                              -- _obj
+    -> m (Rectangle)                        -- result
 layoutIterGetCharExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_iter_get_char_extents _obj' logical_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_iter_get_char_extents _obj' logicalRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return logical_rect'
+    return logicalRect'
 
+data LayoutIterGetCharExtentsMethodInfo
+instance (signature ~ (m (Rectangle)), MonadIO m) => MethodInfo LayoutIterGetCharExtentsMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetCharExtents
+
 -- method LayoutIter::get_cluster_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -268,23 +303,26 @@
 
 layoutIterGetClusterExtents ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m (Rectangle,Rectangle)
+    LayoutIter                              -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutIterGetClusterExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_iter_get_cluster_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_iter_get_cluster_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutIterGetClusterExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m) => MethodInfo LayoutIterGetClusterExtentsMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetClusterExtents
+
 -- method LayoutIter::get_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -296,19 +334,22 @@
 
 layoutIterGetIndex ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Int32
+    LayoutIter                              -- _obj
+    -> m Int32                              -- result
 layoutIterGetIndex _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_index _obj'
     touchManagedPtr _obj
     return result
 
+data LayoutIterGetIndexMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo LayoutIterGetIndexMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetIndex
+
 -- method LayoutIter::get_layout
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Layout"
 -- throws : False
 -- Skip return : False
@@ -320,8 +361,8 @@
 
 layoutIterGetLayout ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Layout
+    LayoutIter                              -- _obj
+    -> m Layout                             -- result
 layoutIterGetLayout _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_layout _obj'
@@ -330,11 +371,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterGetLayoutMethodInfo
+instance (signature ~ (m Layout), MonadIO m) => MethodInfo LayoutIterGetLayoutMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetLayout
+
 -- method LayoutIter::get_layout_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -348,23 +392,26 @@
 
 layoutIterGetLayoutExtents ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m (Rectangle,Rectangle)
+    LayoutIter                              -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutIterGetLayoutExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_iter_get_layout_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_iter_get_layout_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutIterGetLayoutExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m) => MethodInfo LayoutIterGetLayoutExtentsMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetLayoutExtents
+
 -- method LayoutIter::get_line
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutLine"
 -- throws : False
 -- Skip return : False
@@ -376,8 +423,8 @@
 
 layoutIterGetLine ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m LayoutLine
+    LayoutIter                              -- _obj
+    -> m LayoutLine                         -- result
 layoutIterGetLine _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_line _obj'
@@ -386,11 +433,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterGetLineMethodInfo
+instance (signature ~ (m LayoutLine), MonadIO m) => MethodInfo LayoutIterGetLineMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetLine
+
 -- method LayoutIter::get_line_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -404,23 +454,26 @@
 
 layoutIterGetLineExtents ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m (Rectangle,Rectangle)
+    LayoutIter                              -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutIterGetLineExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_iter_get_line_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_iter_get_line_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutIterGetLineExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m) => MethodInfo LayoutIterGetLineExtentsMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetLineExtents
+
 -- method LayoutIter::get_line_readonly
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutLine"
 -- throws : False
 -- Skip return : False
@@ -432,8 +485,8 @@
 
 layoutIterGetLineReadonly ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m LayoutLine
+    LayoutIter                              -- _obj
+    -> m LayoutLine                         -- result
 layoutIterGetLineReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_line_readonly _obj'
@@ -442,11 +495,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterGetLineReadonlyMethodInfo
+instance (signature ~ (m LayoutLine), MonadIO m) => MethodInfo LayoutIterGetLineReadonlyMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetLineReadonly
+
 -- method LayoutIter::get_line_yrange
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y0_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y1_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y0_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y1_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -460,25 +516,28 @@
 
 layoutIterGetLineYrange ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m (Int32,Int32)
+    LayoutIter                              -- _obj
+    -> m (Int32,Int32)                      -- result
 layoutIterGetLineYrange _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    y0_ <- allocMem :: IO (Ptr Int32)
-    y1_ <- allocMem :: IO (Ptr Int32)
-    pango_layout_iter_get_line_yrange _obj' y0_ y1_
-    y0_' <- peek y0_
-    y1_' <- peek y1_
+    y0 <- allocMem :: IO (Ptr Int32)
+    y1 <- allocMem :: IO (Ptr Int32)
+    pango_layout_iter_get_line_yrange _obj' y0 y1
+    y0' <- peek y0
+    y1' <- peek y1
     touchManagedPtr _obj
-    freeMem y0_
-    freeMem y1_
-    return (y0_', y1_')
+    freeMem y0
+    freeMem y1
+    return (y0', y1')
 
+data LayoutIterGetLineYrangeMethodInfo
+instance (signature ~ (m (Int32,Int32)), MonadIO m) => MethodInfo LayoutIterGetLineYrangeMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetLineYrange
+
 -- method LayoutIter::get_run
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GlyphItem"
 -- throws : False
 -- Skip return : False
@@ -490,8 +549,8 @@
 
 layoutIterGetRun ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m GlyphItem
+    LayoutIter                              -- _obj
+    -> m GlyphItem                          -- result
 layoutIterGetRun _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_run _obj'
@@ -500,11 +559,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterGetRunMethodInfo
+instance (signature ~ (m GlyphItem), MonadIO m) => MethodInfo LayoutIterGetRunMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetRun
+
 -- method LayoutIter::get_run_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -518,23 +580,26 @@
 
 layoutIterGetRunExtents ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m (Rectangle,Rectangle)
+    LayoutIter                              -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutIterGetRunExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_iter_get_run_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_iter_get_run_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutIterGetRunExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m) => MethodInfo LayoutIterGetRunExtentsMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetRunExtents
+
 -- method LayoutIter::get_run_readonly
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "GlyphItem"
 -- throws : False
 -- Skip return : False
@@ -546,8 +611,8 @@
 
 layoutIterGetRunReadonly ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m GlyphItem
+    LayoutIter                              -- _obj
+    -> m GlyphItem                          -- result
 layoutIterGetRunReadonly _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_get_run_readonly _obj'
@@ -556,11 +621,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterGetRunReadonlyMethodInfo
+instance (signature ~ (m GlyphItem), MonadIO m) => MethodInfo LayoutIterGetRunReadonlyMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterGetRunReadonly
+
 -- method LayoutIter::next_char
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -572,8 +640,8 @@
 
 layoutIterNextChar ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Bool
+    LayoutIter                              -- _obj
+    -> m Bool                               -- result
 layoutIterNextChar _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_next_char _obj'
@@ -581,11 +649,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterNextCharMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo LayoutIterNextCharMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterNextChar
+
 -- method LayoutIter::next_cluster
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -597,8 +668,8 @@
 
 layoutIterNextCluster ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Bool
+    LayoutIter                              -- _obj
+    -> m Bool                               -- result
 layoutIterNextCluster _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_next_cluster _obj'
@@ -606,11 +677,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterNextClusterMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo LayoutIterNextClusterMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterNextCluster
+
 -- method LayoutIter::next_line
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -622,8 +696,8 @@
 
 layoutIterNextLine ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Bool
+    LayoutIter                              -- _obj
+    -> m Bool                               -- result
 layoutIterNextLine _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_next_line _obj'
@@ -631,11 +705,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutIterNextLineMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo LayoutIterNextLineMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterNextLine
+
 -- method LayoutIter::next_run
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -647,13 +724,48 @@
 
 layoutIterNextRun ::
     (MonadIO m) =>
-    LayoutIter ->                           -- _obj
-    m Bool
+    LayoutIter                              -- _obj
+    -> m Bool                               -- result
 layoutIterNextRun _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_iter_next_run _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data LayoutIterNextRunMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo LayoutIterNextRunMethodInfo LayoutIter signature where
+    overloadedMethod _ = layoutIterNextRun
+
+type family ResolveLayoutIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLayoutIterMethod "atLastLine" o = LayoutIterAtLastLineMethodInfo
+    ResolveLayoutIterMethod "copy" o = LayoutIterCopyMethodInfo
+    ResolveLayoutIterMethod "free" o = LayoutIterFreeMethodInfo
+    ResolveLayoutIterMethod "nextChar" o = LayoutIterNextCharMethodInfo
+    ResolveLayoutIterMethod "nextCluster" o = LayoutIterNextClusterMethodInfo
+    ResolveLayoutIterMethod "nextLine" o = LayoutIterNextLineMethodInfo
+    ResolveLayoutIterMethod "nextRun" o = LayoutIterNextRunMethodInfo
+    ResolveLayoutIterMethod "getBaseline" o = LayoutIterGetBaselineMethodInfo
+    ResolveLayoutIterMethod "getCharExtents" o = LayoutIterGetCharExtentsMethodInfo
+    ResolveLayoutIterMethod "getClusterExtents" o = LayoutIterGetClusterExtentsMethodInfo
+    ResolveLayoutIterMethod "getIndex" o = LayoutIterGetIndexMethodInfo
+    ResolveLayoutIterMethod "getLayout" o = LayoutIterGetLayoutMethodInfo
+    ResolveLayoutIterMethod "getLayoutExtents" o = LayoutIterGetLayoutExtentsMethodInfo
+    ResolveLayoutIterMethod "getLine" o = LayoutIterGetLineMethodInfo
+    ResolveLayoutIterMethod "getLineExtents" o = LayoutIterGetLineExtentsMethodInfo
+    ResolveLayoutIterMethod "getLineReadonly" o = LayoutIterGetLineReadonlyMethodInfo
+    ResolveLayoutIterMethod "getLineYrange" o = LayoutIterGetLineYrangeMethodInfo
+    ResolveLayoutIterMethod "getRun" o = LayoutIterGetRunMethodInfo
+    ResolveLayoutIterMethod "getRunExtents" o = LayoutIterGetRunExtentsMethodInfo
+    ResolveLayoutIterMethod "getRunReadonly" o = LayoutIterGetRunReadonlyMethodInfo
+    ResolveLayoutIterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLayoutIterMethod t LayoutIter, MethodInfo info LayoutIter p) => IsLabelProxy t (LayoutIter -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLayoutIterMethod t LayoutIter, MethodInfo info LayoutIter p) => IsLabel t (LayoutIter -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/LayoutIter.hs-boot b/GI/Pango/Structs/LayoutIter.hs-boot
--- a/GI/Pango/Structs/LayoutIter.hs-boot
+++ b/GI/Pango/Structs/LayoutIter.hs-boot
@@ -9,3 +9,23 @@
 
 newtype LayoutIter = LayoutIter (ForeignPtr LayoutIter)
 instance BoxedObject LayoutIter where
+data LayoutIterAtLastLineMethodInfo
+data LayoutIterCopyMethodInfo
+data LayoutIterFreeMethodInfo
+data LayoutIterGetBaselineMethodInfo
+data LayoutIterGetCharExtentsMethodInfo
+data LayoutIterGetClusterExtentsMethodInfo
+data LayoutIterGetIndexMethodInfo
+data LayoutIterGetLayoutMethodInfo
+data LayoutIterGetLayoutExtentsMethodInfo
+data LayoutIterGetLineMethodInfo
+data LayoutIterGetLineExtentsMethodInfo
+data LayoutIterGetLineReadonlyMethodInfo
+data LayoutIterGetLineYrangeMethodInfo
+data LayoutIterGetRunMethodInfo
+data LayoutIterGetRunExtentsMethodInfo
+data LayoutIterGetRunReadonlyMethodInfo
+data LayoutIterNextCharMethodInfo
+data LayoutIterNextClusterMethodInfo
+data LayoutIterNextLineMethodInfo
+data LayoutIterNextRunMethodInfo
diff --git a/GI/Pango/Structs/LayoutLine.hs b/GI/Pango/Structs/LayoutLine.hs
--- a/GI/Pango/Structs/LayoutLine.hs
+++ b/GI/Pango/Structs/LayoutLine.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -19,35 +20,43 @@
 
 -- * Exported types
     LayoutLine(..)                          ,
+    newZeroLayoutLine                       ,
     noLayoutLine                            ,
 
 
  -- * Methods
 -- ** layoutLineGetExtents
+    LayoutLineGetExtentsMethodInfo          ,
     layoutLineGetExtents                    ,
 
 
 -- ** layoutLineGetPixelExtents
+    LayoutLineGetPixelExtentsMethodInfo     ,
     layoutLineGetPixelExtents               ,
 
 
 -- ** layoutLineGetXRanges
+    LayoutLineGetXRangesMethodInfo          ,
     layoutLineGetXRanges                    ,
 
 
 -- ** layoutLineIndexToX
+    LayoutLineIndexToXMethodInfo            ,
     layoutLineIndexToX                      ,
 
 
 -- ** layoutLineRef
+    LayoutLineRefMethodInfo                 ,
     layoutLineRef                           ,
 
 
 -- ** layoutLineUnref
+    LayoutLineUnrefMethodInfo               ,
     layoutLineUnref                         ,
 
 
 -- ** layoutLineXToIndex
+    LayoutLineXToIndexMethodInfo            ,
     layoutLineXToIndex                      ,
 
 
@@ -99,6 +108,10 @@
 instance BoxedObject LayoutLine where
     boxedType _ = c_pango_layout_line_get_type
 
+-- | Construct a `LayoutLine` struct initialized to zero.
+newZeroLayoutLine :: MonadIO m => m LayoutLine
+newZeroLayoutLine = liftIO $ callocBoxedBytes 32 >>= wrapBoxed LayoutLine
+
 noLayoutLine :: Maybe LayoutLine
 noLayoutLine = Nothing
 
@@ -136,9 +149,8 @@
 
 -- method LayoutLine::get_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -152,23 +164,26 @@
 
 layoutLineGetExtents ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    m (Rectangle,Rectangle)
+    LayoutLine                              -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutLineGetExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_line_get_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_line_get_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutLineGetExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m) => MethodInfo LayoutLineGetExtentsMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineGetExtents
+
 -- method LayoutLine::get_pixel_extents
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ink_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "logical_rect", argType = TInterface "Pango" "Rectangle", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -182,23 +197,26 @@
 
 layoutLineGetPixelExtents ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    m (Rectangle,Rectangle)
+    LayoutLine                              -- _obj
+    -> m (Rectangle,Rectangle)              -- result
 layoutLineGetPixelExtents _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    ink_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    logical_rect <- callocBytes 16 :: IO (Ptr Rectangle)
-    pango_layout_line_get_pixel_extents _obj' ink_rect logical_rect
-    ink_rect' <- (wrapPtr Rectangle) ink_rect
-    logical_rect' <- (wrapPtr Rectangle) logical_rect
+    inkRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    logicalRect <- callocBytes 16 :: IO (Ptr Rectangle)
+    pango_layout_line_get_pixel_extents _obj' inkRect logicalRect
+    inkRect' <- (wrapPtr Rectangle) inkRect
+    logicalRect' <- (wrapPtr Rectangle) logicalRect
     touchManagedPtr _obj
-    return (ink_rect', logical_rect')
+    return (inkRect', logicalRect')
 
+data LayoutLineGetPixelExtentsMethodInfo
+instance (signature ~ (m (Rectangle,Rectangle)), MonadIO m) => MethodInfo LayoutLineGetPixelExtentsMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineGetPixelExtents
+
 -- method LayoutLine::get_x_ranges
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ranges", argType = TCArray False (-1) 4 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- Lengths : [Arg {argName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ranges", argType = TCArray False (-1) 4 (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
+-- Lengths : [Arg {argCName = "n_ranges", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -214,29 +232,32 @@
 
 layoutLineGetXRanges ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    Int32 ->                                -- start_index
-    Int32 ->                                -- end_index
-    m ([Int32])
-layoutLineGetXRanges _obj start_index end_index = liftIO $ do
+    LayoutLine                              -- _obj
+    -> Int32                                -- startIndex
+    -> Int32                                -- endIndex
+    -> m ([Int32])                          -- result
+layoutLineGetXRanges _obj startIndex endIndex = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     ranges <- allocMem :: IO (Ptr (Ptr Int32))
-    n_ranges <- allocMem :: IO (Ptr Int32)
-    pango_layout_line_get_x_ranges _obj' start_index end_index ranges n_ranges
-    n_ranges' <- peek n_ranges
+    nRanges <- allocMem :: IO (Ptr Int32)
+    pango_layout_line_get_x_ranges _obj' startIndex endIndex ranges nRanges
+    nRanges' <- peek nRanges
     ranges' <- peek ranges
-    ranges'' <- (unpackStorableArrayWithLength n_ranges') ranges'
+    ranges'' <- (unpackStorableArrayWithLength nRanges') ranges'
     freeMem ranges'
     touchManagedPtr _obj
     freeMem ranges
-    freeMem n_ranges
+    freeMem nRanges
     return ranges''
 
+data LayoutLineGetXRangesMethodInfo
+instance (signature ~ (Int32 -> Int32 -> m ([Int32])), MonadIO m) => MethodInfo LayoutLineGetXRangesMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineGetXRanges
+
 -- method LayoutLine::index_to_x
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", 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},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", 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},Arg {argCName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_pos", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", 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},Arg {argName = "trailing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -251,25 +272,28 @@
 
 layoutLineIndexToX ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    Int32 ->                                -- index_
-    Bool ->                                 -- trailing
-    m (Int32)
-layoutLineIndexToX _obj index_ trailing = liftIO $ do
+    LayoutLine                              -- _obj
+    -> Int32                                -- index
+    -> Bool                                 -- trailing
+    -> m (Int32)                            -- result
+layoutLineIndexToX _obj index trailing = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let trailing' = (fromIntegral . fromEnum) trailing
-    x_pos <- allocMem :: IO (Ptr Int32)
-    pango_layout_line_index_to_x _obj' index_ trailing' x_pos
-    x_pos' <- peek x_pos
+    xPos <- allocMem :: IO (Ptr Int32)
+    pango_layout_line_index_to_x _obj' index trailing' xPos
+    xPos' <- peek xPos
     touchManagedPtr _obj
-    freeMem x_pos
-    return x_pos'
+    freeMem xPos
+    return xPos'
 
+data LayoutLineIndexToXMethodInfo
+instance (signature ~ (Int32 -> Bool -> m (Int32)), MonadIO m) => MethodInfo LayoutLineIndexToXMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineIndexToX
+
 -- method LayoutLine::ref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "LayoutLine"
 -- throws : False
 -- Skip return : False
@@ -281,8 +305,8 @@
 
 layoutLineRef ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    m LayoutLine
+    LayoutLine                              -- _obj
+    -> m LayoutLine                         -- result
 layoutLineRef _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_layout_line_ref _obj'
@@ -291,11 +315,14 @@
     touchManagedPtr _obj
     return result'
 
+data LayoutLineRefMethodInfo
+instance (signature ~ (m LayoutLine), MonadIO m) => MethodInfo LayoutLineRefMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineRef
+
 -- method LayoutLine::unref
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -307,19 +334,22 @@
 
 layoutLineUnref ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    m ()
+    LayoutLine                              -- _obj
+    -> m ()                                 -- result
 layoutLineUnref _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_layout_line_unref _obj'
     touchManagedPtr _obj
     return ()
 
+data LayoutLineUnrefMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo LayoutLineUnrefMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineUnref
+
 -- method LayoutLine::x_to_index
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index_", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "trailing", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "LayoutLine", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x_pos", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -334,20 +364,42 @@
 
 layoutLineXToIndex ::
     (MonadIO m) =>
-    LayoutLine ->                           -- _obj
-    Int32 ->                                -- x_pos
-    m (Bool,Int32,Int32)
-layoutLineXToIndex _obj x_pos = liftIO $ do
+    LayoutLine                              -- _obj
+    -> Int32                                -- xPos
+    -> m (Bool,Int32,Int32)                 -- result
+layoutLineXToIndex _obj xPos = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    index_ <- allocMem :: IO (Ptr Int32)
+    index <- allocMem :: IO (Ptr Int32)
     trailing <- allocMem :: IO (Ptr Int32)
-    result <- pango_layout_line_x_to_index _obj' x_pos index_ trailing
+    result <- pango_layout_line_x_to_index _obj' xPos index trailing
     let result' = (/= 0) result
-    index_' <- peek index_
+    index' <- peek index
     trailing' <- peek trailing
     touchManagedPtr _obj
-    freeMem index_
+    freeMem index
     freeMem trailing
-    return (result', index_', trailing')
+    return (result', index', trailing')
+
+data LayoutLineXToIndexMethodInfo
+instance (signature ~ (Int32 -> m (Bool,Int32,Int32)), MonadIO m) => MethodInfo LayoutLineXToIndexMethodInfo LayoutLine signature where
+    overloadedMethod _ = layoutLineXToIndex
+
+type family ResolveLayoutLineMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLayoutLineMethod "indexToX" o = LayoutLineIndexToXMethodInfo
+    ResolveLayoutLineMethod "ref" o = LayoutLineRefMethodInfo
+    ResolveLayoutLineMethod "unref" o = LayoutLineUnrefMethodInfo
+    ResolveLayoutLineMethod "xToIndex" o = LayoutLineXToIndexMethodInfo
+    ResolveLayoutLineMethod "getExtents" o = LayoutLineGetExtentsMethodInfo
+    ResolveLayoutLineMethod "getPixelExtents" o = LayoutLineGetPixelExtentsMethodInfo
+    ResolveLayoutLineMethod "getXRanges" o = LayoutLineGetXRangesMethodInfo
+    ResolveLayoutLineMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLayoutLineMethod t LayoutLine, MethodInfo info LayoutLine p) => IsLabelProxy t (LayoutLine -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLayoutLineMethod t LayoutLine, MethodInfo info LayoutLine p) => IsLabel t (LayoutLine -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/LayoutLine.hs-boot b/GI/Pango/Structs/LayoutLine.hs-boot
--- a/GI/Pango/Structs/LayoutLine.hs-boot
+++ b/GI/Pango/Structs/LayoutLine.hs-boot
@@ -9,3 +9,10 @@
 
 newtype LayoutLine = LayoutLine (ForeignPtr LayoutLine)
 instance BoxedObject LayoutLine where
+data LayoutLineGetExtentsMethodInfo
+data LayoutLineGetPixelExtentsMethodInfo
+data LayoutLineGetXRangesMethodInfo
+data LayoutLineIndexToXMethodInfo
+data LayoutLineRefMethodInfo
+data LayoutLineUnrefMethodInfo
+data LayoutLineXToIndexMethodInfo
diff --git a/GI/Pango/Structs/LogAttr.hs b/GI/Pango/Structs/LogAttr.hs
--- a/GI/Pango/Structs/LogAttr.hs
+++ b/GI/Pango/Structs/LogAttr.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
     LogAttr(..)                             ,
+    newZeroLogAttr                          ,
     noLogAttr                               ,
 
 
@@ -84,6 +86,10 @@
 import GI.Pango.Callbacks
 
 newtype LogAttr = LogAttr (ForeignPtr LogAttr)
+-- | Construct a `LogAttr` struct initialized to zero.
+newZeroLogAttr :: MonadIO m => m LogAttr
+newZeroLogAttr = liftIO $ callocBytes 52 >>= wrapPtr LogAttr
+
 noLogAttr :: Maybe LogAttr
 noLogAttr = Nothing
 
@@ -151,5 +157,16 @@
 logAttrReadIsWordBoundary s = withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 48) :: IO Word32
     return val
+
+type family ResolveLogAttrMethod (t :: Symbol) (o :: *) :: * where
+    ResolveLogAttrMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveLogAttrMethod t LogAttr, MethodInfo info LogAttr p) => IsLabelProxy t (LogAttr -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveLogAttrMethod t LogAttr, MethodInfo info LogAttr p) => IsLabel t (LogAttr -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Map.hs b/GI/Pango/Structs/Map.hs
--- a/GI/Pango/Structs/Map.hs
+++ b/GI/Pango/Structs/Map.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -28,5 +29,16 @@
 newtype Map = Map (ForeignPtr Map)
 noMap :: Maybe Map
 noMap = Nothing
+
+type family ResolveMapMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMapMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMapMethod t Map, MethodInfo info Map p) => IsLabelProxy t (Map -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMapMethod t Map, MethodInfo info Map p) => IsLabel t (Map -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/MapEntry.hs b/GI/Pango/Structs/MapEntry.hs
--- a/GI/Pango/Structs/MapEntry.hs
+++ b/GI/Pango/Structs/MapEntry.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -28,5 +29,16 @@
 newtype MapEntry = MapEntry (ForeignPtr MapEntry)
 noMapEntry :: Maybe MapEntry
 noMapEntry = Nothing
+
+type family ResolveMapEntryMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMapEntryMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMapEntryMethod t MapEntry, MethodInfo info MapEntry p) => IsLabelProxy t (MapEntry -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMapEntryMethod t MapEntry, MethodInfo info MapEntry p) => IsLabel t (MapEntry -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Matrix.hs b/GI/Pango/Structs/Matrix.hs
--- a/GI/Pango/Structs/Matrix.hs
+++ b/GI/Pango/Structs/Matrix.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -19,47 +20,58 @@
 
 -- * Exported types
     Matrix(..)                              ,
+    newZeroMatrix                           ,
     noMatrix                                ,
 
 
  -- * Methods
 -- ** matrixConcat
+    MatrixConcatMethodInfo                  ,
     matrixConcat                            ,
 
 
 -- ** matrixCopy
+    MatrixCopyMethodInfo                    ,
     matrixCopy                              ,
 
 
 -- ** matrixFree
+    MatrixFreeMethodInfo                    ,
     matrixFree                              ,
 
 
 -- ** matrixGetFontScaleFactor
+    MatrixGetFontScaleFactorMethodInfo      ,
     matrixGetFontScaleFactor                ,
 
 
 -- ** matrixGetFontScaleFactors
+    MatrixGetFontScaleFactorsMethodInfo     ,
     matrixGetFontScaleFactors               ,
 
 
 -- ** matrixRotate
+    MatrixRotateMethodInfo                  ,
     matrixRotate                            ,
 
 
 -- ** matrixScale
+    MatrixScaleMethodInfo                   ,
     matrixScale                             ,
 
 
 -- ** matrixTransformDistance
+    MatrixTransformDistanceMethodInfo       ,
     matrixTransformDistance                 ,
 
 
 -- ** matrixTransformPoint
+    MatrixTransformPointMethodInfo          ,
     matrixTransformPoint                    ,
 
 
 -- ** matrixTranslate
+    MatrixTranslateMethodInfo               ,
     matrixTranslate                         ,
 
 
@@ -111,6 +123,10 @@
 instance BoxedObject Matrix where
     boxedType _ = c_pango_matrix_get_type
 
+-- | Construct a `Matrix` struct initialized to zero.
+newZeroMatrix :: MonadIO m => m Matrix
+newZeroMatrix = liftIO $ callocBoxedBytes 48 >>= wrapBoxed Matrix
+
 noMatrix :: Maybe Matrix
 noMatrix = Nothing
 
@@ -152,9 +168,8 @@
 
 -- method Matrix::concat
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_matrix", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -167,22 +182,25 @@
 
 matrixConcat ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    Matrix ->                               -- new_matrix
-    m ()
-matrixConcat _obj new_matrix = liftIO $ do
+    Matrix                                  -- _obj
+    -> Matrix                               -- newMatrix
+    -> m ()                                 -- result
+matrixConcat _obj newMatrix = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let new_matrix' = unsafeManagedPtrGetPtr new_matrix
-    pango_matrix_concat _obj' new_matrix'
+    let newMatrix' = unsafeManagedPtrGetPtr newMatrix
+    pango_matrix_concat _obj' newMatrix'
     touchManagedPtr _obj
-    touchManagedPtr new_matrix
+    touchManagedPtr newMatrix
     return ()
 
+data MatrixConcatMethodInfo
+instance (signature ~ (Matrix -> m ()), MonadIO m) => MethodInfo MatrixConcatMethodInfo Matrix signature where
+    overloadedMethod _ = matrixConcat
+
 -- method Matrix::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "Matrix"
 -- throws : False
 -- Skip return : False
@@ -194,8 +212,8 @@
 
 matrixCopy ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    m Matrix
+    Matrix                                  -- _obj
+    -> m Matrix                             -- result
 matrixCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_matrix_copy _obj'
@@ -204,11 +222,14 @@
     touchManagedPtr _obj
     return result'
 
+data MatrixCopyMethodInfo
+instance (signature ~ (m Matrix), MonadIO m) => MethodInfo MatrixCopyMethodInfo Matrix signature where
+    overloadedMethod _ = matrixCopy
+
 -- method Matrix::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -220,19 +241,22 @@
 
 matrixFree ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    m ()
+    Matrix                                  -- _obj
+    -> m ()                                 -- result
 matrixFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_matrix_free _obj'
     touchManagedPtr _obj
     return ()
 
+data MatrixFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo MatrixFreeMethodInfo Matrix signature where
+    overloadedMethod _ = matrixFree
+
 -- method Matrix::get_font_scale_factor
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TDouble
 -- throws : False
 -- Skip return : False
@@ -244,8 +268,8 @@
 
 matrixGetFontScaleFactor ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    m Double
+    Matrix                                  -- _obj
+    -> m Double                             -- result
 matrixGetFontScaleFactor _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_matrix_get_font_scale_factor _obj'
@@ -253,11 +277,14 @@
     touchManagedPtr _obj
     return result'
 
+data MatrixGetFontScaleFactorMethodInfo
+instance (signature ~ (m Double), MonadIO m) => MethodInfo MatrixGetFontScaleFactorMethodInfo Matrix signature where
+    overloadedMethod _ = matrixGetFontScaleFactor
+
 -- method Matrix::get_font_scale_factors
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "xscale", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "yscale", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xscale", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "yscale", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -271,8 +298,8 @@
 
 matrixGetFontScaleFactors ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    m (Double,Double)
+    Matrix                                  -- _obj
+    -> m (Double,Double)                    -- result
 matrixGetFontScaleFactors _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     xscale <- allocMem :: IO (Ptr CDouble)
@@ -287,11 +314,14 @@
     freeMem yscale
     return (xscale'', yscale'')
 
+data MatrixGetFontScaleFactorsMethodInfo
+instance (signature ~ (m (Double,Double)), MonadIO m) => MethodInfo MatrixGetFontScaleFactorsMethodInfo Matrix signature where
+    overloadedMethod _ = matrixGetFontScaleFactors
+
 -- method Matrix::rotate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "degrees", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "degrees", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "degrees", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -304,9 +334,9 @@
 
 matrixRotate ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    Double ->                               -- degrees
-    m ()
+    Matrix                                  -- _obj
+    -> Double                               -- degrees
+    -> m ()                                 -- result
 matrixRotate _obj degrees = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let degrees' = realToFrac degrees
@@ -314,11 +344,14 @@
     touchManagedPtr _obj
     return ()
 
+data MatrixRotateMethodInfo
+instance (signature ~ (Double -> m ()), MonadIO m) => MethodInfo MatrixRotateMethodInfo Matrix signature where
+    overloadedMethod _ = matrixRotate
+
 -- method Matrix::scale
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scale_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_x", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scale_y", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -332,23 +365,26 @@
 
 matrixScale ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    Double ->                               -- scale_x
-    Double ->                               -- scale_y
-    m ()
-matrixScale _obj scale_x scale_y = liftIO $ do
+    Matrix                                  -- _obj
+    -> Double                               -- scaleX
+    -> Double                               -- scaleY
+    -> m ()                                 -- result
+matrixScale _obj scaleX scaleY = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    let scale_x' = realToFrac scale_x
-    let scale_y' = realToFrac scale_y
-    pango_matrix_scale _obj' scale_x' scale_y'
+    let scaleX' = realToFrac scaleX
+    let scaleY' = realToFrac scaleY
+    pango_matrix_scale _obj' scaleX' scaleY'
     touchManagedPtr _obj
     return ()
 
+data MatrixScaleMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m) => MethodInfo MatrixScaleMethodInfo Matrix signature where
+    overloadedMethod _ = matrixScale
+
 -- method Matrix::transform_distance
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dx", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "dy", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -362,10 +398,10 @@
 
 matrixTransformDistance ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    Double ->                               -- dx
-    Double ->                               -- dy
-    m (Double,Double)
+    Matrix                                  -- _obj
+    -> Double                               -- dx
+    -> Double                               -- dy
+    -> m (Double,Double)                    -- result
 matrixTransformDistance _obj dx dy = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let dx' = realToFrac dx
@@ -384,13 +420,16 @@
     freeMem dy''
     return (dx'''', dy'''')
 
+data MatrixTransformDistanceMethodInfo
+instance (signature ~ (Double -> Double -> m (Double,Double)), MonadIO m) => MethodInfo MatrixTransformDistanceMethodInfo Matrix signature where
+    overloadedMethod _ = matrixTransformDistance
+
 -- XXX Could not generate method Matrix::transform_pixel_rectangle
 -- Error was : Not implemented: "Nullable inout structs not supported"
 -- method Matrix::transform_point
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionInout, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -404,10 +443,10 @@
 
 matrixTransformPoint ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    Double ->                               -- x
-    Double ->                               -- y
-    m (Double,Double)
+    Matrix                                  -- _obj
+    -> Double                               -- x
+    -> Double                               -- y
+    -> m (Double,Double)                    -- result
 matrixTransformPoint _obj x y = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let x' = realToFrac x
@@ -426,13 +465,16 @@
     freeMem y''
     return (x'''', y'''')
 
+data MatrixTransformPointMethodInfo
+instance (signature ~ (Double -> Double -> m (Double,Double)), MonadIO m) => MethodInfo MatrixTransformPointMethodInfo Matrix signature where
+    overloadedMethod _ = matrixTransformPoint
+
 -- XXX Could not generate method Matrix::transform_rectangle
 -- Error was : Not implemented: "Nullable inout structs not supported"
 -- method Matrix::translate
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ty", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ty", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "Matrix", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tx", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ty", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -446,10 +488,10 @@
 
 matrixTranslate ::
     (MonadIO m) =>
-    Matrix ->                               -- _obj
-    Double ->                               -- tx
-    Double ->                               -- ty
-    m ()
+    Matrix                                  -- _obj
+    -> Double                               -- tx
+    -> Double                               -- ty
+    -> m ()                                 -- result
 matrixTranslate _obj tx ty = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let tx' = realToFrac tx
@@ -457,5 +499,30 @@
     pango_matrix_translate _obj' tx' ty'
     touchManagedPtr _obj
     return ()
+
+data MatrixTranslateMethodInfo
+instance (signature ~ (Double -> Double -> m ()), MonadIO m) => MethodInfo MatrixTranslateMethodInfo Matrix signature where
+    overloadedMethod _ = matrixTranslate
+
+type family ResolveMatrixMethod (t :: Symbol) (o :: *) :: * where
+    ResolveMatrixMethod "concat" o = MatrixConcatMethodInfo
+    ResolveMatrixMethod "copy" o = MatrixCopyMethodInfo
+    ResolveMatrixMethod "free" o = MatrixFreeMethodInfo
+    ResolveMatrixMethod "rotate" o = MatrixRotateMethodInfo
+    ResolveMatrixMethod "scale" o = MatrixScaleMethodInfo
+    ResolveMatrixMethod "transformDistance" o = MatrixTransformDistanceMethodInfo
+    ResolveMatrixMethod "transformPoint" o = MatrixTransformPointMethodInfo
+    ResolveMatrixMethod "translate" o = MatrixTranslateMethodInfo
+    ResolveMatrixMethod "getFontScaleFactor" o = MatrixGetFontScaleFactorMethodInfo
+    ResolveMatrixMethod "getFontScaleFactors" o = MatrixGetFontScaleFactorsMethodInfo
+    ResolveMatrixMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveMatrixMethod t Matrix, MethodInfo info Matrix p) => IsLabelProxy t (Matrix -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveMatrixMethod t Matrix, MethodInfo info Matrix p) => IsLabel t (Matrix -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/Matrix.hs-boot b/GI/Pango/Structs/Matrix.hs-boot
--- a/GI/Pango/Structs/Matrix.hs-boot
+++ b/GI/Pango/Structs/Matrix.hs-boot
@@ -9,3 +9,13 @@
 
 newtype Matrix = Matrix (ForeignPtr Matrix)
 instance BoxedObject Matrix where
+data MatrixConcatMethodInfo
+data MatrixCopyMethodInfo
+data MatrixFreeMethodInfo
+data MatrixGetFontScaleFactorMethodInfo
+data MatrixGetFontScaleFactorsMethodInfo
+data MatrixRotateMethodInfo
+data MatrixScaleMethodInfo
+data MatrixTransformDistanceMethodInfo
+data MatrixTransformPointMethodInfo
+data MatrixTranslateMethodInfo
diff --git a/GI/Pango/Structs/Rectangle.hs b/GI/Pango/Structs/Rectangle.hs
--- a/GI/Pango/Structs/Rectangle.hs
+++ b/GI/Pango/Structs/Rectangle.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
     Rectangle(..)                           ,
+    newZeroRectangle                        ,
     noRectangle                             ,
 
 
@@ -49,6 +51,10 @@
 import GI.Pango.Callbacks
 
 newtype Rectangle = Rectangle (ForeignPtr Rectangle)
+-- | Construct a `Rectangle` struct initialized to zero.
+newZeroRectangle :: MonadIO m => m Rectangle
+newZeroRectangle = liftIO $ callocBytes 16 >>= wrapPtr Rectangle
+
 noRectangle :: Maybe Rectangle
 noRectangle = Nothing
 
@@ -71,5 +77,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/Pango/Structs/ScriptForLang.hs b/GI/Pango/Structs/ScriptForLang.hs
--- a/GI/Pango/Structs/ScriptForLang.hs
+++ b/GI/Pango/Structs/ScriptForLang.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -10,6 +11,7 @@
 
 -- * Exported types
     ScriptForLang(..)                       ,
+    newZeroScriptForLang                    ,
     noScriptForLang                         ,
 
 
@@ -26,11 +28,26 @@
 import GI.Pango.Callbacks
 
 newtype ScriptForLang = ScriptForLang (ForeignPtr ScriptForLang)
+-- | Construct a `ScriptForLang` struct initialized to zero.
+newZeroScriptForLang :: MonadIO m => m ScriptForLang
+newZeroScriptForLang = liftIO $ callocBytes 20 >>= wrapPtr ScriptForLang
+
 noScriptForLang :: Maybe ScriptForLang
 noScriptForLang = Nothing
 
 -- XXX Skipped getter for "ScriptForLang:lang" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TInt8)"
 
 -- XXX Skipped getter for "ScriptForLang:scripts" :: Not implemented: "Don't know how to unpack C array of type TCArray False 3 (-1) (TInterface \"Pango\" \"Script\")"
+
+type family ResolveScriptForLangMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScriptForLangMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveScriptForLangMethod t ScriptForLang, MethodInfo info ScriptForLang p) => IsLabelProxy t (ScriptForLang -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveScriptForLangMethod t ScriptForLang, MethodInfo info ScriptForLang p) => IsLabel t (ScriptForLang -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/ScriptIter.hs b/GI/Pango/Structs/ScriptIter.hs
--- a/GI/Pango/Structs/ScriptIter.hs
+++ b/GI/Pango/Structs/ScriptIter.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -18,14 +19,17 @@
 
  -- * Methods
 -- ** scriptIterFree
+    ScriptIterFreeMethodInfo                ,
     scriptIterFree                          ,
 
 
 -- ** scriptIterGetRange
+    ScriptIterGetRangeMethodInfo            ,
     scriptIterGetRange                      ,
 
 
 -- ** scriptIterNext
+    ScriptIterNextMethodInfo                ,
     scriptIterNext                          ,
 
 
@@ -49,9 +53,8 @@
 
 -- method ScriptIter::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -63,19 +66,22 @@
 
 scriptIterFree ::
     (MonadIO m) =>
-    ScriptIter ->                           -- _obj
-    m ()
+    ScriptIter                              -- _obj
+    -> m ()                                 -- result
 scriptIterFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_script_iter_free _obj'
     touchManagedPtr _obj
     return ()
 
+data ScriptIterFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo ScriptIterFreeMethodInfo ScriptIter signature where
+    overloadedMethod _ = scriptIterFree
+
 -- method ScriptIter::get_range
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "start", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "script", argType = TInterface "Pango" "Script", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "script", argType = TInterface "Pango" "Script", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -90,8 +96,8 @@
 
 scriptIterGetRange ::
     (MonadIO m) =>
-    ScriptIter ->                           -- _obj
-    m (T.Text,T.Text,Script)
+    ScriptIter                              -- _obj
+    -> m (T.Text,T.Text,Script)             -- result
 scriptIterGetRange _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     start <- allocMem :: IO (Ptr CString)
@@ -112,11 +118,14 @@
     freeMem script
     return (start'', end'', script'')
 
+data ScriptIterGetRangeMethodInfo
+instance (signature ~ (m (T.Text,T.Text,Script)), MonadIO m) => MethodInfo ScriptIterGetRangeMethodInfo ScriptIter signature where
+    overloadedMethod _ = scriptIterGetRange
+
 -- method ScriptIter::next
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "ScriptIter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -128,13 +137,31 @@
 
 scriptIterNext ::
     (MonadIO m) =>
-    ScriptIter ->                           -- _obj
-    m Bool
+    ScriptIter                              -- _obj
+    -> m Bool                               -- result
 scriptIterNext _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_script_iter_next _obj'
     let result' = (/= 0) result
     touchManagedPtr _obj
     return result'
+
+data ScriptIterNextMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo ScriptIterNextMethodInfo ScriptIter signature where
+    overloadedMethod _ = scriptIterNext
+
+type family ResolveScriptIterMethod (t :: Symbol) (o :: *) :: * where
+    ResolveScriptIterMethod "free" o = ScriptIterFreeMethodInfo
+    ResolveScriptIterMethod "next" o = ScriptIterNextMethodInfo
+    ResolveScriptIterMethod "getRange" o = ScriptIterGetRangeMethodInfo
+    ResolveScriptIterMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveScriptIterMethod t ScriptIter, MethodInfo info ScriptIter p) => IsLabelProxy t (ScriptIter -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveScriptIterMethod t ScriptIter, MethodInfo info ScriptIter p) => IsLabel t (ScriptIter -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/ScriptIter.hs-boot b/GI/Pango/Structs/ScriptIter.hs-boot
--- a/GI/Pango/Structs/ScriptIter.hs-boot
+++ b/GI/Pango/Structs/ScriptIter.hs-boot
@@ -8,3 +8,6 @@
 import qualified Data.Map as Map
 
 newtype ScriptIter = ScriptIter (ForeignPtr ScriptIter)
+data ScriptIterFreeMethodInfo
+data ScriptIterGetRangeMethodInfo
+data ScriptIterNextMethodInfo
diff --git a/GI/Pango/Structs/TabArray.hs b/GI/Pango/Structs/TabArray.hs
--- a/GI/Pango/Structs/TabArray.hs
+++ b/GI/Pango/Structs/TabArray.hs
@@ -1,4 +1,5 @@
 
+
 {- |
 Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
 License    : LGPL-2.1
@@ -18,26 +19,32 @@
 
  -- * Methods
 -- ** tabArrayCopy
+    TabArrayCopyMethodInfo                  ,
     tabArrayCopy                            ,
 
 
 -- ** tabArrayFree
+    TabArrayFreeMethodInfo                  ,
     tabArrayFree                            ,
 
 
 -- ** tabArrayGetPositionsInPixels
+    TabArrayGetPositionsInPixelsMethodInfo  ,
     tabArrayGetPositionsInPixels            ,
 
 
 -- ** tabArrayGetSize
+    TabArrayGetSizeMethodInfo               ,
     tabArrayGetSize                         ,
 
 
 -- ** tabArrayGetTab
+    TabArrayGetTabMethodInfo                ,
     tabArrayGetTab                          ,
 
 
 -- ** tabArrayGetTabs
+    TabArrayGetTabsMethodInfo               ,
     tabArrayGetTabs                         ,
 
 
@@ -46,10 +53,12 @@
 
 
 -- ** tabArrayResize
+    TabArrayResizeMethodInfo                ,
     tabArrayResize                          ,
 
 
 -- ** tabArraySetTab
+    TabArraySetTabMethodInfo                ,
     tabArraySetTab                          ,
 
 
@@ -79,9 +88,8 @@
 
 -- method TabArray::new
 -- method type : Constructor
--- Args : [Arg {argName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "initial_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "positions_in_pixels", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "TabArray"
 -- throws : False
 -- Skip return : False
@@ -94,21 +102,20 @@
 
 tabArrayNew ::
     (MonadIO m) =>
-    Int32 ->                                -- initial_size
-    Bool ->                                 -- positions_in_pixels
-    m TabArray
-tabArrayNew initial_size positions_in_pixels = liftIO $ do
-    let positions_in_pixels' = (fromIntegral . fromEnum) positions_in_pixels
-    result <- pango_tab_array_new initial_size positions_in_pixels'
+    Int32                                   -- initialSize
+    -> Bool                                 -- positionsInPixels
+    -> m TabArray                           -- result
+tabArrayNew initialSize positionsInPixels = liftIO $ do
+    let positionsInPixels' = (fromIntegral . fromEnum) positionsInPixels
+    result <- pango_tab_array_new initialSize positionsInPixels'
     checkUnexpectedReturnNULL "pango_tab_array_new" result
     result' <- (wrapBoxed TabArray) result
     return result'
 
 -- method TabArray::copy
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TInterface "Pango" "TabArray"
 -- throws : False
 -- Skip return : False
@@ -120,8 +127,8 @@
 
 tabArrayCopy ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    m TabArray
+    TabArray                                -- _obj
+    -> m TabArray                           -- result
 tabArrayCopy _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_tab_array_copy _obj'
@@ -130,11 +137,14 @@
     touchManagedPtr _obj
     return result'
 
+data TabArrayCopyMethodInfo
+instance (signature ~ (m TabArray), MonadIO m) => MethodInfo TabArrayCopyMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayCopy
+
 -- method TabArray::free
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -146,19 +156,22 @@
 
 tabArrayFree ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    m ()
+    TabArray                                -- _obj
+    -> m ()                                 -- result
 tabArrayFree _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     pango_tab_array_free _obj'
     touchManagedPtr _obj
     return ()
 
+data TabArrayFreeMethodInfo
+instance (signature ~ (m ()), MonadIO m) => MethodInfo TabArrayFreeMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayFree
+
 -- method TabArray::get_positions_in_pixels
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TBoolean
 -- throws : False
 -- Skip return : False
@@ -170,8 +183,8 @@
 
 tabArrayGetPositionsInPixels ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    m Bool
+    TabArray                                -- _obj
+    -> m Bool                               -- result
 tabArrayGetPositionsInPixels _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_tab_array_get_positions_in_pixels _obj'
@@ -179,11 +192,14 @@
     touchManagedPtr _obj
     return result'
 
+data TabArrayGetPositionsInPixelsMethodInfo
+instance (signature ~ (m Bool), MonadIO m) => MethodInfo TabArrayGetPositionsInPixelsMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayGetPositionsInPixels
+
 -- method TabArray::get_size
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TInt32
 -- throws : False
 -- Skip return : False
@@ -195,19 +211,22 @@
 
 tabArrayGetSize ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    m Int32
+    TabArray                                -- _obj
+    -> m Int32                              -- result
 tabArrayGetSize _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     result <- pango_tab_array_get_size _obj'
     touchManagedPtr _obj
     return result
 
+data TabArrayGetSizeMethodInfo
+instance (signature ~ (m Int32), MonadIO m) => MethodInfo TabArrayGetSizeMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayGetSize
+
 -- method TabArray::get_tab
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "location", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -222,14 +241,14 @@
 
 tabArrayGetTab ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    Int32 ->                                -- tab_index
-    m (TabAlign,Int32)
-tabArrayGetTab _obj tab_index = liftIO $ do
+    TabArray                                -- _obj
+    -> Int32                                -- tabIndex
+    -> m (TabAlign,Int32)                   -- result
+tabArrayGetTab _obj tabIndex = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     alignment <- allocMem :: IO (Ptr CUInt)
     location <- allocMem :: IO (Ptr Int32)
-    pango_tab_array_get_tab _obj' tab_index alignment location
+    pango_tab_array_get_tab _obj' tabIndex alignment location
     alignment' <- peek alignment
     let alignment'' = (toEnum . fromIntegral) alignment'
     location' <- peek location
@@ -238,11 +257,14 @@
     freeMem location
     return (alignment'', location')
 
+data TabArrayGetTabMethodInfo
+instance (signature ~ (Int32 -> m (TabAlign,Int32)), MonadIO m) => MethodInfo TabArrayGetTabMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayGetTab
+
 -- method TabArray::get_tabs
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignments", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "locations", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alignments", argType = TInterface "Pango" "TabAlign", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "locations", argType = TCArray False (-1) (-1) (TBasicType TInt32), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -256,8 +278,8 @@
 
 tabArrayGetTabs ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    m (TabAlign,(Ptr Int32))
+    TabArray                                -- _obj
+    -> m (TabAlign,(Ptr Int32))             -- result
 tabArrayGetTabs _obj = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     alignments <- allocMem :: IO (Ptr CUInt)
@@ -271,11 +293,14 @@
     freeMem locations
     return (alignments'', locations')
 
+data TabArrayGetTabsMethodInfo
+instance (signature ~ (m (TabAlign,(Ptr Int32))), MonadIO m) => MethodInfo TabArrayGetTabsMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayGetTabs
+
 -- method TabArray::resize
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "new_size", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -288,20 +313,23 @@
 
 tabArrayResize ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    Int32 ->                                -- new_size
-    m ()
-tabArrayResize _obj new_size = liftIO $ do
+    TabArray                                -- _obj
+    -> Int32                                -- newSize
+    -> m ()                                 -- result
+tabArrayResize _obj newSize = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
-    pango_tab_array_resize _obj' new_size
+    pango_tab_array_resize _obj' newSize
     touchManagedPtr _obj
     return ()
 
+data TabArrayResizeMethodInfo
+instance (signature ~ (Int32 -> m ()), MonadIO m) => MethodInfo TabArrayResizeMethodInfo TabArray signature where
+    overloadedMethod _ = tabArrayResize
+
 -- method TabArray::set_tab
 -- method type : OrdinaryMethod
--- Args : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
+-- Args : [Arg {argCName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
 -- Lengths : []
--- hInArgs : [Arg {argName = "_obj", argType = TInterface "Pango" "TabArray", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tab_index", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "alignment", argType = TInterface "Pango" "TabAlign", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "location", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
 -- returnType : TBasicType TVoid
 -- throws : False
 -- Skip return : False
@@ -316,16 +344,39 @@
 
 tabArraySetTab ::
     (MonadIO m) =>
-    TabArray ->                             -- _obj
-    Int32 ->                                -- tab_index
-    TabAlign ->                             -- alignment
-    Int32 ->                                -- location
-    m ()
-tabArraySetTab _obj tab_index alignment location = liftIO $ do
+    TabArray                                -- _obj
+    -> Int32                                -- tabIndex
+    -> TabAlign                             -- alignment
+    -> Int32                                -- location
+    -> m ()                                 -- result
+tabArraySetTab _obj tabIndex alignment location = liftIO $ do
     let _obj' = unsafeManagedPtrGetPtr _obj
     let alignment' = (fromIntegral . fromEnum) alignment
-    pango_tab_array_set_tab _obj' tab_index alignment' location
+    pango_tab_array_set_tab _obj' tabIndex alignment' location
     touchManagedPtr _obj
     return ()
+
+data TabArraySetTabMethodInfo
+instance (signature ~ (Int32 -> TabAlign -> Int32 -> m ()), MonadIO m) => MethodInfo TabArraySetTabMethodInfo TabArray signature where
+    overloadedMethod _ = tabArraySetTab
+
+type family ResolveTabArrayMethod (t :: Symbol) (o :: *) :: * where
+    ResolveTabArrayMethod "copy" o = TabArrayCopyMethodInfo
+    ResolveTabArrayMethod "free" o = TabArrayFreeMethodInfo
+    ResolveTabArrayMethod "resize" o = TabArrayResizeMethodInfo
+    ResolveTabArrayMethod "getPositionsInPixels" o = TabArrayGetPositionsInPixelsMethodInfo
+    ResolveTabArrayMethod "getSize" o = TabArrayGetSizeMethodInfo
+    ResolveTabArrayMethod "getTab" o = TabArrayGetTabMethodInfo
+    ResolveTabArrayMethod "getTabs" o = TabArrayGetTabsMethodInfo
+    ResolveTabArrayMethod "setTab" o = TabArraySetTabMethodInfo
+    ResolveTabArrayMethod l o = MethodResolutionFailed l o
+
+instance (info ~ ResolveTabArrayMethod t TabArray, MethodInfo info TabArray p) => IsLabelProxy t (TabArray -> p) where
+    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
+
+#if MIN_VERSION_base(4,9,0)
+instance (info ~ ResolveTabArrayMethod t TabArray, MethodInfo info TabArray p) => IsLabel t (TabArray -> p) where
+    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
+#endif
 
 
diff --git a/GI/Pango/Structs/TabArray.hs-boot b/GI/Pango/Structs/TabArray.hs-boot
--- a/GI/Pango/Structs/TabArray.hs-boot
+++ b/GI/Pango/Structs/TabArray.hs-boot
@@ -9,3 +9,11 @@
 
 newtype TabArray = TabArray (ForeignPtr TabArray)
 instance BoxedObject TabArray where
+data TabArrayCopyMethodInfo
+data TabArrayFreeMethodInfo
+data TabArrayGetPositionsInPixelsMethodInfo
+data TabArrayGetSizeMethodInfo
+data TabArrayGetTabMethodInfo
+data TabArrayGetTabsMethodInfo
+data TabArrayResizeMethodInfo
+data TabArraySetTabMethodInfo
diff --git a/gi-pango.cabal b/gi-pango.cabal
--- a/gi-pango.cabal
+++ b/gi-pango.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-pango
-version:            0.1.38.12
+version:            0.1.38.13
 synopsis:           Pango bindings
 description:        Bindings for Pango, 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.Pango.Types
                         GI.Pango
@@ -79,9 +79,9 @@
                         GI.Pango.Structs.TabArray
     pkgconfig-depends:  pango >= 1.38
     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,
